Commit 6a78ea4d authored by Reece Dunn's avatar Reece Dunn Committed by Alexandre Julliard

uxtheme: Add stubs for the double buffer drawing API in Vista.

parent f571ecd2
...@@ -8,6 +8,7 @@ IMPORTS = user32 gdi32 advapi32 kernel32 ...@@ -8,6 +8,7 @@ IMPORTS = user32 gdi32 advapi32 kernel32
DELAYIMPORTS = msimg32 DELAYIMPORTS = msimg32
C_SRCS = \ C_SRCS = \
buffer.c \
draw.c \ draw.c \
main.c \ main.c \
metric.c \ metric.c \
......
/*
* uxtheme Double-buffered Drawing API
*
* Copyright (C) 2008 Reece H. Dunn
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "config.h"
#include <stdlib.h>
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "winuser.h"
#include "wingdi.h"
#include "vfwmsgs.h"
#include "uxtheme.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(uxtheme);
/***********************************************************************
* BufferedPaintInit (UXTHEME.@)
*/
HRESULT WINAPI BufferedPaintInit(VOID)
{
FIXME("Stub ()\n");
return S_OK;
}
/***********************************************************************
* BufferedPaintUnInit (UXTHEME.@)
*/
HRESULT WINAPI BufferedPaintUnInit(VOID)
{
FIXME("Stub ()\n");
return S_OK;
}
/***********************************************************************
* BeginBufferedPaint (UXTHEME.@)
*/
HPAINTBUFFER WINAPI BeginBufferedPaint(HDC hdcTarget,
const RECT * prcTarget,
BP_BUFFERFORMAT dwFormat,
BP_PAINTPARAMS *pPaintParams,
HDC *phdc)
{
FIXME("Stub (%p %p %d %p %p)\n", hdcTarget, prcTarget, dwFormat,
pPaintParams, phdc);
return NULL;
}
/***********************************************************************
* EndBufferedPaint (UXTHEME.@)
*/
HRESULT WINAPI EndBufferedPaint(HPAINTBUFFER hPaintBuffer, BOOL fUpdateTarget)
{
FIXME("Stub (%p %d)\n", hPaintBuffer, fUpdateTarget);
return S_OK;
}
...@@ -43,6 +43,9 @@ ...@@ -43,6 +43,9 @@
63 stub -noname MarkSelection 63 stub -noname MarkSelection
# Standard functions # Standard functions
@ stdcall BeginBufferedPaint(ptr ptr long ptr ptr)
@ stdcall BufferedPaintInit()
@ stdcall BufferedPaintUnInit()
@ stdcall CloseThemeData(ptr) @ stdcall CloseThemeData(ptr)
@ stdcall DrawThemeBackground(ptr ptr long long ptr ptr) @ stdcall DrawThemeBackground(ptr ptr long long ptr ptr)
@ stdcall DrawThemeBackgroundEx(ptr ptr long long ptr ptr) @ stdcall DrawThemeBackgroundEx(ptr ptr long long ptr ptr)
...@@ -52,6 +55,7 @@ ...@@ -52,6 +55,7 @@
@ stdcall DrawThemeText(ptr ptr long long wstr long long long ptr) @ stdcall DrawThemeText(ptr ptr long long wstr long long long ptr)
@ stdcall EnableThemeDialogTexture(ptr long) @ stdcall EnableThemeDialogTexture(ptr long)
@ stdcall EnableTheming(long) @ stdcall EnableTheming(long)
@ stdcall EndBufferedPaint(ptr long)
@ stdcall GetCurrentThemeName(wstr long wstr long wstr long) @ stdcall GetCurrentThemeName(wstr long wstr long wstr long)
@ stdcall GetThemeAppProperties() @ stdcall GetThemeAppProperties()
@ stdcall GetThemeBackgroundContentRect(ptr ptr long long ptr ptr) @ stdcall GetThemeBackgroundContentRect(ptr ptr long long ptr ptr)
......
...@@ -172,4 +172,32 @@ void WINAPI SetThemeAppProperties(DWORD); ...@@ -172,4 +172,32 @@ void WINAPI SetThemeAppProperties(DWORD);
HRESULT WINAPI SetWindowTheme(HWND,LPCWSTR,LPCWSTR); HRESULT WINAPI SetWindowTheme(HWND,LPCWSTR,LPCWSTR);
/* Double-buffered Drawing API */
typedef HANDLE HPAINTBUFFER;
HRESULT WINAPI BufferedPaintInit(VOID);
HRESULT WINAPI BufferedPaintUnInit(VOID);
typedef enum _BP_BUFFERFORMAT
{
BPBF_COMPATIBLEBITMAP,
BPBF_DIB,
BPBF_TOPDOWNDIB,
BPBF_TOPDOWNMONODIB
} BP_BUFFERFORMAT;
typedef struct _BP_PAINTPARAMS
{
DWORD cbSize;
DWORD dwFlags;
const RECT *prcExclude;
const BLENDFUNCTION *pBlendFunction;
} BP_PAINTPARAMS, *PBP_PAINTPARAMS;
HPAINTBUFFER WINAPI BeginBufferedPaint(HDC, const RECT *, BP_BUFFERFORMAT,
BP_PAINTPARAMS *,HDC *);
HRESULT WINAPI EndBufferedPaint(HPAINTBUFFER, BOOL);
#endif #endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment