X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f4b8bf2fd1fab57c46063f5955fe24ba3ed2c23e..e60022505d0e7606c114ee88b0c0f88d605cd6ad:/include/wx/generic/caret.h?ds=sidebyside diff --git a/include/wx/generic/caret.h b/include/wx/generic/caret.h index 173e80a37b..78ca72141e 100644 --- a/include/wx/generic/caret.h +++ b/include/wx/generic/caret.h @@ -5,22 +5,18 @@ // Modified by: // Created: 25.05.99 // RCS-ID: $Id$ -// Copyright: (c) wxWindows team +// Copyright: (c) wxWidgets team // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// #ifndef _WX_CARET_H_ #define _WX_CARET_H_ -#ifdef __GNUG__ -#pragma interface "caret.h" -#endif - #include "wx/timer.h" -class wxCaret; +class WXDLLIMPEXP_CORE wxCaret; -class wxCaretTimer : public wxTimer +class WXDLLEXPORT wxCaretTimer : public wxTimer { public: wxCaretTimer(wxCaret *caret); @@ -30,7 +26,19 @@ private: wxCaret *m_caret; }; -class wxCaret : public wxCaretBase +#ifndef wxUSE_OVERLAY + #if defined(wxMAC_USE_CORE_GRAPHICS) && wxMAC_USE_CORE_GRAPHICS + #define wxUSE_OVERLAY 1 + #else + #define wxUSE_OVERLAY 0 + #endif +#endif + +#if wxUSE_OVERLAY + #include "wx/dc.h" +#endif + +class WXDLLIMPEXP_CORE wxCaret : public wxCaretBase { public: // ctors @@ -59,6 +67,7 @@ protected: virtual void DoShow(); virtual void DoHide(); virtual void DoMove(); + virtual void DoSize(); // blink the caret once void Blink(); @@ -68,20 +77,25 @@ protected: // draw the caret on the given DC void DoDraw(wxDC *dc); - + private: // GTK specific initialization void InitGeneric(); +#if wxUSE_OVERLAY + // the overlay for displaying the caret + wxOverlay m_overlay; +#else // 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; +#endif wxCaretTimer m_timer; - bool m_blinkedOut, // TRUE => caret hidden right now - m_hasFocus; // TRUE => our window has focus + bool m_blinkedOut, // true => caret hidden right now + m_hasFocus; // true => our window has focus }; #endif // _WX_CARET_H_