Applied patch [ 1389709 ] XP theme support for DrawHeaderButton, DrawTreeItemButton
By Chris Mellon git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36923 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
88a01064f0
commit
a9d9e2f262
@ -45,6 +45,17 @@
|
|||||||
#define CBXS_HOT 2
|
#define CBXS_HOT 2
|
||||||
#define CBXS_PRESSED 3
|
#define CBXS_PRESSED 3
|
||||||
#define CBXS_DISABLED 4
|
#define CBXS_DISABLED 4
|
||||||
|
|
||||||
|
#define TVP_GLYPH 2
|
||||||
|
|
||||||
|
#define GLPS_CLOSED 1
|
||||||
|
#define GLPS_OPENED 2
|
||||||
|
|
||||||
|
#define HP_HEADERITEM 1
|
||||||
|
|
||||||
|
#define HIS_NORMAL 1
|
||||||
|
#define HIS_HOT 2
|
||||||
|
#define HIS_PRESSED 3
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@ -97,6 +108,14 @@ public:
|
|||||||
wxDC& dc,
|
wxDC& dc,
|
||||||
const wxRect& rect,
|
const wxRect& rect,
|
||||||
int flags = 0);
|
int flags = 0);
|
||||||
|
virtual void DrawTreeItemButton(wxWindow *win,
|
||||||
|
wxDC& dc,
|
||||||
|
const wxRect& rect,
|
||||||
|
int flags = 0);
|
||||||
|
virtual void DrawHeaderButton(wxWindow *win,
|
||||||
|
wxDC& dc,
|
||||||
|
const wxRect &rect,
|
||||||
|
int flags=0);
|
||||||
private:
|
private:
|
||||||
DECLARE_NO_COPY_CLASS(wxRendererXP)
|
DECLARE_NO_COPY_CLASS(wxRendererXP)
|
||||||
};
|
};
|
||||||
@ -262,5 +281,59 @@ wxRendererXP::DrawSplitterSash(wxWindow *win,
|
|||||||
m_rendererNative.DrawSplitterSash(win, dc, size, position, orient, flags);
|
m_rendererNative.DrawSplitterSash(win, dc, size, position, orient, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
wxRendererXP::DrawTreeItemButton(wxWindow *win,
|
||||||
|
wxDC &dc,
|
||||||
|
const wxRect &rect,
|
||||||
|
int flags)
|
||||||
|
{
|
||||||
|
wxUxThemeHandle hTheme(win, L"TREEVIEW");
|
||||||
|
RECT r;
|
||||||
|
r.left = rect.x;
|
||||||
|
r.top = rect.y;
|
||||||
|
r.right = rect.x + rect.width;
|
||||||
|
r.bottom = rect.y + rect.height;
|
||||||
|
int state = (flags & wxCONTROL_EXPANDED) ? GLPS_OPENED : GLPS_CLOSED;
|
||||||
|
wxUxThemeEngine::Get()->DrawThemeBackground
|
||||||
|
(
|
||||||
|
hTheme,
|
||||||
|
(HDC) dc.GetHDC(),
|
||||||
|
TVP_GLYPH,
|
||||||
|
state,
|
||||||
|
&r,
|
||||||
|
NULL
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
wxRendererXP::DrawHeaderButton(wxWindow *win,
|
||||||
|
wxDC &dc,
|
||||||
|
const wxRect &rect,
|
||||||
|
int flags)
|
||||||
|
{
|
||||||
|
wxUxThemeHandle hTheme(win, L"HEADER");
|
||||||
|
RECT r;
|
||||||
|
r.left = rect.x;
|
||||||
|
r.top = rect.y;
|
||||||
|
r.right = rect.x + rect.width;
|
||||||
|
r.bottom = rect.y + rect.height;
|
||||||
|
int state;
|
||||||
|
if ( flags & wxCONTROL_PRESSED )
|
||||||
|
state = HIS_PRESSED;
|
||||||
|
else if ( flags & wxCONTROL_CURRENT )
|
||||||
|
state = HIS_HOT;
|
||||||
|
else
|
||||||
|
state = HIS_NORMAL;
|
||||||
|
wxUxThemeEngine::Get()->DrawThemeBackground
|
||||||
|
(
|
||||||
|
hTheme,
|
||||||
|
(HDC) dc.GetHDC(),
|
||||||
|
HP_HEADERITEM,
|
||||||
|
state,
|
||||||
|
&r,
|
||||||
|
NULL
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
#endif // wxUSE_UXTHEME
|
#endif // wxUSE_UXTHEME
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user