X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e28c2d151b92823e2375d264a66ee4ed61ffd2e9..50ccc908dc4e6376de91edd7f74018898fd690b1:/include/wx/caret.h diff --git a/include/wx/caret.h b/include/wx/caret.h index f8e547bc38..c3d3ebd2bd 100644 --- a/include/wx/caret.h +++ b/include/wx/caret.h @@ -1,11 +1,11 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: caret.h +// Name: wx/caret.h // Purpose: wxCaretBase class - the interface of wxCaret // Author: Vadim Zeitlin // Modified by: // Created: 23.05.99 // RCS-ID: $Id$ -// Copyright: (c) wxWindows team +// Copyright: (c) wxWidgets team // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -16,16 +16,12 @@ #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 @@ -61,6 +57,9 @@ public: (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 // -------------------------------------------------------------- @@ -118,7 +117,7 @@ public: // show/hide the caret (should be called by wxWindow when needed): // Show() must be called as many times as Hide() + 1 to make the caret // visible - virtual void Show(bool show = TRUE) + virtual void Show(bool show = true) { if ( show ) { @@ -131,7 +130,7 @@ public: DoHide(); } } - virtual void Hide() { Show(FALSE); } + virtual void Hide() { Show(false); } // blink time is measured in milliseconds and is the time elapsed // between 2 inversions of the caret (blink time of the caret is common @@ -156,7 +155,7 @@ protected: m_width = width; m_height = height; - return TRUE; + return true; } // pure virtuals to implement in the derived class @@ -206,17 +205,30 @@ private: // avoid overdrawing the caret // ---------------------------------------------------------------------------- +#ifdef wxHAS_CARET_USING_OVERLAYS + +// we don't need to hide the caret if it's rendered using overlays +class WXDLLEXPORT wxCaretSuspend +{ +public: + wxCaretSuspend(wxWindow *WXUNUSED(win)) {} + + DECLARE_NO_COPY_CLASS(wxCaretSuspend) +}; + +#else // !wxHAS_CARET_USING_OVERLAYS + class WXDLLEXPORT wxCaretSuspend { public: wxCaretSuspend(wxWindow *win) { m_caret = win->GetCaret(); - m_show = FALSE; + m_show = false; if ( m_caret && m_caret->IsVisible() ) { m_caret->Hide(); - m_show = TRUE; + m_show = true; } } @@ -233,7 +245,8 @@ private: DECLARE_NO_COPY_CLASS(wxCaretSuspend) }; +#endif // wxHAS_CARET_USING_OVERLAYS/!wxHAS_CARET_USING_OVERLAYS + #endif // wxUSE_CARET #endif // _WX_CARET_H_BASE_ -