///////////////////////////////////////////////////////////////////////////////
-// Name: caret.h
+// Name: wx/caret.h
// Purpose: wxCaretBase class - the interface of wxCaret
// Author: Vadim Zeitlin
// Modified by:
#if wxUSE_CARET
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma interface "caret.h"
-#endif
-
// ---------------------------------------------------------------------------
// forward declarations
// ---------------------------------------------------------------------------
-class WXDLLEXPORT wxWindow;
-class WXDLLEXPORT wxWindowBase;
+class WXDLLIMPEXP_FWD_CORE wxWindow;
+class WXDLLIMPEXP_FWD_CORE wxWindowBase;
// ----------------------------------------------------------------------------
// headers we have to include
// appear. It can be either a solid block or a custom bitmap (TODO)
// ----------------------------------------------------------------------------
-class WXDLLEXPORT wxCaretBase
+class WXDLLIMPEXP_CORE wxCaretBase
{
public:
// ctors
(void)Create(window, size);
}
+ // a virtual dtor has been provided since this class has virtual members
+ virtual ~wxCaretBase() { }
+
// Create() functions - same as ctor but returns the success code
// --------------------------------------------------------------
// avoid overdrawing the caret
// ----------------------------------------------------------------------------
-class WXDLLEXPORT wxCaretSuspend
+#ifdef wxHAS_CARET_USING_OVERLAYS
+
+// we don't need to hide the caret if it's rendered using overlays
+class WXDLLIMPEXP_CORE wxCaretSuspend
+{
+public:
+ wxCaretSuspend(wxWindow *WXUNUSED(win)) {}
+
+ DECLARE_NO_COPY_CLASS(wxCaretSuspend)
+};
+
+#else // !wxHAS_CARET_USING_OVERLAYS
+
+class WXDLLIMPEXP_CORE wxCaretSuspend
{
public:
wxCaretSuspend(wxWindow *win)
DECLARE_NO_COPY_CLASS(wxCaretSuspend)
};
+#endif // wxHAS_CARET_USING_OVERLAYS/!wxHAS_CARET_USING_OVERLAYS
+
#endif // wxUSE_CARET
#endif // _WX_CARET_H_BASE_
-