#include "wx/icon.h"
// helper class used by wxMenu-related functions
-class WXDLLEXPORT wxMenuGeometryInfo
+class WXDLLIMPEXP_CORE wxMenuGeometryInfo
{
public:
// get the total size of the menu
// wxRenderer: abstract renderers interface
// ----------------------------------------------------------------------------
-class WXDLLEXPORT wxRenderer : public wxDelegateRendererNative
+class WXDLLIMPEXP_CORE wxRenderer : public wxDelegateRendererNative
{
public:
// drawing functions
const wxRect& rect,
int flags) = 0;
-
- // draw the focus rectangle around the label contained in the given rect
- //
- // only wxCONTROL_SELECTED makes sense in flags here
- virtual void DrawFocusRect(wxDC& dc, const wxRect& rect, int flags = 0) = 0;
-
// draw the label inside the given rectangle with the specified alignment
// and optionally emphasize the character with the given index
virtual void DrawLabel(wxDC& dc,
wxBorder border,
const wxRect& rect,
int flags = 0,
- wxRect *rectIn = (wxRect *)NULL) = 0;
+ wxRect *rectIn = NULL) = 0;
// draw text control border (I hate to have a separate method for this but
// it is needed to accommodate GTK+)
wxBorder border,
const wxRect& rect,
int flags = 0,
- wxRect *rectIn = (wxRect *)NULL) = 0;
+ wxRect *rectIn = NULL) = 0;
// draw push button border and return the rectangle left for the label
virtual void DrawButtonBorder(wxDC& dc,
const wxRect& rect,
int flags = 0,
- wxRect *rectIn = (wxRect *)NULL) = 0;
+ wxRect *rectIn = NULL) = 0;
// draw a horizontal line
virtual void DrawHorizontalLine(wxDC& dc,
wxAlignment align = wxALIGN_LEFT,
int indexAccel = -1) = 0;
+ // draw a radio button sans label or bitmap, for wxRenderer API compat.
+ virtual void DrawRadioButton(wxDC& dc,
+ const wxRect& rect,
+ int flags = 0,
+ wxAlignment align = wxALIGN_LEFT)
+ { DrawRadioButton(dc, wxEmptyString, wxNullBitmap, rect, flags, align); }
+
#if wxUSE_TOOLBAR
// draw a toolbar button (label may be empty, bitmap may be invalid, if
// both conditions are true this function draws a separator)
// will be left to the original renderer
// ----------------------------------------------------------------------------
-class WXDLLEXPORT wxDelegateRenderer : public wxRenderer
+class WXDLLIMPEXP_CORE wxDelegateRenderer : public wxRenderer
{
public:
wxDelegateRenderer(wxRenderer *renderer) : m_renderer(renderer) { }
const wxRect& rect,
int flags)
{ m_renderer->DrawButtonSurface(dc, col, rect, flags); }
- virtual void DrawFocusRect(wxDC& dc, const wxRect& rect, int flags = 0)
- { m_renderer->DrawFocusRect(dc, rect, flags); }
+ virtual void DrawFocusRect(wxWindow* win, wxDC& dc, const wxRect& rect, int flags = 0)
+ { m_renderer->DrawFocusRect(win, dc, rect, flags); }
virtual void DrawLabel(wxDC& dc,
const wxString& label,
const wxRect& rect,
wxBorder border,
const wxRect& rect,
int flags = 0,
- wxRect *rectIn = (wxRect *)NULL)
+ wxRect *rectIn = NULL)
{ m_renderer->DrawBorder(dc, border, rect, flags, rectIn); }
virtual void DrawTextBorder(wxDC& dc,
wxBorder border,
const wxRect& rect,
int flags = 0,
- wxRect *rectIn = (wxRect *)NULL)
+ wxRect *rectIn = NULL)
{ m_renderer->DrawTextBorder(dc, border, rect, flags, rectIn); }
virtual void DrawButtonBorder(wxDC& dc,
const wxRect& rect,
int flags = 0,
- wxRect *rectIn = (wxRect *)NULL)
+ wxRect *rectIn = NULL)
{ m_renderer->DrawButtonBorder(dc, rect, flags, rectIn); }
virtual void DrawFrame(wxDC& dc,
const wxString& label,
// OnPaint()
// ----------------------------------------------------------------------------
-class WXDLLEXPORT wxControlRenderer
+class WXDLLIMPEXP_CORE wxControlRenderer
{
public:
// create a renderer for this dc with this "fundamental" renderer