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