]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/caret.h
split wxGrid implementation in grideditors.cpp (for wxGridCellEditor-derived classes...
[wxWidgets.git] / include / wx / generic / caret.h
index 644917c28ae0dccbd0d62c4c5a4f73ec4fcfa07d..83fd6e1aae7c77d041a6e7a02e5fc5c5ea6a511d 100644 (file)
 #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