add dwmapi from wine 1.1.11
authorChristoph von Wittich <christoph_vw@reactos.org>
Wed, 31 Dec 2008 08:02:56 +0000 (08:02 +0000)
committerChristoph von Wittich <christoph_vw@reactos.org>
Wed, 31 Dec 2008 08:02:56 +0000 (08:02 +0000)
svn path=/trunk/; revision=38482

reactos/baseaddress.rbuild
reactos/boot/bootdata/packages/reactos.dff
reactos/dll/win32/dwmapi/dwmapi.rbuild [new file with mode: 0644]
reactos/dll/win32/dwmapi/dwmapi.spec [new file with mode: 0644]
reactos/dll/win32/dwmapi/dwmapi_main.c [new file with mode: 0644]
reactos/dll/win32/dwmapi/version.rc [new file with mode: 0644]
reactos/dll/win32/win32.rbuild
reactos/include/psdk/dwmapi.h [new file with mode: 0644]

index e45862d..55967b5 100644 (file)
@@ -7,6 +7,7 @@
   <property name="BASEADDRESS_DEVENUM" value="0x35680000" />
   <property name="BASEADDRESS_RSABASE" value="0x35700000" />
   <property name="BASEADDRESS_RSAENH" value="0x35780000" />
+  <property name="BASEADDRESS_DWMAPI" value="0x4A3F0000" />
   <property name="BASEADDRESS_MPRAPI" value="0x4C400000" />
   <property name="BASEADDRESS_PSTOREC" value="0x513D0000" />
   <property name="BASEADDRESS_LPK" value="0x516C0000" />
index a970918..225ef4e 100644 (file)
@@ -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 (file)
index 0000000..778500e
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
+<group>
+<module name="dwmapi" type="win32dll" baseaddress="${BASEADDRESS_DWMAPI}" installbase="system32" installname="dwmapi.dll" allowwarnings="true">
+       <importlibrary definition="dwmapi.spec" />
+       <include base="dwmapi">.</include>
+       <include base="ReactOS">include/reactos/wine</include>
+       <define name="__WINESRC__" />
+       <file>dwmapi_main.c</file>
+       <file>version.rc</file>
+       <library>wine</library>
+       <library>kernel32</library>
+       <library>ntdll</library>
+</module>
+</group>
diff --git a/reactos/dll/win32/dwmapi/dwmapi.spec b/reactos/dll/win32/dwmapi/dwmapi.spec
new file mode 100644 (file)
index 0000000..63ee2f5
--- /dev/null
@@ -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 (file)
index 0000000..e306c56
--- /dev/null
@@ -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 <stdarg.h>
+
+#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 (file)
index 0000000..b76f194
--- /dev/null
@@ -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"
index eafaf66..dbeda42 100644 (file)
@@ -76,6 +76,9 @@
 <directory name="dciman32">
        <xi:include href="dciman32/dciman32.rbuild" />
 </directory>
+<directory name="dwmapi">
+       <xi:include href="dwmapi/dwmapi.rbuild" />
+</directory>
 <directory name="devmgr">
        <xi:include href="devmgr/devmgr.rbuild" />
 </directory>
diff --git a/reactos/include/psdk/dwmapi.h b/reactos/include/psdk/dwmapi.h
new file mode 100644 (file)
index 0000000..710e3f4
--- /dev/null
@@ -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 */