X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e46286351dbfa7ae98e8341e4fc328b134601e87..7d59475e80c3ed8b9bb002fd402d6a7cc7dc090a:/include/wx/generic/caret.h?ds=sidebyside diff --git a/include/wx/generic/caret.h b/include/wx/generic/caret.h index ffb95c3422..21effecb58 100644 --- a/include/wx/generic/caret.h +++ b/include/wx/generic/caret.h @@ -12,7 +12,7 @@ #ifndef _WX_CARET_H_ #define _WX_CARET_H_ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "caret.h" #endif @@ -20,7 +20,7 @@ class wxCaret; -class wxCaretTimer : public wxTimer +class WXDLLEXPORT wxCaretTimer : public wxTimer { public: wxCaretTimer(wxCaret *caret); @@ -48,14 +48,24 @@ public: // implementation // -------------- - // blink the caret once - void Blink(); + // called by wxWindow (not using the event tables) + virtual void OnSetFocus(); + virtual void OnKillFocus(); + + // called by wxCaretTimer + void OnTimer(); protected: virtual void DoShow(); virtual void DoHide(); virtual void DoMove(); + // blink the caret once + void Blink(); + + // refresh the caret + void Refresh(); + // draw the caret on the given DC void DoDraw(wxDC *dc); @@ -63,8 +73,15 @@ private: // GTK specific initialization void InitGeneric(); + // the bitmap holding the part of window hidden by the caret when it was + // at (m_xOld, m_yOld) + wxBitmap m_bmpUnderCaret; + int m_xOld, + m_yOld; + wxCaretTimer m_timer; - bool m_blinkedOut; // TRUE => caret hidden right now + bool m_blinkedOut, // TRUE => caret hidden right now + m_hasFocus; // TRUE => our window has focus }; #endif // _WX_CARET_H_