]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/renderer.h
Applied patch [ 1845819 ] wxMSW Top level window freeze fix for trunk
[wxWidgets.git] / include / wx / renderer.h
index 448539d79caab4a7facceaf7d61b8d4498586a5a..2097782e73b64d787780bd161abddbbc15ad9da8 100644 (file)
@@ -25,8 +25,8 @@
 #ifndef _WX_RENDERER_H_
 #define _WX_RENDERER_H_
 
 #ifndef _WX_RENDERER_H_
 #define _WX_RENDERER_H_
 
-class WXDLLEXPORT wxDC;
-class WXDLLEXPORT wxWindow;
+class WXDLLIMPEXP_FWD_CORE wxDC;
+class WXDLLIMPEXP_FWD_CORE wxWindow;
 
 #include "wx/gdicmn.h" // for wxPoint
 #include "wx/colour.h"
 
 #include "wx/gdicmn.h" // for wxPoint
 #include "wx/colour.h"
@@ -56,18 +56,14 @@ enum
     wxCONTROL_ISSUBMENU  = wxCONTROL_SPECIAL, // only for the menu items
     wxCONTROL_EXPANDED   = wxCONTROL_SPECIAL, // only for the tree items
     wxCONTROL_SIZEGRIP   = wxCONTROL_SPECIAL, // only for the status bar panes
     wxCONTROL_ISSUBMENU  = wxCONTROL_SPECIAL, // only for the menu items
     wxCONTROL_EXPANDED   = wxCONTROL_SPECIAL, // only for the tree items
     wxCONTROL_SIZEGRIP   = wxCONTROL_SPECIAL, // only for the status bar panes
+    wxCONTROL_FLAT       = wxCONTROL_SPECIAL, // checkboxes only: flat border
     wxCONTROL_CURRENT    = 0x00000010,  // mouse is currently over the control
     wxCONTROL_SELECTED   = 0x00000020,  // selected item in e.g. listbox
     wxCONTROL_CHECKED    = 0x00000040,  // (check/radio button) is checked
     wxCONTROL_CHECKABLE  = 0x00000080,  // (menu) item can be checked
     wxCONTROL_UNDETERMINED = wxCONTROL_CHECKABLE, // (check) undetermined state
 
     wxCONTROL_CURRENT    = 0x00000010,  // mouse is currently over the control
     wxCONTROL_SELECTED   = 0x00000020,  // selected item in e.g. listbox
     wxCONTROL_CHECKED    = 0x00000040,  // (check/radio button) is checked
     wxCONTROL_CHECKABLE  = 0x00000080,  // (menu) item can be checked
     wxCONTROL_UNDETERMINED = wxCONTROL_CHECKABLE, // (check) undetermined state
 
-    wxCONTROL_SIZE_NORMAL = 0x00000100,
-    wxCONTROL_SIZE_LARGE  = 0x00000200,
-    wxCONTROL_SIZE_SMALL  = 0x00000400,
-    wxCONTROL_SIZE_MINI   = 0x00000800,
-
-    wxCONTROL_FLAGS_MASK = 0x00000fff,
+    wxCONTROL_FLAGS_MASK = 0x000000ff,
 
     // this is a pseudo flag not used directly by wxRenderer but rather by some
     // controls internally
 
     // this is a pseudo flag not used directly by wxRenderer but rather by some
     // controls internally
@@ -251,6 +247,11 @@ public:
                                        const wxRect& rect,
                                        int flags = 0) = 0;
 
                                        const wxRect& rect,
                                        int flags = 0) = 0;
 
+    // draw the focus rectangle around the label contained in the given rect
+    //
+    // only wxCONTROL_SELECTED makes sense in flags here
+    virtual void DrawFocusRect(wxWindow* win, wxDC& dc, const wxRect& rect, int flags = 0) = 0;
+
     // geometry functions
     // ------------------
 
     // geometry functions
     // ------------------
 
@@ -384,6 +385,9 @@ public:
                                        int flags = 0 )
         { m_rendererNative.DrawItemSelectionRect( win, dc, rect, flags ); }
 
                                        int flags = 0 )
         { m_rendererNative.DrawItemSelectionRect( win, dc, rect, flags ); }
 
+    virtual void DrawFocusRect(wxWindow* win, wxDC& dc, const wxRect& rect, int flags = 0)
+        { m_rendererNative.DrawFocusRect( win, dc, rect, flags ); }
+
     virtual wxSplitterRenderParams GetSplitterParams(const wxWindow *win)
         { return m_rendererNative.GetSplitterParams(win); }
 
     virtual wxSplitterRenderParams GetSplitterParams(const wxWindow *win)
         { return m_rendererNative.GetSplitterParams(win); }