]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/caret.h
Applied part of [ 1575767 ] Init/size/check fixes for sockets
[wxWidgets.git] / include / wx / generic / caret.h
index d840b7d8c86770a7c5ca6e8b3cd5d68242f59875..78ca72141ea88a900313af0f3ca1a9046acb3864 100644 (file)
 #ifndef _WX_CARET_H_
 #define _WX_CARET_H_
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma interface "caret.h"
-#endif
-
 #include "wx/timer.h"
 
-class wxCaret;
+class WXDLLIMPEXP_CORE wxCaret;
 
 class WXDLLEXPORT wxCaretTimer : public wxTimer
 {
@@ -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();
@@ -73,11 +82,16 @@ 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