Add a menu option to use generic renderer in the sample
This makes it easier to compare the native and generic implementations of the functions shown.
This commit is contained in:
@@ -138,6 +138,7 @@ private:
|
|||||||
void OnUseIcon(wxCommandEvent& event);
|
void OnUseIcon(wxCommandEvent& event);
|
||||||
void OnUseBitmap(wxCommandEvent& event);
|
void OnUseBitmap(wxCommandEvent& event);
|
||||||
|
|
||||||
|
void OnUseGeneric(wxCommandEvent& event);
|
||||||
#if wxUSE_DYNLIB_CLASS
|
#if wxUSE_DYNLIB_CLASS
|
||||||
void OnLoad(wxCommandEvent& event);
|
void OnLoad(wxCommandEvent& event);
|
||||||
void OnUnload(wxCommandEvent& event);
|
void OnUnload(wxCommandEvent& event);
|
||||||
@@ -163,7 +164,8 @@ public:
|
|||||||
m_flags = 0;
|
m_flags = 0;
|
||||||
m_align = wxALIGN_LEFT;
|
m_align = wxALIGN_LEFT;
|
||||||
m_useIcon =
|
m_useIcon =
|
||||||
m_useBitmap = false;
|
m_useBitmap =
|
||||||
|
m_useGeneric = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
int GetFlags() const { return m_flags; }
|
int GetFlags() const { return m_flags; }
|
||||||
@@ -172,13 +174,15 @@ public:
|
|||||||
void SetAlignment(int align) { m_align = align; }
|
void SetAlignment(int align) { m_align = align; }
|
||||||
void SetUseIcon(bool useIcon) { m_useIcon = useIcon; }
|
void SetUseIcon(bool useIcon) { m_useIcon = useIcon; }
|
||||||
void SetUseBitmap(bool useBitmap) { m_useBitmap = useBitmap; }
|
void SetUseBitmap(bool useBitmap) { m_useBitmap = useBitmap; }
|
||||||
|
void SetUseGeneric(bool useGeneric) { m_useGeneric = useGeneric; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void OnPaint(wxPaintEvent&)
|
void OnPaint(wxPaintEvent&)
|
||||||
{
|
{
|
||||||
wxPaintDC dc(this);
|
wxPaintDC dc(this);
|
||||||
|
|
||||||
wxRendererNative& renderer = wxRendererNative::Get();
|
wxRendererNative& renderer = m_useGeneric ? wxRendererNative::GetGeneric()
|
||||||
|
: wxRendererNative::Get();
|
||||||
|
|
||||||
int x1 = 10, // text offset
|
int x1 = 10, // text offset
|
||||||
x2 = 300, // drawing offset
|
x2 = 300, // drawing offset
|
||||||
@@ -305,7 +309,8 @@ private:
|
|||||||
int m_flags;
|
int m_flags;
|
||||||
int m_align;
|
int m_align;
|
||||||
bool m_useIcon,
|
bool m_useIcon,
|
||||||
m_useBitmap;
|
m_useBitmap,
|
||||||
|
m_useGeneric;
|
||||||
|
|
||||||
wxDECLARE_EVENT_TABLE();
|
wxDECLARE_EVENT_TABLE();
|
||||||
};
|
};
|
||||||
@@ -337,6 +342,7 @@ enum
|
|||||||
Render_UseIcon,
|
Render_UseIcon,
|
||||||
Render_UseBitmap,
|
Render_UseBitmap,
|
||||||
|
|
||||||
|
Render_UseGeneric,
|
||||||
#if wxUSE_DYNLIB_CLASS
|
#if wxUSE_DYNLIB_CLASS
|
||||||
Render_Load,
|
Render_Load,
|
||||||
Render_Unload,
|
Render_Unload,
|
||||||
@@ -373,6 +379,7 @@ wxBEGIN_EVENT_TABLE(MyFrame, wxFrame)
|
|||||||
EVT_MENU(Render_UseIcon, MyFrame::OnUseIcon)
|
EVT_MENU(Render_UseIcon, MyFrame::OnUseIcon)
|
||||||
EVT_MENU(Render_UseBitmap, MyFrame::OnUseBitmap)
|
EVT_MENU(Render_UseBitmap, MyFrame::OnUseBitmap)
|
||||||
|
|
||||||
|
EVT_MENU(Render_UseGeneric, MyFrame::OnUseGeneric)
|
||||||
#if wxUSE_DYNLIB_CLASS
|
#if wxUSE_DYNLIB_CLASS
|
||||||
EVT_MENU(Render_Load, MyFrame::OnLoad)
|
EVT_MENU(Render_Load, MyFrame::OnLoad)
|
||||||
EVT_MENU(Render_Unload,MyFrame::OnUnload)
|
EVT_MENU(Render_Unload,MyFrame::OnUnload)
|
||||||
@@ -457,6 +464,7 @@ MyFrame::MyFrame()
|
|||||||
menuFile->AppendCheckItem(Render_UseBitmap, "Draw &bitmap\tCtrl-B");
|
menuFile->AppendCheckItem(Render_UseBitmap, "Draw &bitmap\tCtrl-B");
|
||||||
menuFile->AppendSeparator();
|
menuFile->AppendSeparator();
|
||||||
|
|
||||||
|
menuFile->AppendCheckItem(Render_UseGeneric, "Use &generic renderer\tCtrl-G");
|
||||||
#if wxUSE_DYNLIB_CLASS
|
#if wxUSE_DYNLIB_CLASS
|
||||||
menuFile->Append(Render_Load, wxT("&Load renderer...\tCtrl-L"));
|
menuFile->Append(Render_Load, wxT("&Load renderer...\tCtrl-L"));
|
||||||
menuFile->Append(Render_Unload, wxT("&Unload renderer\tCtrl-U"));
|
menuFile->Append(Render_Unload, wxT("&Unload renderer\tCtrl-U"));
|
||||||
@@ -528,6 +536,12 @@ void MyFrame::OnUseBitmap(wxCommandEvent& event)
|
|||||||
m_panel->Refresh();
|
m_panel->Refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MyFrame::OnUseGeneric(wxCommandEvent& event)
|
||||||
|
{
|
||||||
|
m_panel->SetUseGeneric(event.IsChecked());
|
||||||
|
m_panel->Refresh();
|
||||||
|
}
|
||||||
|
|
||||||
#if wxUSE_DYNLIB_CLASS
|
#if wxUSE_DYNLIB_CLASS
|
||||||
|
|
||||||
void MyFrame::OnLoad(wxCommandEvent& WXUNUSED(event))
|
void MyFrame::OnLoad(wxCommandEvent& WXUNUSED(event))
|
||||||
|
Reference in New Issue
Block a user