X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8907154c1a8a6882c6797d1f16393ddfb23e7f3a..c6ea1fdaf924be4ee49a19d12f76e4fcd257bb0a:/include/wx/generic/caret.h diff --git a/include/wx/generic/caret.h b/include/wx/generic/caret.h index 644917c28a..36380b6ea5 100644 --- a/include/wx/generic/caret.h +++ b/include/wx/generic/caret.h @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: generic/caret.h +// Name: wx/generic/caret.h // Purpose: generic wxCaret class // Author: Vadim Zeitlin (original code by Robert Roebling) // Modified by: @@ -13,10 +13,16 @@ #define _WX_CARET_H_ #include "wx/timer.h" +#include "wx/dc.h" +#include "wx/overlay.h" -class WXDLLIMPEXP_CORE wxCaret; +#ifdef wxHAS_NATIVE_OVERLAY + #define wxHAS_CARET_USING_OVERLAYS +#endif -class WXDLLEXPORT wxCaretTimer : public wxTimer +class WXDLLIMPEXP_FWD_CORE wxCaret; + +class WXDLLIMPEXP_CORE wxCaretTimer : public wxTimer { public: wxCaretTimer(wxCaret *caret); @@ -64,17 +70,22 @@ protected: void Refresh(); // draw the caret on the given DC - void DoDraw(wxDC *dc); + void DoDraw(wxDC *dc, wxWindow* win); private: // GTK specific initialization void InitGeneric(); +#ifdef wxHAS_CARET_USING_OVERLAYS + // 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