#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"
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_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
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
// ------------------
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); }