initial commit
Signed-off-by: Peter Siegmund <mars3142@noreply.mars3142.dev>
This commit is contained in:
63
libs/wxWidgets-3.3.1/samples/render/renddll.cpp
Normal file
63
libs/wxWidgets-3.3.1/samples/render/renddll.cpp
Normal file
@@ -0,0 +1,63 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: renddll.cpp
|
||||
// Purpose: Example of a renderer implemented in a DLL
|
||||
// Author: Vadim Zeitlin
|
||||
// Created: 04.08.03
|
||||
// Copyright: (c) 2003 Vadim Zeitlin <vadim@wxwidgets.org>
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
|
||||
#include "wx/renderer.h"
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/dc.h"
|
||||
#endif
|
||||
|
||||
// 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 int DrawHeaderButton(wxWindow * WXUNUSED(win),
|
||||
wxDC& dc,
|
||||
const wxRect& rect,
|
||||
int WXUNUSED(flags) = 0,
|
||||
wxHeaderSortIconType WXUNUSED(sortArrow) = wxHDR_SORT_ICON_NONE,
|
||||
wxHeaderButtonParams* WXUNUSED(params) = nullptr) override
|
||||
{
|
||||
dc.SetBrush(*wxCYAN_BRUSH);
|
||||
dc.SetTextForeground(*wxRED);
|
||||
dc.DrawRoundedRectangle(rect, 10);
|
||||
dc.DrawLabel("MyDllRenderer", wxNullBitmap, rect, wxALIGN_CENTER);
|
||||
|
||||
return dc.GetTextExtent("MyDllRenderer").x;
|
||||
}
|
||||
|
||||
virtual wxRendererVersion GetVersion() const override
|
||||
{
|
||||
return wxRendererVersion(wxRendererVersion::Current_Version,
|
||||
wxRendererVersion::Current_Age);
|
||||
}
|
||||
|
||||
#if 0 // just for debugging
|
||||
MyDllRenderer()
|
||||
{
|
||||
wxMessageBox("Creating MyDllRenderer", "Renderer Sample");
|
||||
}
|
||||
|
||||
virtual ~MyDllRenderer()
|
||||
{
|
||||
wxMessageBox("Deleting MyDllRenderer", "Renderer Sample");
|
||||
}
|
||||
#endif // 0
|
||||
};
|
||||
|
||||
extern "C"
|
||||
WXEXPORT wxRendererNative *wxCreateRenderer()
|
||||
{
|
||||
return new MyDllRenderer;
|
||||
}
|
||||
Reference in New Issue
Block a user