xref: /reactos/sdk/lib/cicero/ciccaret.h (revision de5c4720)
1 /*
2  * PROJECT:     ReactOS Cicero
3  * LICENSE:     LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
4  * PURPOSE:     Displaying Cicero caret
5  * COPYRIGHT:   Copyright 2023 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
6  */
7 
8 #pragma once
9 
10 class CicCaret
11 {
12 protected:
13     HWND m_hWnd;
14     UINT m_uCaretBlinkTimerID;
15     POINT m_pt;
16     SIZE m_size;
17     BOOL m_bCaretBlinking;
18     BOOL m_bCaretVisible;
19 
20 public:
21     enum { TIMER_ID = 0x4F83AF91 };
22     CicCaret();
23     virtual ~CicCaret();
24     operator HWND() const { return m_hWnd; }
25 
26     void CreateCaret(HWND hWnd, SIZE size);
27     void DestroyCaret();
28     void HideCaret();
29     void InvertCaret();
30     void OnTimer();
31     void SetCaretPos(POINT pt);
32     void SetBlinking(BOOL bBlinking);
33 };
34