diff --git a/reactos/baseaddress.rbuild b/reactos/baseaddress.rbuild index e45862d824e..55967b54751 100644 --- a/reactos/baseaddress.rbuild +++ b/reactos/baseaddress.rbuild @@ -7,6 +7,7 @@ + diff --git a/reactos/boot/bootdata/packages/reactos.dff b/reactos/boot/bootdata/packages/reactos.dff index a97091879e7..225ef4ee01d 100644 --- a/reactos/boot/bootdata/packages/reactos.dff +++ b/reactos/boot/bootdata/packages/reactos.dff @@ -249,6 +249,7 @@ dll\win32\cryptnet\cryptnet.dll 1 dll\win32\cryptui\cryptui.dll 1 dll\win32\dbghelp\dbghelp.dll 1 dll\win32\dciman32\dciman32.dll 1 +dll\win32\dwmapi\dwmapi.dll 1 dll\win32\devmgr\devmgr.dll 1 dll\win32\dhcpcsvc\dhcpcsvc.dll 1 dll\win32\dnsapi\dnsapi.dll 1 diff --git a/reactos/dll/win32/dwmapi/dwmapi.rbuild b/reactos/dll/win32/dwmapi/dwmapi.rbuild new file mode 100644 index 00000000000..778500e5189 --- /dev/null +++ b/reactos/dll/win32/dwmapi/dwmapi.rbuild @@ -0,0 +1,15 @@ + + + + + + . + include/reactos/wine + + dwmapi_main.c + version.rc + wine + kernel32 + ntdll + + diff --git a/reactos/dll/win32/dwmapi/dwmapi.spec b/reactos/dll/win32/dwmapi/dwmapi.spec new file mode 100644 index 00000000000..63ee2f54d33 --- /dev/null +++ b/reactos/dll/win32/dwmapi/dwmapi.spec @@ -0,0 +1,44 @@ +100 stub @ +101 stub @ +102 stdcall DwmEnableComposition (long) +103 stub @ +104 stub @ +105 stub @ +106 stub @ +107 stub @ +108 stub @ +109 stub @ +110 stub @ +111 stub @ +112 stub @ +113 stub @ + +115 stub @ +116 stub @ +117 stub @ +118 stub @ +119 stub @ +120 stub @ + +@ stub DwmAttachMilContent +@ stub DwmDefWindowProc +@ stub DwmDetachMilContent +@ stub DwmEnableBlurBehindWindow +@ stub DwmEnableMMCSS +@ stdcall DwmExtendFrameIntoClientArea(long ptr) +@ stdcall DwmFlush() +@ stdcall DwmGetColorizationColor(ptr long) +@ stub DwmGetCompositionTimingInfo +@ stub DwmGetGraphicsStreamClient +@ stub DwmGetGraphicsStreamTransformHint +@ stub DwmGetTransportAttributes +@ stub DwmGetWindowAttribute +@ stdcall DwmIsCompositionEnabled(ptr) +@ stub DwmModifyPreviousDxFrameDuration +@ stub DwmQueryThumbnailSourceSize +@ stub DwmRegisterThumbnail +@ stub DwmSetDxFrameDuration +@ stub DwmSetPresentParameters +@ stdcall DwmSetWindowAttribute(long long ptr long) +@ stdcall DwmUnregisterThumbnail(long) +@ stub DwmUpdateThumbnailProperties diff --git a/reactos/dll/win32/dwmapi/dwmapi_main.c b/reactos/dll/win32/dwmapi/dwmapi_main.c new file mode 100644 index 00000000000..e306c56709f --- /dev/null +++ b/reactos/dll/win32/dwmapi/dwmapi_main.c @@ -0,0 +1,121 @@ +/* + * Dwmapi + * + * Copyright 2007 Andras Kovacs + * + * 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 + +#define NONAMELESSUNION +#define NONAMELESSSTRUCT +#define COBJMACROS +#include "windef.h" +#include "winbase.h" +#include "wingdi.h" +#include "winuser.h" +#include "dwmapi.h" +#include "wine/debug.h" + +WINE_DEFAULT_DEBUG_CHANNEL(dwmapi); + + +/* At process attach */ +BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv) +{ + switch(fdwReason) + { + case DLL_WINE_PREATTACH: + return FALSE; /* prefer native version */ + case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls( hInstDLL ); + break; + } + return TRUE; +} + +/********************************************************************** + * DwmIsCompositionEnabled (DWMAPI.@) + */ +HRESULT WINAPI DwmIsCompositionEnabled(BOOL *enabled) +{ + FIXME("%p\n", enabled); + + *enabled = FALSE; + return S_OK; +} + +/********************************************************************** + * DwmEnableComposition (DWMAPI.102) + */ +HRESULT WINAPI DwmEnableComposition(UINT uCompositionAction) +{ + FIXME("(%d) stub\n", uCompositionAction); + + return S_OK; +} + +/********************************************************************** + * DwmExtendFrameIntoClientArea (DWMAPI.@) + */ +HRESULT WINAPI DwmExtendFrameIntoClientArea(HWND hwnd, const MARGINS* margins) +{ + FIXME("(%p, %p) stub\n", hwnd, margins); + + return E_NOTIMPL; +} + +/********************************************************************** + * DwmGetColorizationColor (DWMAPI.@) + */ +HRESULT WINAPI DwmGetColorizationColor(DWORD *colorization, BOOL opaque_blend) +{ + FIXME("(%p, %d) stub\n", colorization, opaque_blend); + + return E_NOTIMPL; +} + +/********************************************************************** + * DwmFlush (DWMAPI.@) + */ +HRESULT WINAPI DwmFlush() +{ + FIXME("() stub\n"); + + return E_NOTIMPL; +} + +/********************************************************************** + * DwmSetWindowAttribute (DWMAPI.@) + */ +HRESULT WINAPI DwmSetWindowAttribute(HWND hwnd, DWORD attributenum, LPCVOID attribute, DWORD size) +{ + FIXME("(%p, %x, %p, %x) stub\n", hwnd, attributenum, attribute, size); + + return E_NOTIMPL; +} + +/********************************************************************** + * DwmUnregisterThumbnail (DWMAPI.@) + */ +HRESULT WINAPI DwmUnregisterThumbnail(HTHUMBNAIL thumbnail) +{ + FIXME("(%p) stub\n", thumbnail); + + return E_NOTIMPL; +} diff --git a/reactos/dll/win32/dwmapi/version.rc b/reactos/dll/win32/dwmapi/version.rc new file mode 100644 index 00000000000..b76f194dd65 --- /dev/null +++ b/reactos/dll/win32/dwmapi/version.rc @@ -0,0 +1,26 @@ +/* + * Copyright 2007 Andras Kovacs + * + * 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 + */ + +#define WINE_FILEDESCRIPTION_STR "Desktop Window Manager API" +#define WINE_FILENAME_STR "dwmapi.dll" +#define WINE_FILEVERSION 6,0,6000,16386 +#define WINE_FILEVERSION_STR "6.0.6000.16386" +#define WINE_PRODUCTVERSION 6,0,6000,16386 +#define WINE_PRODUCTVERSION_STR "6.0.6000.16386" + +#include "wine/wine_common_ver.rc" diff --git a/reactos/dll/win32/win32.rbuild b/reactos/dll/win32/win32.rbuild index eafaf664ed8..dbeda426b7f 100644 --- a/reactos/dll/win32/win32.rbuild +++ b/reactos/dll/win32/win32.rbuild @@ -76,6 +76,9 @@ + + + diff --git a/reactos/include/psdk/dwmapi.h b/reactos/include/psdk/dwmapi.h new file mode 100644 index 00000000000..710e3f4dde7 --- /dev/null +++ b/reactos/include/psdk/dwmapi.h @@ -0,0 +1,45 @@ +/* + * 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 + */ + +#ifndef __WINE_DWMAPI_H +#define __WINE_DWMAPI_H + +#include "wtypes.h" +#include "uxtheme.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef DWMAPI +# define DWMAPI STDAPI +# define DWMAPI_(type) STDAPI_(type) +#endif + +DECLARE_HANDLE(HTHUMBNAIL); + +DWMAPI DwmEnableComposition(UINT); +DWMAPI DwmExtendFrameIntoClientArea(HWND,const MARGINS*); +DWMAPI DwmGetColorizationColor(DWORD*,BOOL); +DWMAPI DwmIsCompositionEnabled(BOOL*); +DWMAPI DwmSetWindowAttribute(HWND, DWORD, LPCVOID, DWORD); +DWMAPI DwmUnregisterThumbnail(HTHUMBNAIL); + +#ifdef __cplusplus +} +#endif + +#endif /* __WINE_DWMAPI_H */