From a74254940bbc0421f26970bcd3a16b660ae0527e Mon Sep 17 00:00:00 2001 From: patthoyts Date: Fri, 2 Feb 2007 10:58:35 +0000 Subject: Support IsAppThemed() call. This is what is used when theming is turned off just for an individual application. --- ChangeLog | 5 +++++ win/ttkWinXPTheme.c | 11 ++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index a8d96ae..0adef7e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-02-02 Pat Thoyts + + * win/ttkWinXPTheme.c: Support IsAppThemed() call. This is what + is used when theming is turned off just for an individual application. + 2007-01-28 Daniel Steffen * macosx/Wish.xcodeproj/project.pbxproj: extract build settings that diff --git a/win/ttkWinXPTheme.c b/win/ttkWinXPTheme.c index 9df6d2f..5dbf553 100644 --- a/win/ttkWinXPTheme.c +++ b/win/ttkWinXPTheme.c @@ -1,5 +1,5 @@ /* - * $Id: ttkWinXPTheme.c,v 1.6 2007/01/11 19:59:26 jenglish Exp $ + * $Id: ttkWinXPTheme.c,v 1.7 2007/02/02 10:58:35 patthoyts Exp $ * * Tk theme engine which uses the Windows XP "Visual Styles" API * Adapted from Georgios Petasis' XP theme patch. @@ -51,6 +51,7 @@ typedef HRESULT (STDAPICALLTYPE DrawThemeTextProc)(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, LPCWSTR pszText, int iCharCount, DWORD dwTextFlags, DWORD dwTextFlags2, const RECT *pRect); typedef BOOL (STDAPICALLTYPE IsThemeActiveProc)(VOID); +typedef BOOL (STDAPICALLTYPE IsAppThemedProc)(VOID); typedef struct { @@ -60,7 +61,8 @@ typedef struct DrawThemeBackgroundProc *DrawThemeBackground; DrawThemeTextProc *DrawThemeText; GetThemeTextExtentProc *GetThemeTextExtent; - IsThemeActiveProc *IsThemeActive; + IsThemeActiveProc *IsThemeActive; + IsAppThemedProc *IsAppThemed; HWND stubWindow; } XPThemeProcs; @@ -124,6 +126,7 @@ LoadXPThemeProcs(HINSTANCE *phlib) && LOADPROC(GetThemeTextExtent) && LOADPROC(DrawThemeText) && LOADPROC(IsThemeActive) + && LOADPROC(IsAppThemed) ) { return procs; @@ -153,7 +156,9 @@ static int XPThemeEnabled(Ttk_Theme theme, void *clientData) { XPThemeData *themeData = clientData; - return themeData->procs->IsThemeActive(); + int active = themeData->procs->IsThemeActive(); + int themed = themeData->procs->IsAppThemed(); + return (active && themed); } /* -- cgit v0.12