1 ///////////////////////////////////////////////////////////////////////////////
3 // Purpose: Example of a renderer implemented in a DLL
4 // Author: Vadim Zeitlin
8 // Copyright: (c) 2003 Vadim Zeitlin <vadim@wxwidgets.org>
9 // Licence: wxWindows licence
10 ///////////////////////////////////////////////////////////////////////////////
12 #include "wx/wxprec.h"
18 #include "wx/renderer.h"
24 // derive from wxDelegateRendererNative and not wxRendererNative itself to be
25 // able to only reimplement the methods we want to show and not all of them
26 class MyDllRenderer
: public wxDelegateRendererNative
29 // draw the header control button (used by wxListCtrl)
30 virtual void DrawHeaderButton(wxWindow
* WXUNUSED(win
),
33 int WXUNUSED(flags
) = 0,
34 wxHeaderSortIconType
WXUNUSED(sortArrow
) = wxHDR_SORT_ICON_NONE
,
35 wxHeaderButtonParams
* WXUNUSED(params
) = NULL
)
37 dc
.SetBrush(*wxCYAN_BRUSH
);
38 dc
.SetTextForeground(*wxRED
);
39 dc
.DrawRoundedRectangle(rect
, 10);
40 dc
.DrawLabel(_T("MyDllRenderer"), wxNullBitmap
, rect
, wxALIGN_CENTER
);
43 virtual wxRendererVersion
GetVersion() const
45 return wxRendererVersion(wxRendererVersion::Current_Version
,
46 wxRendererVersion::Current_Age
);
49 #if 0 // just for debugging
52 wxMessageBox(_T("Creating MyDllRenderer"), _T("Renderer Sample"));
55 virtual ~MyDllRenderer()
57 wxMessageBox(_T("Deleting MyDllRenderer"), _T("Renderer Sample"));
63 WXEXPORT wxRendererNative
*wxCreateRenderer()
65 return new MyDllRenderer
;