#include "wx/dc.h"
#endif
-class MyDllRenderer : public wxRendererNative
+// derive from wxDelegateRendererNative and not wxRendererNative itself to be
+// able to only reimplement the methods we want to show and not all of them
+class MyDllRenderer : public wxDelegateRendererNative
{
public:
// draw the header control button (used by wxListCtrl)
- virtual void DrawHeaderButton(wxWindow *win,
- wxDC& dc,
- const wxRect& rect,
- int flags = 0)
+ virtual int DrawHeaderButton(wxWindow * WXUNUSED(win),
+ wxDC& dc,
+ const wxRect& rect,
+ int WXUNUSED(flags) = 0,
+ wxHeaderSortIconType WXUNUSED(sortArrow) = wxHDR_SORT_ICON_NONE,
+ wxHeaderButtonParams* WXUNUSED(params) = NULL)
{
dc.SetBrush(*wxCYAN_BRUSH);
dc.SetTextForeground(*wxRED);
dc.DrawRoundedRectangle(rect, 10);
- dc.DrawLabel(_T("MyDllRenderer"), wxNullBitmap, rect, wxALIGN_CENTER);
- }
-
- // draw the expanded/collapsed icon for a tree control item
- virtual void DrawTreeItemButton(wxWindow *win,
- wxDC& dc,
- const wxRect& rect,
- int flags = 0)
- {
- }
-
- // draw the border for sash window: this border must be such that the sash
- // drawn by DrawSash() blends into it well
- virtual void DrawSplitterBorder(wxWindow *win,
- wxDC& dc,
- const wxRect& rect,
- int flags = 0)
- {
- }
-
- // draw a (vertical) sash
- virtual void DrawSplitterSash(wxWindow *win,
- wxDC& dc,
- const wxSize& size,
- wxCoord position,
- wxOrientation orient,
- int flags = 0)
- {
- }
+ dc.DrawLabel("MyDllRenderer", wxNullBitmap, rect, wxALIGN_CENTER);
- // get the splitter parameters: the x field of the returned point is the
- // sash width and the y field is the border width
- virtual wxSplitterRenderParams GetSplitterParams(const wxWindow *win)
- {
- return wxSplitterRenderParams(0, 0, 0);
+ return dc.GetTextExtent("MyDllRenderer").x;
}
virtual wxRendererVersion GetVersion() const
#if 0 // just for debugging
MyDllRenderer()
{
- wxMessageBox(_T("Creating MyDllRenderer"), _T("Renderer Sample"));
+ wxMessageBox(wxT("Creating MyDllRenderer"), wxT("Renderer Sample"));
}
virtual ~MyDllRenderer()
{
- wxMessageBox(_T("Deleting MyDllRenderer"), _T("Renderer Sample"));
+ wxMessageBox(wxT("Deleting MyDllRenderer"), wxT("Renderer Sample"));
}
#endif // 0
};
{
return new MyDllRenderer;
}
-