mirror of
https://github.com/reactos/reactos.git
synced 2025-07-30 10:32:38 +00:00
[UXTHEME] Implement various Vista+ functions, mostly from WINE
This commit is contained in:
parent
01a6c4874a
commit
7ec3a7e98b
6 changed files with 419 additions and 41 deletions
|
@ -15,8 +15,7 @@ extern "C" {
|
|||
#define DTBG_COMPUTINGREGION 0x00000010
|
||||
#define DTBG_MIRRORDC 0x00000020
|
||||
#define DTT_GRAYED 0x00000001
|
||||
|
||||
/* DTTOPTS.dwFlags bits */
|
||||
// Vista+
|
||||
#define DTT_TEXTCOLOR 0x00000001
|
||||
#define DTT_BORDERCOLOR 0x00000002
|
||||
#define DTT_SHADOWCOLOR 0x00000004
|
||||
|
@ -57,6 +56,8 @@ extern "C" {
|
|||
|
||||
typedef HANDLE HPAINTBUFFER;
|
||||
typedef HANDLE HTHEME;
|
||||
// Vista+
|
||||
typedef HANDLE HANIMATIONBUFFER;
|
||||
typedef int (WINAPI *DTT_CALLBACK_PROC)(HDC,LPWSTR,int,RECT*,UINT,LPARAM);
|
||||
|
||||
typedef enum _BP_BUFFERFORMAT
|
||||
|
@ -67,6 +68,7 @@ typedef enum _BP_BUFFERFORMAT
|
|||
BPBF_TOPDOWNMONODIB
|
||||
} BP_BUFFERFORMAT;
|
||||
|
||||
|
||||
typedef struct _BP_PAINTPARAMS
|
||||
{
|
||||
DWORD cbSize;
|
||||
|
@ -89,6 +91,21 @@ typedef enum THEMESIZE {
|
|||
TS_DRAW
|
||||
} THEMESIZE;
|
||||
|
||||
// Vista+
|
||||
|
||||
typedef enum _BP_ANIMATIONSTYLE
|
||||
{
|
||||
BPAS_NONE,
|
||||
BPAS_LINEAR,
|
||||
BPAS_CUBIC,
|
||||
BPAS_SINE
|
||||
} BP_ANIMATIONSTYLE;
|
||||
enum WINDOWTHEMEATTRIBUTETYPE
|
||||
{
|
||||
WTA_NONCLIENT = 1
|
||||
};
|
||||
|
||||
|
||||
typedef struct _DTBGOPTS {
|
||||
DWORD dwSize;
|
||||
DWORD dwFlags;
|
||||
|
@ -109,6 +126,7 @@ typedef struct _MARGINS {
|
|||
int cyBottomHeight;
|
||||
} MARGINS, *PMARGINS;
|
||||
|
||||
// Vista+
|
||||
typedef struct _DTTOPTS {
|
||||
DWORD dwSize;
|
||||
DWORD dwFlags;
|
||||
|
@ -127,6 +145,14 @@ typedef struct _DTTOPTS {
|
|||
LPARAM lParam;
|
||||
} DTTOPTS, *PDTTOPTS;
|
||||
|
||||
typedef struct _BP_ANIMATIONPARAMS
|
||||
{
|
||||
DWORD cbSize;
|
||||
DWORD dwFlags;
|
||||
BP_ANIMATIONSTYLE style;
|
||||
DWORD dwDuration;
|
||||
} BP_ANIMATIONPARAMS, *PBP_ANIMATIONPARAMS;
|
||||
|
||||
HRESULT WINAPI CloseThemeData(HTHEME);
|
||||
HRESULT WINAPI DrawThemeBackground(HTHEME,HDC,int,int,const RECT*,const RECT*);
|
||||
HRESULT WINAPI DrawThemeBackgroundEx(HTHEME,HDC,int,int,const RECT*,const DTBGOPTS*);
|
||||
|
@ -192,6 +218,25 @@ DrawThemeTextEx(
|
|||
_Inout_ LPRECT pRect,
|
||||
_In_ const DTTOPTS *options
|
||||
);
|
||||
|
||||
// Vista+
|
||||
HRESULT WINAPI BufferedPaintInit(VOID);
|
||||
HRESULT WINAPI BufferedPaintUnInit(VOID);
|
||||
HPAINTBUFFER WINAPI BeginBufferedPaint(HDC, const RECT *, BP_BUFFERFORMAT,
|
||||
BP_PAINTPARAMS *,HDC *);
|
||||
HRESULT WINAPI EndBufferedPaint(HPAINTBUFFER, BOOL);
|
||||
HRESULT WINAPI BufferedPaintClear(HPAINTBUFFER, const RECT *);
|
||||
HRESULT WINAPI BufferedPaintSetAlpha(HPAINTBUFFER, const RECT *, BYTE);
|
||||
HRESULT WINAPI GetBufferedPaintBits(HPAINTBUFFER, RGBQUAD **, int *);
|
||||
HDC WINAPI GetBufferedPaintDC(HPAINTBUFFER);
|
||||
HDC WINAPI GetBufferedPaintTargetDC(HPAINTBUFFER);
|
||||
HRESULT WINAPI GetBufferedPaintTargetRect(HPAINTBUFFER, RECT *prc);
|
||||
HANIMATIONBUFFER WINAPI BeginBufferedAnimation(HWND, HDC, const RECT *,
|
||||
BP_BUFFERFORMAT, BP_PAINTPARAMS *,
|
||||
BP_ANIMATIONPARAMS *, HDC *, HDC *);
|
||||
BOOL WINAPI BufferedPaintRenderAnimation(HWND, HDC);
|
||||
HRESULT WINAPI BufferedPaintStopAllAnimations(HWND);
|
||||
HRESULT WINAPI EndBufferedAnimation(HANIMATIONBUFFER, BOOL);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue