make the sample work again by correcting DrawHeaderButton() signature
[wxWidgets.git] / samples / render / renddll.cpp
1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: renddll.cpp
3 // Purpose: Example of a renderer implemented in a DLL
4 // Author: Vadim Zeitlin
5 // Modified by:
6 // Created: 04.08.03
7 // RCS-ID: $Id$
8 // Copyright: (c) 2003 Vadim Zeitlin <vadim@wxwidgets.org>
9 // Licence: wxWindows licence
10 ///////////////////////////////////////////////////////////////////////////////
11
12 #include "wx/wxprec.h"
13
14 #ifdef __BORLANDC__
15 #pragma hdrstop
16 #endif
17
18 #include "wx/renderer.h"
19
20 #ifndef WX_PRECOMP
21 #include "wx/dc.h"
22 #endif
23
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
27 {
28 public:
29 // draw the header control button (used by wxListCtrl)
30 virtual void DrawHeaderButton(wxWindow * WXUNUSED(win),
31 wxDC& dc,
32 const wxRect& rect,
33 int WXUNUSED(flags) = 0,
34 wxHeaderSortIconType WXUNUSED(sortArrow) = wxHDR_SORT_ICON_NONE,
35 wxHeaderButtonParams* WXUNUSED(params) = NULL)
36 {
37 dc.SetBrush(*wxCYAN_BRUSH);
38 dc.SetTextForeground(*wxRED);
39 dc.DrawRoundedRectangle(rect, 10);
40 dc.DrawLabel(_T("MyDllRenderer"), wxNullBitmap, rect, wxALIGN_CENTER);
41 }
42
43 virtual wxRendererVersion GetVersion() const
44 {
45 return wxRendererVersion(wxRendererVersion::Current_Version,
46 wxRendererVersion::Current_Age);
47 }
48
49 #if 0 // just for debugging
50 MyDllRenderer()
51 {
52 wxMessageBox(_T("Creating MyDllRenderer"), _T("Renderer Sample"));
53 }
54
55 virtual ~MyDllRenderer()
56 {
57 wxMessageBox(_T("Deleting MyDllRenderer"), _T("Renderer Sample"));
58 }
59 #endif // 0
60 };
61
62 extern "C"
63 WXEXPORT wxRendererNative *wxCreateRenderer()
64 {
65 return new MyDllRenderer;
66 }