#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,
// 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,
int flags) const
{ return m_renderer->HitTestFrame(rect, pt, flags); }
- virtual void DrawHeaderButton(wxWindow *win,
+ virtual int DrawHeaderButton(wxWindow *win,
wxDC& dc,
const wxRect& rect,
int flags = 0,
wxHeaderSortIconType sortIcon = wxHDR_SORT_ICON_NONE,
wxHeaderButtonParams* params = NULL)
- { m_renderer->DrawHeaderButton(win, dc, rect, flags, sortIcon, params); }
+ { return m_renderer->DrawHeaderButton(win, dc, rect, flags, sortIcon, params); }
virtual void DrawTreeItemButton(wxWindow *win,
wxDC& dc,
const wxRect& rect,
// OnPaint()
// ----------------------------------------------------------------------------
-class WXDLLEXPORT wxControlRenderer
+class WXDLLIMPEXP_CORE wxControlRenderer
{
public:
// create a renderer for this dc with this "fundamental" renderer