Headers diff for uxtheme.dll between 6.3.9600.17415-Windows 8.1 and 10.0.10586.0-Windows 10 1511 10586.494 versions



 uxtheme.h (6.3.9600.17415-Windows 8.1)   uxtheme.h (10.0.10586.0-Windows 10 1511 10586.494) 
skipping to change at line 188 skipping to change at line 188
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// Theme animation transform flags // Theme animation transform flags
typedef enum TA_TRANSFORM_FLAG typedef enum TA_TRANSFORM_FLAG
{ {
TATF_NONE = 0x0, TATF_NONE = 0x0,
TATF_TARGETVALUES_USER = 0x1, TATF_TARGETVALUES_USER = 0x1,
TATF_HASINITIALVALUES = 0x2, TATF_HASINITIALVALUES = 0x2,
TATF_HASORIGINVALUES = 0x4, TATF_HASORIGINVALUES = 0x4,
} TA_TRANSFORM_FLAG; } TA_TRANSFORM_FLAG;
DEFINE_ENUM_FLAG_OPERATORS(TA_TRANSFORM_FLAG); DEFINE_ENUM_FLAG_OPERATORS(TA_TRANSFORM_FLAG)
#include <pshpack8.h> #include <pshpack8.h>
typedef struct TA_TRANSFORM typedef struct TA_TRANSFORM
{ {
TA_TRANSFORM_TYPE eTransformType; TA_TRANSFORM_TYPE eTransformType;
DWORD dwTimingFunctionId; DWORD dwTimingFunctionId;
DWORD dwStartTime; // in milliseconds DWORD dwStartTime; // in milliseconds
DWORD dwDurationTime; DWORD dwDurationTime;
TA_TRANSFORM_FLAG eFlags; TA_TRANSFORM_FLAG eFlags;
} TA_TRANSFORM, *PTA_TRANSFORM; } TA_TRANSFORM, *PTA_TRANSFORM;
skipping to change at line 346 skipping to change at line 346
// class name) to provide the class an opportunity // class name) to provide the class an opportunity
// to get the "best" match between the class and // to get the "best" match between the class and
// the current theme. For example, a button might // the current theme. For example, a button might
// pass L"OkButton, Button" if its ID=ID_OK. If // pass L"OkButton, Button" if its ID=ID_OK. If
// the current theme has an entry for OkButton, // the current theme has an entry for OkButton,
// that will be used. Otherwise, we fall back on // that will be used. Otherwise, we fall back on
// the normal Button entry. // the normal Button entry.
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
THEMEAPI_(HTHEME) THEMEAPI_(HTHEME)
OpenThemeData( OpenThemeData(
HWND hwnd, _In_opt_ HWND hwnd,
LPCWSTR pszClassList _In_ LPCWSTR pszClassList
); );
#define OTD_FORCE_RECT_SIZING 0x00000001 // make all parts size to re ct #define OTD_FORCE_RECT_SIZING 0x00000001 // make all parts size to re ct
#define OTD_NONCLIENT 0x00000002 // set if hTheme to be used for nonclient area #define OTD_NONCLIENT 0x00000002 // set if hTheme to be used for nonclient area
#define OTD_VALIDBITS (OTD_FORCE_RECT_SIZING | \ #define OTD_VALIDBITS (OTD_FORCE_RECT_SIZING | \
OTD_NONCLIENT) OTD_NONCLIENT)
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// OpenThemeDataEx - Open the theme data for the specified HWND and // OpenThemeDataEx - Open the theme data for the specified HWND and
// semi-colon separated list of class names. // semi-colon separated list of class names.
skipping to change at line 390 skipping to change at line 390
// pass L"OkButton, Button" if its ID=ID_OK. If // pass L"OkButton, Button" if its ID=ID_OK. If
// the current theme has an entry for OkButton, // the current theme has an entry for OkButton,
// that will be used. Otherwise, we fall back on // that will be used. Otherwise, we fall back on
// the normal Button entry. // the normal Button entry.
// //
// dwFlags - allows certain overrides of std features // dwFlags - allows certain overrides of std features
// (see OTD_XXX defines above) // (see OTD_XXX defines above)
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
THEMEAPI_(HTHEME) THEMEAPI_(HTHEME)
OpenThemeDataEx( OpenThemeDataEx(
HWND hwnd, _In_opt_ HWND hwnd,
LPCWSTR pszClassList, _In_ LPCWSTR pszClassList,
DWORD dwFlags _In_ DWORD dwFlags
); );
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// CloseThemeData() - closes the theme data handle. This should be done // CloseThemeData() - closes the theme data handle. This should be done
// when the window being themed is destroyed or // when the window being themed is destroyed or
// whenever a WM_THEMECHANGED msg is received // whenever a WM_THEMECHANGED msg is received
// (followed by an attempt to create a new Theme data // (followed by an attempt to create a new Theme data
// handle). // handle).
// //
// hTheme - open theme data handle (returned from prior call // hTheme - open theme data handle (returned from prior call
// to OpenThemeData() API). // to OpenThemeData() API).
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
THEMEAPI THEMEAPI
CloseThemeData( CloseThemeData(
HTHEME hTheme _In_ HTHEME hTheme
); );
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// functions for basic drawing support // functions for basic drawing support
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// The following methods are the theme-aware drawing services. // The following methods are the theme-aware drawing services.
// Controls/Windows are defined in drawable "parts" by their author: a // Controls/Windows are defined in drawable "parts" by their author: a
// parent part and 0 or more child parts. Each of the parts can be // parent part and 0 or more child parts. Each of the parts can be
// described in "states" (ex: disabled, hot, pressed). // described in "states" (ex: disabled, hot, pressed).
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
skipping to change at line 446 skipping to change at line 446
// //
// hTheme - theme data handle // hTheme - theme data handle
// hdc - HDC to draw into // hdc - HDC to draw into
// iPartId - part number to draw // iPartId - part number to draw
// iStateId - state number (of the part) to draw // iStateId - state number (of the part) to draw
// pRect - defines the size/location of the part // pRect - defines the size/location of the part
// pClipRect - optional clipping rect (don't draw outside it) // pClipRect - optional clipping rect (don't draw outside it)
//------------------------------------------------------------------------ //------------------------------------------------------------------------
THEMEAPI THEMEAPI
DrawThemeBackground( DrawThemeBackground(
HTHEME hTheme, _In_ HTHEME hTheme,
HDC hdc, _In_ HDC hdc,
int iPartId, _In_ int iPartId,
int iStateId, _In_ int iStateId,
LPCRECT pRect, _In_ LPCRECT pRect,
_In_opt_ LPCRECT pClipRect _In_opt_ LPCRECT pClipRect
); );
//------------------------------------------------------------------------ //------------------------------------------------------------------------
//---- bits used in dwFlags of DTBGOPTS ---- //---- bits used in dwFlags of DTBGOPTS ----
#define DTBG_CLIPRECT 0x00000001 // rcClip has been specified #define DTBG_CLIPRECT 0x00000001 // rcClip has been specified
#define DTBG_DRAWSOLID 0x00000002 // DEPRECATED: draw transparent/alph a images as solid #define DTBG_DRAWSOLID 0x00000002 // DEPRECATED: draw transparent/alph a images as solid
#define DTBG_OMITBORDER 0x00000004 // don't draw border of part #define DTBG_OMITBORDER 0x00000004 // don't draw border of part
#define DTBG_OMITCONTENT 0x00000008 // don't draw content area of part #define DTBG_OMITCONTENT 0x00000008 // don't draw content area of part
#define DTBG_COMPUTINGREGION 0x00000010 // TRUE if calling to compute region #define DTBG_COMPUTINGREGION 0x00000010 // TRUE if calling to compute region
skipping to change at line 498 skipping to change at line 498
// //
// hTheme - theme data handle // hTheme - theme data handle
// hdc - HDC to draw into // hdc - HDC to draw into
// iPartId - part number to draw // iPartId - part number to draw
// iStateId - state number (of the part) to draw // iStateId - state number (of the part) to draw
// pRect - defines the size/location of the part // pRect - defines the size/location of the part
// pOptions - ptr to optional params // pOptions - ptr to optional params
//------------------------------------------------------------------------ //------------------------------------------------------------------------
THEMEAPI THEMEAPI
DrawThemeBackgroundEx( DrawThemeBackgroundEx(
HTHEME hTheme, _In_ HTHEME hTheme,
HDC hdc, _In_ HDC hdc,
int iPartId, _In_ int iPartId,
int iStateId, _In_ int iStateId,
LPCRECT pRect, _In_ LPCRECT pRect,
_In_opt_ const DTBGOPTS *pOptions _In_opt_ const DTBGOPTS *pOptions
); );
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
//----- DrawThemeText() flags ---- //----- DrawThemeText() flags ----
#define DTT_GRAYED 0x00000001 // draw a grayed-out string (this is deprecated) #define DTT_GRAYED 0x00000001 // draw a grayed-out string (this is deprecated)
#define DTT_FLAGS2VALIDBITS (DTT_GRAYED) #define DTT_FLAGS2VALIDBITS (DTT_GRAYED)
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// DrawThemeText() - draws the text using the theme-specified // DrawThemeText() - draws the text using the theme-specified
skipping to change at line 528 skipping to change at line 528
// iPartId - part number to draw // iPartId - part number to draw
// iStateId - state number (of the part) to draw // iStateId - state number (of the part) to draw
// pszText - actual text to draw // pszText - actual text to draw
// dwCharCount - number of chars to draw (-1 for all) // dwCharCount - number of chars to draw (-1 for all)
// dwTextFlags - same as DrawText() "uFormat" param // dwTextFlags - same as DrawText() "uFormat" param
// dwTextFlags2 - additional drawing options // dwTextFlags2 - additional drawing options
// pRect - defines the size/location of the part // pRect - defines the size/location of the part
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
THEMEAPI THEMEAPI
DrawThemeText( DrawThemeText(
HTHEME hTheme, _In_ HTHEME hTheme,
HDC hdc, _In_ HDC hdc,
int iPartId, _In_ int iPartId,
int iStateId, _In_ int iStateId,
_In_reads_(cchText) LPCWSTR pszText, _In_reads_(cchText) LPCWSTR pszText,
int cchText, _In_ int cchText,
DWORD dwTextFlags, _In_ DWORD dwTextFlags,
DWORD dwTextFlags2, _In_ DWORD dwTextFlags2,
LPCRECT pRect _In_ LPCRECT pRect
); );
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// GetThemeBackgroundContentRect() // GetThemeBackgroundContentRect()
// - gets the size of the content for the theme-defined // - gets the size of the content for the theme-defined
// background. This is usually the area inside // background. This is usually the area inside
// the borders or Margins. // the borders or Margins.
// //
// hTheme - theme data handle // hTheme - theme data handle
// hdc - (optional) device content to be used for drawing // hdc - (optional) device content to be used for drawing
// iPartId - part number to draw // iPartId - part number to draw
// iStateId - state number (of the part) to draw // iStateId - state number (of the part) to draw
// pBoundingRect - the outer RECT of the part being drawn // pBoundingRect - the outer RECT of the part being drawn
// pContentRect - RECT to receive the content area // pContentRect - RECT to receive the content area
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
THEMEAPI THEMEAPI
GetThemeBackgroundContentRect( GetThemeBackgroundContentRect(
HTHEME hTheme, _In_ HTHEME hTheme,
HDC hdc, _In_opt_ HDC hdc,
int iPartId, _In_ int iPartId,
int iStateId, _In_ int iStateId,
LPCRECT pBoundingRect, _In_ LPCRECT pBoundingRect,
_Out_ LPRECT pContentRect _Out_ LPRECT pContentRect
); );
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// GetThemeBackgroundExtent() - calculates the size/location of the theme- // GetThemeBackgroundExtent() - calculates the size/location of the theme-
// specified background based on the // specified background based on the
// "pContentRect". // "pContentRect".
// //
// hTheme - theme data handle // hTheme - theme data handle
// hdc - (optional) device content to be used for drawing // hdc - (optional) device content to be used for drawing
// iPartId - part number to draw // iPartId - part number to draw
// iStateId - state number (of the part) to draw // iStateId - state number (of the part) to draw
// pContentRect - RECT that defines the content area // pContentRect - RECT that defines the content area
// pBoundingRect - RECT to receive the overall size/location of part // pBoundingRect - RECT to receive the overall size/location of part
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
THEMEAPI THEMEAPI
GetThemeBackgroundExtent( GetThemeBackgroundExtent(
HTHEME hTheme, _In_ HTHEME hTheme,
HDC hdc, _In_opt_ HDC hdc,
int iPartId, _In_ int iPartId,
int iStateId, _In_ int iStateId,
LPCRECT pContentRect, _In_ LPCRECT pContentRect,
_Out_ LPRECT pExtentRect _Out_ LPRECT pExtentRect
); );
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// GetThemeBackgroundRegion() // GetThemeBackgroundRegion()
// - computes the region for a regular or partially // - computes the region for a regular or partially
// transparent theme-specified background that is // transparent theme-specified background that is
// bound by the specified "pRect". // bound by the specified "pRect".
// If the rectangle is empty, sets the HRGN to NULL // If the rectangle is empty, sets the HRGN to NULL
// and return S_FALSE. // and return S_FALSE.
// //
// hTheme - theme data handle // hTheme - theme data handle
// hdc - optional HDC to draw into (DPI scaling) // hdc - optional HDC to draw into (DPI scaling)
// iPartId - part number to draw // iPartId - part number to draw
// iStateId - state number (of the part) // iStateId - state number (of the part)
// pRect - the RECT used to draw the part // pRect - the RECT used to draw the part
// pRegion - receives handle to calculated region // pRegion - receives handle to calculated region
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
THEMEAPI THEMEAPI
GetThemeBackgroundRegion( GetThemeBackgroundRegion(
HTHEME hTheme, _In_ HTHEME hTheme,
HDC hdc, _In_opt_ HDC hdc,
int iPartId, _In_ int iPartId,
int iStateId, _In_ int iStateId,
LPCRECT pRect, _In_ LPCRECT pRect,
_Out_ HRGN *pRegion _Out_ HRGN *pRegion
); );
enum THEMESIZE enum THEMESIZE
{ {
TS_MIN, // minimum size TS_MIN, // minimum size
TS_TRUE, // size without stretching TS_TRUE, // size without stretching
TS_DRAW // size that theme mgr will use to draw part TS_DRAW // size that theme mgr will use to draw part
}; };
skipping to change at line 629 skipping to change at line 629
// hTheme - theme data handle // hTheme - theme data handle
// hdc - HDC to select font into & measure against // hdc - HDC to select font into & measure against
// iPartId - part number to retrieve size for // iPartId - part number to retrieve size for
// iStateId - state number (of the part) // iStateId - state number (of the part)
// prc - (optional) rect for part drawing destination // prc - (optional) rect for part drawing destination
// eSize - the type of size to be retreived // eSize - the type of size to be retreived
// psz - receives the specified size of the part // psz - receives the specified size of the part
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
THEMEAPI THEMEAPI
GetThemePartSize( GetThemePartSize(
HTHEME hTheme, _In_ HTHEME hTheme,
_In_opt_ HDC hdc, _In_opt_ HDC hdc,
int iPartId, _In_ int iPartId,
int iStateId, _In_ int iStateId,
_In_opt_ LPCRECT prc, _In_opt_ LPCRECT prc,
enum THEMESIZE eSize, _In_ enum THEMESIZE eSize,
_Out_ SIZE *psz _Out_ SIZE *psz
); );
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// GetThemeTextExtent() - calculates the size/location of the specified // GetThemeTextExtent() - calculates the size/location of the specified
// text when rendered in the Theme Font. // text when rendered in the Theme Font.
// //
// hTheme - theme data handle // hTheme - theme data handle
// hdc - HDC to select font & measure into // hdc - HDC to select font & measure into
// iPartId - part number to draw // iPartId - part number to draw
// iStateId - state number (of the part) // iStateId - state number (of the part)
// pszText - the text to be measured // pszText - the text to be measured
// dwCharCount - number of chars to draw (-1 for all) // dwCharCount - number of chars to draw (-1 for all)
// dwTextFlags - same as DrawText() "uFormat" param // dwTextFlags - same as DrawText() "uFormat" param
// pszBoundingRect - optional: to control layout of text // pszBoundingRect - optional: to control layout of text
// pszExtentRect - receives the RECT for text size/location // pszExtentRect - receives the RECT for text size/location
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
THEMEAPI THEMEAPI
GetThemeTextExtent( GetThemeTextExtent(
HTHEME hTheme, _In_ HTHEME hTheme,
HDC hdc, _In_ HDC hdc,
int iPartId, _In_ int iPartId,
int iStateId, _In_ int iStateId,
_In_reads_(cchCharCount) LPCWSTR pszText, _In_reads_(cchCharCount) LPCWSTR pszText,
int cchCharCount, _In_ int cchCharCount,
DWORD dwTextFlags, _In_ DWORD dwTextFlags,
_In_opt_ LPCRECT pBoundingRect, _In_opt_ LPCRECT pBoundingRect,
_Out_ LPRECT pExtentRect _Out_ LPRECT pExtentRect
); );
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// GetThemeTextMetrics() // GetThemeTextMetrics()
// - returns info about the theme-specified font // - returns info about the theme-specified font
// for the part/state passed in. // for the part/state passed in.
// //
// hTheme - theme data handle // hTheme - theme data handle
// hdc - optional: HDC for screen context // hdc - optional: HDC for screen context
// iPartId - part number to draw // iPartId - part number to draw
// iStateId - state number (of the part) // iStateId - state number (of the part)
// ptm - receives the font info // ptm - receives the font info
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
THEMEAPI THEMEAPI
GetThemeTextMetrics( GetThemeTextMetrics(
HTHEME hTheme, _In_ HTHEME hTheme,
HDC hdc, _In_ HDC hdc,
int iPartId, _In_ int iPartId,
int iStateId, _In_ int iStateId,
_Out_ TEXTMETRICW *ptm _Out_ TEXTMETRICW *ptm
); );
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
//----- HitTestThemeBackground, HitTestThemeBackgroundRegion flags ---- //----- HitTestThemeBackground, HitTestThemeBackgroundRegion flags ----
// Theme background segment hit test flag (default). possible return values are : // Theme background segment hit test flag (default). possible return values are :
// HTCLIENT: hit test succeeded in the middle background segment // HTCLIENT: hit test succeeded in the middle background segment
// HTTOP, HTLEFT, HTTOPLEFT, etc: // hit test succeeded in the the respective theme background segment. // HTTOP, HTLEFT, HTTOPLEFT, etc: // hit test succeeded in the the respective theme background segment.
#define HTTB_BACKGROUNDSEG 0x00000000 #define HTTB_BACKGROUNDSEG 0x00000000
skipping to change at line 745 skipping to change at line 745
// ptTest - the hit point to be tested // ptTest - the hit point to be tested
// dwOptions - HTTB_xxx constants // dwOptions - HTTB_xxx constants
// pwHitTestCode - receives the returned hit test code - one of: // pwHitTestCode - receives the returned hit test code - one of:
// //
// HTNOWHERE, HTLEFT, HTTOPLEFT, HTBOTTOMLEFT, // HTNOWHERE, HTLEFT, HTTOPLEFT, HTBOTTOMLEFT,
// HTRIGHT, HTTOPRIGHT, HTBOTTOMRIGHT, // HTRIGHT, HTTOPRIGHT, HTBOTTOMRIGHT,
// HTTOP, HTBOTTOM, HTCLIENT // HTTOP, HTBOTTOM, HTCLIENT
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
THEMEAPI THEMEAPI
HitTestThemeBackground( HitTestThemeBackground(
HTHEME hTheme, _In_ HTHEME hTheme,
HDC hdc, _In_opt_ HDC hdc,
int iPartId, _In_ int iPartId,
int iStateId, _In_ int iStateId,
DWORD dwOptions, _In_ DWORD dwOptions,
LPCRECT pRect, _In_ LPCRECT pRect,
HRGN hrgn, _In_opt_ HRGN hrgn,
POINT ptTest, _In_ POINT ptTest,
_Out_ WORD *pwHitTestCode _Out_ WORD *pwHitTestCode
); );
//------------------------------------------------------------------------ //------------------------------------------------------------------------
// DrawThemeEdge() - Similar to the DrawEdge() API, but uses part colors // DrawThemeEdge() - Similar to the DrawEdge() API, but uses part colors
// and is high-DPI aware // and is high-DPI aware
// hTheme - theme data handle // hTheme - theme data handle
// hdc - HDC to draw into // hdc - HDC to draw into
// iPartId - part number to draw // iPartId - part number to draw
// iStateId - state number of part // iStateId - state number of part
// pDestRect - the RECT used to draw the line(s) // pDestRect - the RECT used to draw the line(s)
// uEdge - Same as DrawEdge() API // uEdge - Same as DrawEdge() API
// uFlags - Same as DrawEdge() API // uFlags - Same as DrawEdge() API
// pContentRect - Receives the interior rect if (uFlags & BF_ADJUST) // pContentRect - Receives the interior rect if (uFlags & BF_ADJUST)
//------------------------------------------------------------------------ //------------------------------------------------------------------------
THEMEAPI THEMEAPI
DrawThemeEdge( DrawThemeEdge(
HTHEME hTheme, _In_ HTHEME hTheme,
HDC hdc, _In_ HDC hdc,
int iPartId, _In_ int iPartId,
int iStateId, _In_ int iStateId,
LPCRECT pDestRect, _In_ LPCRECT pDestRect,
UINT uEdge, _In_ UINT uEdge,
UINT uFlags, _In_ UINT uFlags,
_Out_opt_ LPRECT pContentRect _Out_opt_ LPRECT pContentRect
); );
//------------------------------------------------------------------------ //------------------------------------------------------------------------
// DrawThemeIcon() - draws an image within an imagelist based on // DrawThemeIcon() - draws an image within an imagelist based on
// a (possible) theme-defined effect. // a (possible) theme-defined effect.
// //
// hTheme - theme data handle // hTheme - theme data handle
// hdc - HDC to draw into // hdc - HDC to draw into
// iPartId - part number to draw // iPartId - part number to draw
// iStateId - state number of part // iStateId - state number of part
// pRect - the RECT to draw the image within // pRect - the RECT to draw the image within
// himl - handle to IMAGELIST // himl - handle to IMAGELIST
// iImageIndex - index into IMAGELIST (which icon to draw) // iImageIndex - index into IMAGELIST (which icon to draw)
//------------------------------------------------------------------------ //------------------------------------------------------------------------
THEMEAPI THEMEAPI
DrawThemeIcon( DrawThemeIcon(
HTHEME hTheme, _In_ HTHEME hTheme,
HDC hdc, _In_ HDC hdc,
int iPartId, _In_ int iPartId,
int iStateId, _In_ int iStateId,
LPCRECT pRect, _In_ LPCRECT pRect,
HIMAGELIST himl, _In_ HIMAGELIST himl,
int iImageIndex _In_ int iImageIndex
); );
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// IsThemePartDefined() - returns TRUE if the theme has defined parameters // IsThemePartDefined() - returns TRUE if the theme has defined parameters
// for the specified "iPartId" and "iStateId". // for the specified "iPartId" and "iStateId".
// //
// hTheme - theme data handle // hTheme - theme data handle
// iPartId - part number to find definition for // iPartId - part number to find definition for
// iStateId - state number of part // iStateId - state number of part
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
THEMEAPI_(BOOL) THEMEAPI_(BOOL)
IsThemePartDefined( IsThemePartDefined(
HTHEME hTheme, _In_ HTHEME hTheme,
int iPartId, _In_ int iPartId,
int iStateId _In_ int iStateId
); );
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// IsThemeBackgroundPartiallyTransparent() // IsThemeBackgroundPartiallyTransparent()
// - returns TRUE if the theme specified background for // - returns TRUE if the theme specified background for
// the part/state has transparent pieces or // the part/state has transparent pieces or
// alpha-blended pieces. // alpha-blended pieces.
// //
// hTheme - theme data handle // hTheme - theme data handle
// iPartId - part number // iPartId - part number
// iStateId - state number of part // iStateId - state number of part
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
THEMEAPI_(BOOL) THEMEAPI_(BOOL)
IsThemeBackgroundPartiallyTransparent( IsThemeBackgroundPartiallyTransparent(
HTHEME hTheme, _In_ HTHEME hTheme,
int iPartId, _In_ int iPartId,
int iStateId _In_ int iStateId
); );
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// lower-level theme information services // lower-level theme information services
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// The following methods are getter routines for each of the Theme Data types. // The following methods are getter routines for each of the Theme Data types.
// Controls/Windows are defined in drawable "parts" by their author: a // Controls/Windows are defined in drawable "parts" by their author: a
// parent part and 0 or more child parts. Each of the parts can be // parent part and 0 or more child parts. Each of the parts can be
// described in "states" (ex: disabled, hot, pressed). // described in "states" (ex: disabled, hot, pressed).
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
skipping to change at line 863 skipping to change at line 863
// GetThemeColor() - Get the value for the specified COLOR property // GetThemeColor() - Get the value for the specified COLOR property
// //
// hTheme - theme data handle // hTheme - theme data handle
// iPartId - part number // iPartId - part number
// iStateId - state number of part // iStateId - state number of part
// iPropId - the property number to get the value for // iPropId - the property number to get the value for
// pColor - receives the value of the property // pColor - receives the value of the property
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
THEMEAPI THEMEAPI
GetThemeColor( GetThemeColor(
HTHEME hTheme, _In_ HTHEME hTheme,
int iPartId, _In_ int iPartId,
int iStateId, _In_ int iStateId,
int iPropId, _In_ int iPropId,
_Out_ COLORREF *pColor _Out_ COLORREF *pColor
); );
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// GetThemeMetric() - Get the value for the specified metric/size // GetThemeMetric() - Get the value for the specified metric/size
// property // property
// //
// hTheme - theme data handle // hTheme - theme data handle
// hdc - (optional) hdc to be drawn into (DPI scaling) // hdc - (optional) hdc to be drawn into (DPI scaling)
// iPartId - part number // iPartId - part number
// iStateId - state number of part // iStateId - state number of part
// iPropId - the property number to get the value for // iPropId - the property number to get the value for
// piVal - receives the value of the property // piVal - receives the value of the property
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
THEMEAPI THEMEAPI
GetThemeMetric( GetThemeMetric(
HTHEME hTheme, _In_ HTHEME hTheme,
HDC hdc, _In_opt_ HDC hdc,
int iPartId, _In_ int iPartId,
int iStateId, _In_ int iStateId,
int iPropId, _In_ int iPropId,
_Out_ int *piVal _Out_ int *piVal
); );
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// GetThemeString() - Get the value for the specified string property // GetThemeString() - Get the value for the specified string property
// //
// hTheme - theme data handle // hTheme - theme data handle
// iPartId - part number // iPartId - part number
// iStateId - state number of part // iStateId - state number of part
// iPropId - the property number to get the value for // iPropId - the property number to get the value for
// pszBuff - receives the string property value // pszBuff - receives the string property value
// cchMaxBuffChars - max. number of chars allowed in pszBuff // cchMaxBuffChars - max. number of chars allowed in pszBuff
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
THEMEAPI THEMEAPI
GetThemeString( GetThemeString(
HTHEME hTheme, _In_ HTHEME hTheme,
int iPartId, _In_ int iPartId,
int iStateId, _In_ int iStateId,
int iPropId, _In_ int iPropId,
_Out_writes_(cchMaxBuffChars) LPWSTR pszBuff, _Out_writes_(cchMaxBuffChars) LPWSTR pszBuff,
int cchMaxBuffChars _In_ int cchMaxBuffChars
); );
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// GetThemeBool() - Get the value for the specified BOOL property // GetThemeBool() - Get the value for the specified BOOL property
// //
// hTheme - theme data handle // hTheme - theme data handle
// iPartId - part number // iPartId - part number
// iStateId - state number of part // iStateId - state number of part
// iPropId - the property number to get the value for // iPropId - the property number to get the value for
// pfVal - receives the value of the property // pfVal - receives the value of the property
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
THEMEAPI THEMEAPI
GetThemeBool( GetThemeBool(
HTHEME hTheme, _In_ HTHEME hTheme,
int iPartId, _In_ int iPartId,
int iStateId, _In_ int iStateId,
int iPropId, _In_ int iPropId,
_Out_ BOOL *pfVal _Out_ BOOL *pfVal
); );
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// GetThemeInt() - Get the value for the specified int property // GetThemeInt() - Get the value for the specified int property
// //
// hTheme - theme data handle // hTheme - theme data handle
// iPartId - part number // iPartId - part number
// iStateId - state number of part // iStateId - state number of part
// iPropId - the property number to get the value for // iPropId - the property number to get the value for
// piVal - receives the value of the property // piVal - receives the value of the property
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
THEMEAPI THEMEAPI
GetThemeInt( GetThemeInt(
HTHEME hTheme, _In_ HTHEME hTheme,
int iPartId, _In_ int iPartId,
int iStateId, _In_ int iStateId,
int iPropId, _In_ int iPropId,
_Out_ int *piVal _Out_ int *piVal
); );
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// GetThemeEnumValue() - Get the value for the specified ENUM property // GetThemeEnumValue() - Get the value for the specified ENUM property
// //
// hTheme - theme data handle // hTheme - theme data handle
// iPartId - part number // iPartId - part number
// iStateId - state number of part // iStateId - state number of part
// iPropId - the property number to get the value for // iPropId - the property number to get the value for
// piVal - receives the value of the enum (cast to int*) // piVal - receives the value of the enum (cast to int*)
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
THEMEAPI THEMEAPI
GetThemeEnumValue( GetThemeEnumValue(
HTHEME hTheme, _In_ HTHEME hTheme,
int iPartId, _In_ int iPartId,
int iStateId, _In_ int iStateId,
int iPropId, _In_ int iPropId,
_Out_ int *piVal _Out_ int *piVal
); );
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// GetThemePosition() - Get the value for the specified position // GetThemePosition() - Get the value for the specified position
// property // property
// //
// hTheme - theme data handle // hTheme - theme data handle
// iPartId - part number // iPartId - part number
// iStateId - state number of part // iStateId - state number of part
// iPropId - the property number to get the value for // iPropId - the property number to get the value for
// pPoint - receives the value of the position property // pPoint - receives the value of the position property
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
THEMEAPI THEMEAPI
GetThemePosition( GetThemePosition(
HTHEME hTheme, _In_ HTHEME hTheme,
int iPartId, _In_ int iPartId,
int iStateId, _In_ int iStateId,
int iPropId, _In_ int iPropId,
_Out_ POINT *pPoint _Out_ POINT *pPoint
); );
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// GetThemeFont() - Get the value for the specified font property // GetThemeFont() - Get the value for the specified font property
// //
// hTheme - theme data handle // hTheme - theme data handle
// hdc - (optional) hdc to be drawn to (DPI scaling) // hdc - (optional) hdc to be drawn to (DPI scaling)
// iPartId - part number // iPartId - part number
// iStateId - state number of part // iStateId - state number of part
// iPropId - the property number to get the value for // iPropId - the property number to get the value for
// pFont - receives the value of the LOGFONT property // pFont - receives the value of the LOGFONT property
// (scaled for the current logical screen dpi) // (scaled for the current logical screen dpi)
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
THEMEAPI THEMEAPI
GetThemeFont( GetThemeFont(
HTHEME hTheme, _In_ HTHEME hTheme,
HDC hdc, _In_opt_ HDC hdc,
int iPartId, _In_ int iPartId,
int iStateId, _In_ int iStateId,
int iPropId, _In_ int iPropId,
_Out_ LOGFONTW *pFont _Out_ LOGFONTW *pFont
); );
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// GetThemeRect() - Get the value for the specified RECT property // GetThemeRect() - Get the value for the specified RECT property
// //
// hTheme - theme data handle // hTheme - theme data handle
// iPartId - part number // iPartId - part number
// iStateId - state number of part // iStateId - state number of part
// iPropId - the property number to get the value for // iPropId - the property number to get the value for
// pRect - receives the value of the RECT property // pRect - receives the value of the RECT property
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
THEMEAPI THEMEAPI
GetThemeRect( GetThemeRect(
HTHEME hTheme, _In_ HTHEME hTheme,
int iPartId, _In_ int iPartId,
int iStateId, _In_ int iStateId,
int iPropId, _In_ int iPropId,
_Out_ LPRECT pRect _Out_ LPRECT pRect
); );
typedef struct _MARGINS typedef struct _MARGINS
{ {
int cxLeftWidth; // width of left border that retains its size int cxLeftWidth; // width of left border that retains its size
int cxRightWidth; // width of right border that retains its size int cxRightWidth; // width of right border that retains its size
int cyTopHeight; // height of top border that retains its size int cyTopHeight; // height of top border that retains its size
int cyBottomHeight; // height of bottom border that retains its size int cyBottomHeight; // height of bottom border that retains its size
} MARGINS, *PMARGINS; } MARGINS, *PMARGINS;
skipping to change at line 1044 skipping to change at line 1044
// hTheme - theme data handle // hTheme - theme data handle
// hdc - (optional) hdc to be used for drawing // hdc - (optional) hdc to be used for drawing
// iPartId - part number // iPartId - part number
// iStateId - state number of part // iStateId - state number of part
// iPropId - the property number to get the value for // iPropId - the property number to get the value for
// prc - RECT for area to be drawn into // prc - RECT for area to be drawn into
// pMargins - receives the value of the MARGINS property // pMargins - receives the value of the MARGINS property
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
THEMEAPI THEMEAPI
GetThemeMargins( GetThemeMargins(
HTHEME hTheme, _In_ HTHEME hTheme,
_In_opt_ HDC hdc, _In_opt_ HDC hdc,
int iPartId, _In_ int iPartId,
int iStateId, _In_ int iStateId,
int iPropId, _In_ int iPropId,
_In_opt_ LPCRECT prc, _In_opt_ LPCRECT prc,
_Out_ MARGINS *pMargins _Out_ MARGINS *pMargins
); );
#if (NTDDI_VERSION >= NTDDI_VISTA) #if (NTDDI_VERSION >= NTDDI_VISTA)
#define MAX_INTLIST_COUNT 402 #define MAX_INTLIST_COUNT 402
#else #else
#define MAX_INTLIST_COUNT 10 #define MAX_INTLIST_COUNT 10
#endif #endif
skipping to change at line 1076 skipping to change at line 1076
// GetThemeIntList() - Get the value for the specified INTLIST struct // GetThemeIntList() - Get the value for the specified INTLIST struct
// //
// hTheme - theme data handle // hTheme - theme data handle
// iPartId - part number // iPartId - part number
// iStateId - state number of part // iStateId - state number of part
// iPropId - the property number to get the value for // iPropId - the property number to get the value for
// pIntList - receives the value of the INTLIST property // pIntList - receives the value of the INTLIST property
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
THEMEAPI THEMEAPI
GetThemeIntList( GetThemeIntList(
HTHEME hTheme, _In_ HTHEME hTheme,
int iPartId, _In_ int iPartId,
int iStateId, _In_ int iStateId,
int iPropId, _In_ int iPropId,
_Out_ INTLIST *pIntList _Out_ INTLIST *pIntList
); );
enum PROPERTYORIGIN enum PROPERTYORIGIN
{ {
PO_STATE, // property was found in the state section PO_STATE, // property was found in the state section
PO_PART, // property was found in the part section PO_PART, // property was found in the part section
PO_CLASS, // property was found in the class section PO_CLASS, // property was found in the class section
PO_GLOBAL, // property was found in [globals] section PO_GLOBAL, // property was found in [globals] section
PO_NOTFOUND // property was not found PO_NOTFOUND // property was not found
skipping to change at line 1106 skipping to change at line 1106
// found (or not found) // found (or not found)
// //
// hTheme - theme data handle // hTheme - theme data handle
// iPartId - part number // iPartId - part number
// iStateId - state number of part // iStateId - state number of part
// iPropId - the property number to search for // iPropId - the property number to search for
// pOrigin - receives the value of the property origin // pOrigin - receives the value of the property origin
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
THEMEAPI THEMEAPI
GetThemePropertyOrigin( GetThemePropertyOrigin(
HTHEME hTheme, _In_ HTHEME hTheme,
int iPartId, _In_ int iPartId,
int iStateId, _In_ int iStateId,
int iPropId, _In_ int iPropId,
_Out_ enum PROPERTYORIGIN *pOrigin _Out_ enum PROPERTYORIGIN *pOrigin
); );
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// SetWindowTheme() // SetWindowTheme()
// - redirects an existing Window to use a different // - redirects an existing Window to use a different
// section of the current theme information than its // section of the current theme information than its
// class normally asks for. // class normally asks for.
// //
// hwnd - the handle of the window (cannot be NULL) // hwnd - the handle of the window (cannot be NULL)
skipping to change at line 1143 skipping to change at line 1143
// "WM_THEMECHANGED" msg at the end of this call, so that the new // "WM_THEMECHANGED" msg at the end of this call, so that the new
// theme can be found and applied. // theme can be found and applied.
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// When "pszSubAppName" or "pszSubIdList" are NULL, the Theme Manager // When "pszSubAppName" or "pszSubIdList" are NULL, the Theme Manager
// removes the previously remember association. To turn off theme-ing for // removes the previously remember association. To turn off theme-ing for
// the specified window, you can pass an empty string (L"") so it // the specified window, you can pass an empty string (L"") so it
// won't match any section entries. // won't match any section entries.
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
THEMEAPI THEMEAPI
SetWindowTheme( SetWindowTheme(
HWND hwnd, _In_ HWND hwnd,
LPCWSTR pszSubAppName, _In_opt_ LPCWSTR pszSubAppName,
LPCWSTR pszSubIdList _In_opt_ LPCWSTR pszSubIdList
); );
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// GetThemeFilename() - Get the value for the specified FILENAME property. // GetThemeFilename() - Get the value for the specified FILENAME property.
// //
// hTheme - theme data handle // hTheme - theme data handle
// iPartId - part number // iPartId - part number
// iStateId - state number of part // iStateId - state number of part
// iPropId - the property number to search for // iPropId - the property number to search for
// pszThemeFileName - output buffer to receive the filename // pszThemeFileName - output buffer to receive the filename
// cchMaxBuffChars - the size of the return buffer, in chars // cchMaxBuffChars - the size of the return buffer, in chars
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
THEMEAPI THEMEAPI
GetThemeFilename( GetThemeFilename(
HTHEME hTheme, _In_ HTHEME hTheme,
int iPartId, _In_ int iPartId,
int iStateId, _In_ int iStateId,
int iPropId, _In_ int iPropId,
_Out_writes_(cchMaxBuffChars) LPWSTR pszThemeFileName, _Out_writes_(cchMaxBuffChars) LPWSTR pszThemeFileName,
int cchMaxBuffChars _In_ int cchMaxBuffChars
); );
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// GetThemeSysColor() - Get the value of the specified System color. // GetThemeSysColor() - Get the value of the specified System color.
// //
// hTheme - the theme data handle. if non-NULL, will return // hTheme - the theme data handle. if non-NULL, will return
// color from [SysMetrics] section of theme. // color from [SysMetrics] section of theme.
// if NULL, will return the global system color. // if NULL, will return the global system color.
// //
// iColorId - the system color index defined in winuser.h // iColorId - the system color index defined in winuser.h
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
THEMEAPI_(COLORREF) THEMEAPI_(COLORREF)
GetThemeSysColor( GetThemeSysColor(
HTHEME hTheme, _In_opt_ HTHEME hTheme,
int iColorId _In_ int iColorId
); );
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// GetThemeSysColorBrush() // GetThemeSysColorBrush()
// - Get the brush for the specified System color. // - Get the brush for the specified System color.
// //
// hTheme - the theme data handle. if non-NULL, will return // hTheme - the theme data handle. if non-NULL, will return
// brush matching color from [SysMetrics] section of // brush matching color from [SysMetrics] section of
// theme. if NULL, will return the brush matching // theme. if NULL, will return the brush matching
// global system color. // global system color.
// //
// iColorId - the system color index defined in winuser.h // iColorId - the system color index defined in winuser.h
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
THEMEAPI_(HBRUSH) THEMEAPI_(HBRUSH)
GetThemeSysColorBrush( GetThemeSysColorBrush(
HTHEME hTheme, _In_opt_ HTHEME hTheme,
int iColorId _In_ int iColorId
); );
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// GetThemeSysBool() - Get the boolean value of specified System metric. // GetThemeSysBool() - Get the boolean value of specified System metric.
// //
// hTheme - the theme data handle. if non-NULL, will return // hTheme - the theme data handle. if non-NULL, will return
// BOOL from [SysMetrics] section of theme. // BOOL from [SysMetrics] section of theme.
// if NULL, will return the specified system boolean. // if NULL, will return the specified system boolean.
// //
// iBoolId - the TMT_XXX BOOL number (first BOOL // iBoolId - the TMT_XXX BOOL number (first BOOL
// is TMT_FLATMENUS) // is TMT_FLATMENUS)
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
THEMEAPI_(BOOL) THEMEAPI_(BOOL)
GetThemeSysBool( GetThemeSysBool(
HTHEME hTheme, _In_opt_ HTHEME hTheme,
int iBoolId _In_ int iBoolId
); );
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// GetThemeSysSize() - Get the value of the specified System size metric. // GetThemeSysSize() - Get the value of the specified System size metric.
// (scaled for the current logical screen dpi) // (scaled for the current logical screen dpi)
// //
// hTheme - the theme data handle. if non-NULL, will return // hTheme - the theme data handle. if non-NULL, will return
// size from [SysMetrics] section of theme. // size from [SysMetrics] section of theme.
// if NULL, will return the global system metric. // if NULL, will return the global system metric.
// //
skipping to change at line 1243 skipping to change at line 1243
// SM_CYSMSIZE (small caption height) // SM_CYSMSIZE (small caption height)
// SM_CXMENUSIZE (menubar width) // SM_CXMENUSIZE (menubar width)
// SM_CYMENUSIZE (menubar height) // SM_CYMENUSIZE (menubar height)
// SM_CXPADDEDBORDER (padded border width) // SM_CXPADDEDBORDER (padded border width)
// //
// when hTheme is NULL, iSizeId is passed directly // when hTheme is NULL, iSizeId is passed directly
// to the GetSystemMetrics() function // to the GetSystemMetrics() function
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
THEMEAPI_(int) THEMEAPI_(int)
GetThemeSysSize( GetThemeSysSize(
HTHEME hTheme, _In_opt_ HTHEME hTheme,
int iSizeId _In_ int iSizeId
); );
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// GetThemeSysFont() - Get the LOGFONT for the specified System font. // GetThemeSysFont() - Get the LOGFONT for the specified System font.
// //
// hTheme - the theme data handle. if non-NULL, will return // hTheme - the theme data handle. if non-NULL, will return
// font from [SysMetrics] section of theme. // font from [SysMetrics] section of theme.
// if NULL, will return the specified system font. // if NULL, will return the specified system font.
// //
// iFontId - the TMT_XXX font number (first font // iFontId - the TMT_XXX font number (first font
// is TMT_CAPTIONFONT) // is TMT_CAPTIONFONT)
// //
// plf - ptr to LOGFONT to receive the font value. // plf - ptr to LOGFONT to receive the font value.
// (scaled for the current logical screen dpi) // (scaled for the current logical screen dpi)
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
THEMEAPI THEMEAPI
GetThemeSysFont( GetThemeSysFont(
HTHEME hTheme, _In_opt_ HTHEME hTheme,
int iFontId, _In_ int iFontId,
_Out_ LOGFONTW *plf _Out_ LOGFONTW *plf
); );
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// GetThemeSysString() - Get the value of specified System string metric. // GetThemeSysString() - Get the value of specified System string metric.
// //
// hTheme - the theme data handle (required) // hTheme - the theme data handle (required)
// //
// iStringId - must be one of the following values: // iStringId - must be one of the following values:
// //
// TMT_CSSNAME // TMT_CSSNAME
// TMT_XMLNAME // TMT_XMLNAME
// //
// pszStringBuff - the buffer to receive the string value // pszStringBuff - the buffer to receive the string value
// //
// cchMaxStringChars - max. number of chars that pszStringBuff can hold // cchMaxStringChars - max. number of chars that pszStringBuff can hold
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
THEMEAPI THEMEAPI
GetThemeSysString( GetThemeSysString(
HTHEME hTheme, _In_ HTHEME hTheme,
int iStringId, _In_ int iStringId,
_Out_writes_(cchMaxStringChars) LPWSTR pszStringBuff, _Out_writes_(cchMaxStringChars) LPWSTR pszStringBuff,
int cchMaxStringChars _In_ int cchMaxStringChars
); );
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// GetThemeSysInt() - Get the value of specified System int. // GetThemeSysInt() - Get the value of specified System int.
// //
// hTheme - the theme data handle (required) // hTheme - the theme data handle (required)
// //
// iIntId - must be one of the following values: // iIntId - must be one of the following values:
// //
// TMT_DPIX // TMT_DPIX
// TMT_DPIY // TMT_DPIY
// TMT_MINCOLORDEPTH // TMT_MINCOLORDEPTH
// //
// piValue - ptr to int to receive value // piValue - ptr to int to receive value
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
THEMEAPI THEMEAPI
GetThemeSysInt( GetThemeSysInt(
HTHEME hTheme, _In_ HTHEME hTheme,
int iIntId, _In_ int iIntId,
_Out_ int *piValue _Out_ int *piValue
); );
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// IsThemeActive() - can be used to test if a system theme is active // IsThemeActive() - can be used to test if a system theme is active
// for the current user session. // for the current user session.
// //
// use the API "IsAppThemed()" to test if a theme is // use the API "IsAppThemed()" to test if a theme is
// active for the calling process. // active for the calling process.
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
skipping to change at line 1339 skipping to change at line 1339
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// GetWindowTheme() - if window is themed, returns its most recent // GetWindowTheme() - if window is themed, returns its most recent
// HTHEME from OpenThemeData() - otherwise, returns // HTHEME from OpenThemeData() - otherwise, returns
// NULL. // NULL.
// //
// hwnd - the window to get the HTHEME of // hwnd - the window to get the HTHEME of
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
THEMEAPI_(HTHEME) THEMEAPI_(HTHEME)
GetWindowTheme( GetWindowTheme(
HWND hwnd _In_ HWND hwnd
); );
#define ETDT_DISABLE 0x00000001 #define ETDT_DISABLE 0x00000001
#define ETDT_ENABLE 0x00000002 #define ETDT_ENABLE 0x00000002
#define ETDT_USETABTEXTURE 0x00000004 #define ETDT_USETABTEXTURE 0x00000004
#define ETDT_ENABLETAB (ETDT_ENABLE | \ #define ETDT_ENABLETAB (ETDT_ENABLE | \
ETDT_USETABTEXTURE) ETDT_USETABTEXTURE)
#if (NTDDI_VERSION >= NTDDI_VISTA) #if (NTDDI_VERSION >= NTDDI_VISTA)
skipping to change at line 1421 skipping to change at line 1421
); );
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// SetThemeAppProperties() // SetThemeAppProperties()
// - sets the flags that control theming within the app // - sets the flags that control theming within the app
// //
// dwFlags - the flag values to be set // dwFlags - the flag values to be set
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
THEMEAPI_(void) THEMEAPI_(void)
SetThemeAppProperties( SetThemeAppProperties(
DWORD dwFlags _In_ DWORD dwFlags
); );
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// GetCurrentThemeName() // GetCurrentThemeName()
// - Get the name of the current theme in-use. // - Get the name of the current theme in-use.
// Optionally, return the ColorScheme name and the // Optionally, return the ColorScheme name and the
// Size name of the theme. // Size name of the theme.
// //
// pszThemeFileName - receives the theme path & filename // pszThemeFileName - receives the theme path & filename
// cchMaxNameChars - max chars allowed in pszNameBuff // cchMaxNameChars - max chars allowed in pszNameBuff
skipping to change at line 1443 skipping to change at line 1443
// pszColorBuff - (optional) receives the canonical color scheme name // pszColorBuff - (optional) receives the canonical color scheme name
// (not the display name) // (not the display name)
// cchMaxColorChars - max chars allowed in pszColorBuff // cchMaxColorChars - max chars allowed in pszColorBuff
// //
// pszSizeBuff - (optional) receives the canonical size name // pszSizeBuff - (optional) receives the canonical size name
// (not the display name) // (not the display name)
// cchMaxSizeChars - max chars allowed in pszSizeBuff // cchMaxSizeChars - max chars allowed in pszSizeBuff
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
THEMEAPI GetCurrentThemeName( THEMEAPI GetCurrentThemeName(
_Out_writes_(cchMaxNameChars) LPWSTR pszThemeFileName, _Out_writes_(cchMaxNameChars) LPWSTR pszThemeFileName,
int cchMaxNameChars, _In_ int cchMaxNameChars,
_Out_writes_opt_(cchMaxColorChars) LPWSTR pszColorBuff, _Out_writes_opt_(cchMaxColorChars) LPWSTR pszColorBuff,
int cchMaxColorChars, _In_ int cchMaxColorChars,
_Out_writes_opt_(cchMaxSizeChars) LPWSTR pszSizeBuff, _Out_writes_opt_(cchMaxSizeChars) LPWSTR pszSizeBuff,
int cchMaxSizeChars _In_ int cchMaxSizeChars
); );
#define SZ_THDOCPROP_DISPLAYNAME L"DisplayName" #define SZ_THDOCPROP_DISPLAYNAME L"DisplayName"
#define SZ_THDOCPROP_CANONICALNAME L"ThemeName" #define SZ_THDOCPROP_CANONICALNAME L"ThemeName"
#define SZ_THDOCPROP_TOOLTIP L"ToolTip" #define SZ_THDOCPROP_TOOLTIP L"ToolTip"
#define SZ_THDOCPROP_AUTHOR L"author" #define SZ_THDOCPROP_AUTHOR L"author"
THEMEAPI THEMEAPI
GetThemeDocumentationProperty( GetThemeDocumentationProperty(
LPCWSTR pszThemeName, _In_ LPCWSTR pszThemeName,
LPCWSTR pszPropertyName, _In_ LPCWSTR pszPropertyName,
_Out_writes_(cchMaxValChars) LPWSTR pszValueBuff, _Out_writes_(cchMaxValChars) LPWSTR pszValueBuff,
int cchMaxValChars _In_ int cchMaxValChars
); );
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// Theme API Error Handling // Theme API Error Handling
// //
// All functions in the Theme API not returning an HRESULT (THEMEAPI_) // All functions in the Theme API not returning an HRESULT (THEMEAPI_)
// use the WIN32 function "SetLastError()" to record any call failures. // use the WIN32 function "SetLastError()" to record any call failures.
// //
// To retreive the error code of the last failure on the // To retreive the error code of the last failure on the
// current thread for these type of API's, use the WIN32 function // current thread for these type of API's, use the WIN32 function
skipping to change at line 1493 skipping to change at line 1493
// //
// hwnd - handle of the child control // hwnd - handle of the child control
// //
// hdc - hdc of the child control // hdc - hdc of the child control
// //
// prc - (optional) rect that defines the area to be // prc - (optional) rect that defines the area to be
// drawn (CHILD coordinates) // drawn (CHILD coordinates)
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
THEMEAPI THEMEAPI
DrawThemeParentBackground( DrawThemeParentBackground(
HWND hwnd, _In_ HWND hwnd,
HDC hdc, _In_ HDC hdc,
_In_opt_ const RECT* prc _In_opt_ const RECT* prc
); );
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// EnableTheming() - enables or disables themeing for the current user // EnableTheming() - enables or disables themeing for the current user
// in the current and future sessions. // in the current and future sessions.
// //
// fEnable - if FALSE, disable theming & turn themes off. // fEnable - if FALSE, disable theming & turn themes off.
// - if TRUE, enable themeing and, if user previously // - if TRUE, enable themeing and, if user previously
// had a theme active, make it active now. // had a theme active, make it active now.
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
THEMEAPI THEMEAPI
EnableTheming( EnableTheming(
BOOL fEnable _In_ BOOL fEnable
); );
#define GBF_DIRECT 0x00000001 // direct dereferencing. #define GBF_DIRECT 0x00000001 // direct dereferencing.
#define GBF_COPY 0x00000002 // create a copy of the bitmap #define GBF_COPY 0x00000002 // create a copy of the bitmap
#define GBF_VALIDBITS (GBF_DIRECT | \ #define GBF_VALIDBITS (GBF_DIRECT | \
GBF_COPY) GBF_COPY)
#if (NTDDI_VERSION >= NTDDI_VISTA) #if (NTDDI_VERSION >= NTDDI_VISTA)
#define DTPB_WINDOWDC 0x00000001 #define DTPB_WINDOWDC 0x00000001
skipping to change at line 1551 skipping to change at line 1551
// a WM_CTLCOLORSTATIC message to the parent and use the // a WM_CTLCOLORSTATIC message to the parent and use the
// brush if one is provided, else COLOR_BTNFACE. // brush if one is provided, else COLOR_BTNFACE.
// //
// prc - (optional) rect that defines the area to be // prc - (optional) rect that defines the area to be
// drawn (CHILD coordinates) // drawn (CHILD coordinates)
// //
// Return value - S_OK if something was painted, S_FALSE if not. // Return value - S_OK if something was painted, S_FALSE if not.
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
THEMEAPI THEMEAPI
DrawThemeParentBackgroundEx( DrawThemeParentBackgroundEx(
HWND hwnd, _In_ HWND hwnd,
HDC hdc, _In_ HDC hdc,
DWORD dwFlags, _In_ DWORD dwFlags,
_In_opt_ const RECT* prc _In_opt_ const RECT* prc
); );
enum WINDOWTHEMEATTRIBUTETYPE enum WINDOWTHEMEATTRIBUTETYPE
{ {
WTA_NONCLIENT = 1 WTA_NONCLIENT = 1
}; };
typedef struct _WTA_OPTIONS typedef struct _WTA_OPTIONS
{ {
skipping to change at line 1580 skipping to change at line 1580
#define WTNCA_NODRAWICON 0x00000002 // don't draw the system icon #define WTNCA_NODRAWICON 0x00000002 // don't draw the system icon
#define WTNCA_NOSYSMENU 0x00000004 // don't expose the system menu icon functionality #define WTNCA_NOSYSMENU 0x00000004 // don't expose the system menu icon functionality
#define WTNCA_NOMIRRORHELP 0x00000008 // don't mirror the question mar k, even in RTL layout #define WTNCA_NOMIRRORHELP 0x00000008 // don't mirror the question mar k, even in RTL layout
#define WTNCA_VALIDBITS (WTNCA_NODRAWCAPTION | \ #define WTNCA_VALIDBITS (WTNCA_NODRAWCAPTION | \
WTNCA_NODRAWICON | \ WTNCA_NODRAWICON | \
WTNCA_NOSYSMENU | \ WTNCA_NOSYSMENU | \
WTNCA_NOMIRRORHELP) WTNCA_NOMIRRORHELP)
THEMEAPI THEMEAPI
SetWindowThemeAttribute( SetWindowThemeAttribute(
HWND hwnd, _In_ HWND hwnd,
enum WINDOWTHEMEATTRIBUTETYPE eAttribute, _In_ enum WINDOWTHEMEATTRIBUTETYPE eAttribute,
_In_reads_bytes_(cbAttribute) PVOID pvAttribute, _In_reads_bytes_(cbAttribute) PVOID pvAttribute,
DWORD cbAttribute _In_ DWORD cbAttribute
); );
__inline HRESULT SetWindowThemeNonClientAttributes(HWND hwnd, DWORD dwMask, DWOR D dwAttributes) __inline HRESULT SetWindowThemeNonClientAttributes(HWND hwnd, DWORD dwMask, DWOR D dwAttributes)
{ {
WTA_OPTIONS wta; WTA_OPTIONS wta;
wta.dwFlags = dwAttributes; wta.dwFlags = dwAttributes;
wta.dwMask = dwMask; wta.dwMask = dwMask;
return SetWindowThemeAttribute(hwnd, WTA_NONCLIENT, (void*)&(wta), sizeof(wt a)); return SetWindowThemeAttribute(hwnd, WTA_NONCLIENT, (void*)&(wta), sizeof(wt a));
} }
skipping to change at line 1668 skipping to change at line 1668
BOOL fApplyOverlay; // Overlay text on top of any text ef fect? BOOL fApplyOverlay; // Overlay text on top of any text ef fect?
int iGlowSize; // Glow radious around text int iGlowSize; // Glow radious around text
DTT_CALLBACK_PROC pfnDrawTextCallback; // Callback for DrawText DTT_CALLBACK_PROC pfnDrawTextCallback; // Callback for DrawText
LPARAM lParam; // Parameter for callback LPARAM lParam; // Parameter for callback
} DTTOPTS, *PDTTOPTS; } DTTOPTS, *PDTTOPTS;
#if (NTDDI_VERSION >= NTDDI_VISTA) #if (NTDDI_VERSION >= NTDDI_VISTA)
THEMEAPI THEMEAPI
DrawThemeTextEx( DrawThemeTextEx(
HTHEME hTheme, _In_ HTHEME hTheme,
HDC hdc, _In_ HDC hdc,
int iPartId, _In_ int iPartId,
int iStateId, _In_ int iStateId,
_In_reads_(cchText) LPCWSTR pszText, _In_reads_(cchText) LPCWSTR pszText,
int cchText, _In_ int cchText,
DWORD dwTextFlags, _In_ DWORD dwTextFlags,
_Inout_ LPRECT pRect, _Inout_ LPRECT pRect,
_In_opt_ const DTTOPTS *pOptions _In_opt_ const DTTOPTS *pOptions
); );
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// GetThemeStream() - Get the value for the specified STREAM property // GetThemeStream() - Get the value for the specified STREAM property
// //
// hTheme - theme data handle // hTheme - theme data handle
// iPartId - part number // iPartId - part number
// iStateId - state number of part // iStateId - state number of part
// iPropId - the property number to get the value for // iPropId - the property number to get the value for
// ppvStream - if non-null receives the value of the STREAM property (not to be freed) // ppvStream - if non-null receives the value of the STREAM property (not to be freed)
// pcbStream - if non-null receives the size of the STREAM property // pcbStream - if non-null receives the size of the STREAM property
// hInst - NULL when iPropId==TMT_STREAM, HINSTANCE of a loaded mssty les // hInst - NULL when iPropId==TMT_STREAM, HINSTANCE of a loaded mssty les
// file when iPropId==TMT_DISKSTREAM (use GetCurrentThemeName // file when iPropId==TMT_DISKSTREAM (use GetCurrentThemeName
// and LoadLibraryEx(LOAD_LIBRARY_AS_DATAFILE) // and LoadLibraryEx(LOAD_LIBRARY_AS_DATAFILE)
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
THEMEAPI THEMEAPI
GetThemeBitmap( GetThemeBitmap(
HTHEME hTheme, _In_ HTHEME hTheme,
int iPartId, _In_ int iPartId,
int iStateId, _In_ int iStateId,
int iPropId, _In_ int iPropId,
ULONG dwFlags, _In_ ULONG dwFlags,
_Out_ HBITMAP* phBitmap _Out_ HBITMAP* phBitmap
); );
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// GetThemeStream() - Get the value for the specified STREAM property // GetThemeStream() - Get the value for the specified STREAM property
// //
// hTheme - theme data handle // hTheme - theme data handle
// iPartId - part number // iPartId - part number
// iStateId - state number of part // iStateId - state number of part
// iPropId - the property number to get the value for // iPropId - the property number to get the value for
// ppvStream - if non-null receives the value of the STREAM property (not to be freed) // ppvStream - if non-null receives the value of the STREAM property (not to be freed)
// pcbStream - if non-null receives the size of the STREAM property // pcbStream - if non-null receives the size of the STREAM property
// hInst - NULL when iPropId==TMT_STREAM, HINSTANCE of a loaded mssty les // hInst - NULL when iPropId==TMT_STREAM, HINSTANCE of a loaded mssty les
// file when iPropId==TMT_DISKSTREAM (use GetCurrentThemeName // file when iPropId==TMT_DISKSTREAM (use GetCurrentThemeName
// and LoadLibraryEx(LOAD_LIBRARY_AS_DATAFILE) // and LoadLibraryEx(LOAD_LIBRARY_AS_DATAFILE)
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
THEMEAPI THEMEAPI
GetThemeStream( GetThemeStream(
HTHEME hTheme, _In_ HTHEME hTheme,
int iPartId, _In_ int iPartId,
int iStateId, _In_ int iStateId,
int iPropId, _In_ int iPropId,
_Out_ VOID **ppvStream, _Out_ VOID **ppvStream,
_Out_opt_ DWORD *pcbStream, _Out_opt_ DWORD *pcbStream,
_In_opt_ HINSTANCE hInst _In_opt_ HINSTANCE hInst
); );
//------------------------------------------------------------------------ //------------------------------------------------------------------------
// BufferedPaintInit() - Initialize the Buffered Paint API. // BufferedPaintInit() - Initialize the Buffered Paint API.
// Should be called prior to BeginBufferedPaint, // Should be called prior to BeginBufferedPaint,
// and should have a matching BufferedPaintUnInit. // and should have a matching BufferedPaintUnInit.
//------------------------------------------------------------------------ //------------------------------------------------------------------------
skipping to change at line 1803 skipping to change at line 1803
typedef struct _BP_PAINTPARAMS typedef struct _BP_PAINTPARAMS
{ {
DWORD cbSize; DWORD cbSize;
DWORD dwFlags; // BPPF_ flags DWORD dwFlags; // BPPF_ flags
const RECT * prcExclude; const RECT * prcExclude;
const BLENDFUNCTION * pBlendFunction; const BLENDFUNCTION * pBlendFunction;
} BP_PAINTPARAMS, *PBP_PAINTPARAMS; } BP_PAINTPARAMS, *PBP_PAINTPARAMS;
THEMEAPI_(_Success_(return != NULL) HPAINTBUFFER) THEMEAPI_(_Success_(return != NULL) HPAINTBUFFER)
BeginBufferedPaint( BeginBufferedPaint(
HDC hdcTarget, _In_ HDC hdcTarget,
const RECT* prcTarget, _In_ const RECT* prcTarget,
BP_BUFFERFORMAT dwFormat, _In_ BP_BUFFERFORMAT dwFormat,
_In_opt_ BP_PAINTPARAMS *pPaintParams, _In_opt_ BP_PAINTPARAMS *pPaintParams,
_Out_ HDC *phdc _Out_ HDC *phdc
); );
//------------------------------------------------------------------------ //------------------------------------------------------------------------
// EndBufferedPaint() - Ends a buffered paint operation. // EndBufferedPaint() - Ends a buffered paint operation.
// //
// hBufferedPaint - handle to buffered paint context // hBufferedPaint - handle to buffered paint context
// fUpdateTarget - update target DC // fUpdateTarget - update target DC
//------------------------------------------------------------------------ //------------------------------------------------------------------------
THEMEAPI THEMEAPI
EndBufferedPaint( EndBufferedPaint(
HPAINTBUFFER hBufferedPaint, _In_ HPAINTBUFFER hBufferedPaint,
BOOL fUpdateTarget _In_ BOOL fUpdateTarget
); );
//------------------------------------------------------------------------ //------------------------------------------------------------------------
// GetBufferedPaintTargetRect() - Returns the target rectangle specified during BeginBufferedPaint // GetBufferedPaintTargetRect() - Returns the target rectangle specified during BeginBufferedPaint
// //
// hBufferedPaint - handle to buffered paint context // hBufferedPaint - handle to buffered paint context
// prc - pointer to receive target rectangle // prc - pointer to receive target rectangle
//------------------------------------------------------------------------ //------------------------------------------------------------------------
THEMEAPI THEMEAPI
GetBufferedPaintTargetRect( GetBufferedPaintTargetRect(
HPAINTBUFFER hBufferedPaint, _In_ HPAINTBUFFER hBufferedPaint,
_Out_ RECT *prc _Out_ RECT *prc
); );
//------------------------------------------------------------------------ //------------------------------------------------------------------------
// GetBufferedPaintTargetDC() - Returns the target DC specified during BeginBuf feredPaint // GetBufferedPaintTargetDC() - Returns the target DC specified during BeginBuf feredPaint
// //
// hBufferedPaint - handle to buffered paint context // hBufferedPaint - handle to buffered paint context
//------------------------------------------------------------------------ //------------------------------------------------------------------------
THEMEAPI_(HDC) THEMEAPI_(HDC)
GetBufferedPaintTargetDC( GetBufferedPaintTargetDC(
HPAINTBUFFER hBufferedPaint _In_ HPAINTBUFFER hBufferedPaint
); );
//------------------------------------------------------------------------ //------------------------------------------------------------------------
// GetBufferedPaintDC() - Returns the same paint DC returned by BeginBufferedPa int // GetBufferedPaintDC() - Returns the same paint DC returned by BeginBufferedPa int
// //
// hBufferedPaint - handle to buffered paint context // hBufferedPaint - handle to buffered paint context
//------------------------------------------------------------------------ //------------------------------------------------------------------------
THEMEAPI_(HDC) THEMEAPI_(HDC)
GetBufferedPaintDC( GetBufferedPaintDC(
HPAINTBUFFER hBufferedPaint _In_ HPAINTBUFFER hBufferedPaint
); );
//------------------------------------------------------------------------ //------------------------------------------------------------------------
// GetBufferedPaintBits() - Obtains a pointer to the buffer bitmap, if the buff er is a DIB // GetBufferedPaintBits() - Obtains a pointer to the buffer bitmap, if the buff er is a DIB
// //
// hBufferedPaint - handle to buffered paint context // hBufferedPaint - handle to buffered paint context
// ppbBuffer - pointer to receive pointer to buffer bitmap pixels // ppbBuffer - pointer to receive pointer to buffer bitmap pixels
// pcxRow - pointer to receive width of buffer bitmap, in pixel s; // pcxRow - pointer to receive width of buffer bitmap, in pixel s;
// this value may not necessarily be equal to the buff er width // this value may not necessarily be equal to the buff er width
//------------------------------------------------------------------------ //------------------------------------------------------------------------
THEMEAPI THEMEAPI
GetBufferedPaintBits( GetBufferedPaintBits(
HPAINTBUFFER hBufferedPaint, _In_ HPAINTBUFFER hBufferedPaint,
_Out_ RGBQUAD **ppbBuffer, _Out_ RGBQUAD **ppbBuffer,
_Out_ int *pcxRow _Out_ int *pcxRow
); );
//------------------------------------------------------------------------ //------------------------------------------------------------------------
// BufferedPaintClear() - Clears given rectangle to ARGB = {0, 0, 0, 0} // BufferedPaintClear() - Clears given rectangle to ARGB = {0, 0, 0, 0}
// //
// hBufferedPaint - handle to buffered paint context // hBufferedPaint - handle to buffered paint context
// prc - rectangle to clear; NULL specifies entire buffer // prc - rectangle to clear; NULL specifies entire buffer
//------------------------------------------------------------------------ //------------------------------------------------------------------------
THEMEAPI THEMEAPI
BufferedPaintClear( BufferedPaintClear(
HPAINTBUFFER hBufferedPaint, _In_ HPAINTBUFFER hBufferedPaint,
_In_opt_ const RECT *prc _In_opt_ const RECT *prc
); );
//------------------------------------------------------------------------ //------------------------------------------------------------------------
// BufferedPaintSetAlpha() - Set alpha to given value in given rectangle // BufferedPaintSetAlpha() - Set alpha to given value in given rectangle
// //
// hBufferedPaint - handle to buffered paint context // hBufferedPaint - handle to buffered paint context
// prc - rectangle to set alpha in; NULL specifies entire b uffer // prc - rectangle to set alpha in; NULL specifies entire b uffer
// alpha - alpha value to set in the given rectangle // alpha - alpha value to set in the given rectangle
//------------------------------------------------------------------------ //------------------------------------------------------------------------
THEMEAPI THEMEAPI
BufferedPaintSetAlpha( BufferedPaintSetAlpha(
HPAINTBUFFER hBufferedPaint, _In_ HPAINTBUFFER hBufferedPaint,
_In_opt_ const RECT *prc, _In_opt_ const RECT *prc,
BYTE alpha _In_ BYTE alpha
); );
// Macro for setting the buffer to opaque (alpha = 255) // Macro for setting the buffer to opaque (alpha = 255)
#define BufferedPaintMakeOpaque(hBufferedPaint, prc) BufferedPaintSetAlpha(hBuff eredPaint, prc, 255) #define BufferedPaintMakeOpaque(hBufferedPaint, prc) BufferedPaintSetAlpha(hBuff eredPaint, prc, 255)
//------------------------------------------------------------------------ //------------------------------------------------------------------------
// BufferedPaintStopAllAnimations() - Stop all buffer animations for the given window // BufferedPaintStopAllAnimations() - Stop all buffer animations for the given window
// //
// hwnd - window on which to stop all animations // hwnd - window on which to stop all animations
//------------------------------------------------------------------------ //------------------------------------------------------------------------
THEMEAPI THEMEAPI
BufferedPaintStopAllAnimations( BufferedPaintStopAllAnimations(
HWND hwnd _In_ HWND hwnd
); );
typedef HANDLE HANIMATIONBUFFER; // handle to a buffered paint animation typedef HANDLE HANIMATIONBUFFER; // handle to a buffered paint animation
THEMEAPI_(HANIMATIONBUFFER) THEMEAPI_(HANIMATIONBUFFER)
BeginBufferedAnimation( BeginBufferedAnimation(
HWND hwnd, _In_ HWND hwnd,
HDC hdcTarget, _In_ HDC hdcTarget,
const RECT* prcTarget, _In_ const RECT* prcTarget,
BP_BUFFERFORMAT dwFormat, _In_ BP_BUFFERFORMAT dwFormat,
_In_opt_ BP_PAINTPARAMS *pPaintParams, _In_opt_ BP_PAINTPARAMS *pPaintParams,
_In_ BP_ANIMATIONPARAMS *pAnimationParams, _In_ BP_ANIMATIONPARAMS *pAnimationParams,
_Out_ HDC *phdcFrom, _Out_ HDC *phdcFrom,
_Out_ HDC *phdcTo _Out_ HDC *phdcTo
); );
THEMEAPI THEMEAPI
EndBufferedAnimation( EndBufferedAnimation(
HANIMATIONBUFFER hbpAnimation, _In_ HANIMATIONBUFFER hbpAnimation,
BOOL fUpdateTarget _In_ BOOL fUpdateTarget
); );
THEMEAPI_(BOOL) THEMEAPI_(BOOL)
BufferedPaintRenderAnimation( BufferedPaintRenderAnimation(
HWND hwnd, _In_ HWND hwnd,
HDC hdcTarget _In_ HDC hdcTarget
); );
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// Tells if the DWM is running, and composition effects are possible for this // Tells if the DWM is running, and composition effects are possible for this
// process (themes are active). // process (themes are active).
// Roughly equivalent to "DwmIsCompositionEnabled() && IsAppthemed()" // Roughly equivalent to "DwmIsCompositionEnabled() && IsAppthemed()"
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
THEMEAPI_(BOOL) IsCompositionActive(); THEMEAPI_(BOOL) IsCompositionActive();
//------------------------------------------------------------------------ //------------------------------------------------------------------------
skipping to change at line 1954 skipping to change at line 1954
// //
// hTheme - theme data handle // hTheme - theme data handle
// iPartId - part number // iPartId - part number
// iStateIdFrom - starting state number of part // iStateIdFrom - starting state number of part
// iStateIdTo - ending state number of part // iStateIdTo - ending state number of part
// iPropId - property id // iPropId - property id
// pdwDuration - receives the transition duration // pdwDuration - receives the transition duration
//------------------------------------------------------------------------ //------------------------------------------------------------------------
THEMEAPI THEMEAPI
GetThemeTransitionDuration( GetThemeTransitionDuration(
HTHEME hTheme, _In_ HTHEME hTheme,
int iPartId, _In_ int iPartId,
int iStateIdFrom, _In_ int iStateIdFrom,
int iStateIdTo, _In_ int iStateIdTo,
int iPropId, _In_ int iPropId,
_Out_ DWORD *pdwDuration _Out_ DWORD *pdwDuration
); );
#endif // (NTDDI_VERSION >= NTDDI_VISTA) #endif // (NTDDI_VERSION >= NTDDI_VISTA)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
#endif /* _UXTHEME_H_ */ #endif /* _UXTHEME_H_ */
 End of changes. 77 change blocks. 
214 lines changed or deleted 214 lines changed or added

This html diff was produced by rfcdiff 1.41.