#include "wx/renderer.h"
-class WXDLLEXPORT wxWindow;
-class WXDLLEXPORT wxDC;
-class WXDLLEXPORT wxCheckListBox;
+class WXDLLIMPEXP_FWD_CORE wxWindow;
+class WXDLLIMPEXP_FWD_CORE wxDC;
+class WXDLLIMPEXP_FWD_CORE wxCheckListBox;
#if wxUSE_LISTBOX
- class WXDLLEXPORT wxListBox;
+ class WXDLLIMPEXP_FWD_CORE wxListBox;
#endif // wxUSE_LISTBOX
#if wxUSE_MENUS
- class WXDLLEXPORT wxMenu;
- class WXDLLEXPORT wxMenuGeometryInfo;
+ class WXDLLIMPEXP_FWD_CORE wxMenu;
+ class WXDLLIMPEXP_FWD_CORE wxMenuGeometryInfo;
#endif // wxUSE_MENUS
-class WXDLLEXPORT wxScrollBar;
+class WXDLLIMPEXP_FWD_CORE wxScrollBar;
#if wxUSE_TEXTCTRL
- class WXDLLEXPORT wxTextCtrl;
+ class WXDLLIMPEXP_FWD_CORE wxTextCtrl;
#endif
#if wxUSE_GAUGE
- class WXDLLEXPORT wxGauge;
+ class WXDLLIMPEXP_FWD_CORE wxGauge;
#endif // wxUSE_GAUGE
#include "wx/string.h"
#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,
// 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
wxControlRenderer(wxWindow *control, wxDC& dc, wxRenderer *renderer);
// operations
- void DrawLabel(const wxBitmap& bitmap = wxNullBitmap,
- wxCoord marginX = 0, wxCoord marginY = 0);
+ void DrawLabel();
+ void DrawButtonLabel(const wxBitmap& bitmap = wxNullBitmap,
+ wxCoord marginX = 0, wxCoord marginY = 0);
#if wxUSE_LISTBOX
void DrawItems(const wxListBox *listbox,
size_t itemFirst, size_t itemLast);