| 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 |
|