3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Win32 5.1 theme definitions
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Copyright (C) 2003 Kevin Koltzau
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is free software; you can redistribute it and/or
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * modify it under the terms of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License as published by the Free Software Foundation; either
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * version 2.1 of the License, or (at your option) any later version.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is distributed in the hope that it will be useful,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Lesser General Public License for more details.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * You should have received a copy of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License along with this library; if not, write to the Free Software
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync/*
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * a choice of LGPL license versions is made available with the language indicating
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * of the LGPL is applied is otherwise unspecified.
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync */
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifndef __WINE_UXTHEME_H
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define __WINE_UXTHEME_H
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#include <commctrl.h>
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef HANDLE HTHEME;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI CloseThemeData(HTHEME hTheme);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI DrawThemeBackground(HTHEME,HDC,int,int,const RECT*,const RECT*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DTBG_CLIPRECT 0x00000001
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DTBG_DRAWSOLID 0x00000002
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DTBG_OMITBORDER 0x00000004
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DTBG_OMITCONTENT 0x00000008
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DTBG_COMPUTINGREGION 0x00000010
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DTBG_MIRRORDC 0x00000020
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _DTBGOPTS {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwSize;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwFlags;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync RECT rcClip;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DTBGOPTS, *PDTBGOPTS;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI DrawThemeBackgroundEx(HTHEME,HDC,int,int,const RECT*,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync const DTBGOPTS*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI DrawThemeEdge(HTHEME,HDC,int,int,const RECT*,UINT,UINT,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync RECT*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI DrawThemeIcon(HTHEME,HDC,int,int,const RECT*,HIMAGELIST,int);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI DrawThemeParentBackground(HWND,HDC,RECT*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DTT_GRAYED 0x1
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI DrawThemeText(HTHEME,HDC,int,int,LPCWSTR,int,DWORD,DWORD,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync const RECT*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define ETDT_DISABLE 0x00000001
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define ETDT_ENABLE 0x00000002
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define ETDT_USETABTEXTURE 0x00000004
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define ETDT_ENABLETAB (ETDT_ENABLE|ETDT_USETABTEXTURE)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI EnableThemeDialogTexture(HWND,DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI EnableTheming(BOOL);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI GetCurrentThemeName(LPWSTR,int,LPWSTR,int,LPWSTR,int);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define STAP_ALLOW_NONCLIENT (1<<0)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define STAP_ALLOW_CONTROLS (1<<1)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define STAP_ALLOW_WEBCONTENT (1<<2)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDWORD WINAPI GetThemeAppProperties(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI GetThemeBackgroundContentRect(HTHEME,HDC,int,int,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync const RECT*,RECT*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI GetThemeBackgroundExtent(HTHEME,HDC,int,int,const RECT*,RECT*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI GetThemeBackgroundRegion(HTHEME,HDC,int,int,const RECT*,HRGN*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI GetThemeBool(HTHEME,int,int,int,BOOL*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI GetThemeColor(HTHEME,int,int,int,COLORREF*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#if defined(__GNUC__)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define SZ_THDOCPROP_DISPLAYNAME (const WCHAR []){ 'D','i','s','p','l','a','y','N','a','m','e',0 }
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define SZ_THDOCPROP_CANONICALNAME (const WCHAR []){ 'T','h','e','m','e','N','a','m','e',0 }
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define SZ_THDOCPROP_TOOLTIP (const WCHAR []){ 'T','o','o','l','T','i','p',0 }
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define SZ_THDOCPROP_AUTHOR (const WCHAR []){ 'a','u','t','h','o','r',0 }
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#elif defined(_MSC_VER)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define SZ_THDOCPROP_DISPLAYNAME L"DisplayName"
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define SZ_THDOCPROP_CANONICALNAME L"ThemeName"
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define SZ_THDOCPROP_TOOLTIP L"ToolTip"
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define SZ_THDOCPROP_AUTHOR L"author"
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#else
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncstatic const WCHAR SZ_THDOCPROP_DISPLAYNAME[] = { 'D','i','s','p','l','a','y','N','a','m','e',0 };
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncstatic const WCHAR SZ_THDOCPROP_CANONICALNAME[] = { 'T','h','e','m','e','N','a','m','e',0 };
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncstatic const WCHAR SZ_THDOCPROP_TOOLTIP[] = { 'T','o','o','l','T','i','p',0 };
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncstatic const WCHAR SZ_THDOCPROP_AUTHOR[] = { 'a','u','t','h','o','r',0 };
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI GetThemeDocumentationProperty(LPCWSTR,LPCWSTR,LPWSTR,int);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI GetThemeEnumValue(HTHEME,int,int,int,int*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI GetThemeFilename(HTHEME,int,int,int,LPWSTR,int);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI GetThemeFont(HTHEME,HDC,int,int,int,LOGFONTW*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI GetThemeInt(HTHEME,int,int,int,int*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAX_INTLIST_COUNT 10
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _INTLIST {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync int iValueCount;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync int iValues[MAX_INTLIST_COUNT];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} INTLIST, *PINTLIST;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI GetThemeIntList(HTHEME,int,int,int,INTLIST*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _MARGINS {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync int cxLeftWidth;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync int cxRightWidth;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync int cyTopHeight;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync int cyBottomHeight;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} MARGINS, *PMARGINS;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI GetThemeMargins(HTHEME,HDC,int,int,int,RECT*,MARGINS*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI GetThemeMetric(HTHEME,HDC,int,int,int,int*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync TS_MIN,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync TS_TRUE,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync TS_DRAW
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} THEMESIZE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI GetThemePartSize(HTHEME,HDC,int,int,RECT*,THEMESIZE,SIZE*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI GetThemePosition(HTHEME,int,int,int,POINT*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PO_STATE,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PO_PART,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PO_CLASS,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PO_GLOBAL,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PO_NOTFOUND
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} PROPERTYORIGIN;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI GetThemePropertyOrigin(HTHEME,int,int,int,PROPERTYORIGIN*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI GetThemeRect(HTHEME,int,int,int,RECT*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI GetThemeString(HTHEME,int,int,int,LPWSTR,int);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI GetThemeSysBool(HTHEME,int);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncCOLORREF WINAPI GetThemeSysColor(HTHEME,int);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHBRUSH WINAPI GetThemeSysColorBrush(HTHEME,int);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI GetThemeSysFont(HTHEME,int,LOGFONTW*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI GetThemeSysInt(HTHEME,int,int*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncint WINAPI GetThemeSysSize(HTHEME,int);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI GetThemeSysString(HTHEME,int,LPWSTR,int);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI GetThemeTextExtent(HTHEME,HDC,int,int,LPCWSTR,int,DWORD,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync const RECT*,RECT*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI GetThemeTextMetrics(HTHEME,HDC,int,int,TEXTMETRICW*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHTHEME WINAPI GetWindowTheme(HWND);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define HTTB_BACKGROUNDSEG 0x0000
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define HTTB_FIXEDBORDER 0x0002
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define HTTB_CAPTION 0x0004
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define HTTB_RESIZINGBORDER_LEFT 0x0010
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define HTTB_RESIZINGBORDER_TOP 0x0020
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define HTTB_RESIZINGBORDER_RIGHT 0x0040
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define HTTB_RESIZINGBORDER_BOTTOM 0x0080
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define HTTB_RESIZINGBORDER \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync (HTTB_RESIZINGBORDER_LEFT|HTTB_RESIZINGBORDER_TOP|\
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HTTB_RESIZINGBORDER_RIGHT|HTTB_RESIZINGBORDER_BOTTOM)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define HTTB_SIZINGTEMPLATE 0x0100
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define HTTB_SYSTEMSIZINGMARGINS 0x0200
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define OTD_FORCE_RECT_SIZING 0x0001
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define OTD_NONCLIENT 0x0002
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define OTD_VALIDBITS (OTD_FORCE_RECT_SIZING | OTD_NONCLIENT)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI HitTestThemeBackground(HTHEME,HDC,int,int,DWORD,const RECT*,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRGN,POINT,WORD*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI IsAppThemed(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI IsThemeActive(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI IsThemeBackgroundPartiallyTransparent(HTHEME,int,int);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI IsThemeDialogTextureEnabled(HWND);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI IsThemePartDefined(HTHEME,int,int);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHTHEME WINAPI OpenThemeData(HWND,LPCWSTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHTHEME WINAPI OpenThemeDataEx(HWND,LPCWSTR,DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncvoid WINAPI SetThemeAppProperties(DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI SetWindowTheme(HWND,LPCWSTR,LPCWSTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Double-buffered Drawing API */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef HANDLE HPAINTBUFFER;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI BufferedPaintInit(VOID);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI BufferedPaintUnInit(VOID);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum _BP_BUFFERFORMAT
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BPBF_COMPATIBLEBITMAP,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BPBF_DIB,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BPBF_TOPDOWNDIB,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BPBF_TOPDOWNMONODIB
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} BP_BUFFERFORMAT;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _BP_PAINTPARAMS
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD cbSize;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwFlags;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync const RECT *prcExclude;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync const BLENDFUNCTION *pBlendFunction;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} BP_PAINTPARAMS, *PBP_PAINTPARAMS;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHPAINTBUFFER WINAPI BeginBufferedPaint(HDC, const RECT *, BP_BUFFERFORMAT,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BP_PAINTPARAMS *,HDC *);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncHRESULT WINAPI EndBufferedPaint(HPAINTBUFFER, BOOL);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif