Author: dreimer
Date: Wed Jul 14 10:59:32 2010
New Revision: 48036
URL:
http://svn.reactos.org/svn/reactos?rev=48036&view=rev
Log:
Bug 5501: [PATCH] Adding Wing32 support by Carlo Bramini
Added:
trunk/reactos/dll/win32/wing32/
trunk/reactos/dll/win32/wing32/wing32.c (with props)
trunk/reactos/dll/win32/wing32/wing32.rbuild (with props)
trunk/reactos/dll/win32/wing32/wing32.spec (with props)
Modified:
trunk/reactos/boot/bootdata/packages/reactos.dff
trunk/reactos/dll/win32/win32.rbuild
Modified: trunk/reactos/boot/bootdata/packages/reactos.dff
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/packages/rea…
==============================================================================
--- trunk/reactos/boot/bootdata/packages/reactos.dff [iso-8859-1] (original)
+++ trunk/reactos/boot/bootdata/packages/reactos.dff [iso-8859-1] Wed Jul 14 10:59:32
2010
@@ -44,9 +44,8 @@
base\applications\cmdutils\xcopy\xcopy.exe 1
base\applications\control\control.exe 1
base\applications\dxdiag\dxdiag.exe 1
+base\applications\extrac32\extrac32.exe 1
base\applications\fontview\fontview.exe 1
-base\applications\mscutils\devmgmt\devmgmt.exe 1
-base\applications\mscutils\eventvwr\eventvwr.exe 1
base\applications\games\solitaire\sol.exe 1
base\applications\games\spider\spider.exe 1
base\applications\games\winemine\winemine.exe 1
@@ -57,16 +56,20 @@
base\applications\magnify\magnify.exe 1
base\applications\mplay32\mplay32.exe 1
base\applications\msconfig\msconfig.exe 1
+base\applications\mscutils\devmgmt\devmgmt.exe 1
+base\applications\mscutils\eventvwr\eventvwr.exe 1
+base\applications\mscutils\servman\servman.exe 1
base\applications\mstsc\mstsc.exe 1
base\applications\network\arp\arp.exe 1
base\applications\network\dwnl\dwnl.exe 1
-base\applications\network\route\route.exe 1
base\applications\network\finger\finger.exe 1
base\applications\network\ftp\ftp.exe 1
base\applications\network\ipconfig\ipconfig.exe 1
+base\applications\network\net\net.exe 1
base\applications\network\netstat\netstat.exe 1
base\applications\network\nslookup\nslookup.exe 1
base\applications\network\ping\ping.exe 1
+base\applications\network\route\route.exe 1
base\applications\network\telnet\telnet.exe 1
base\applications\network\tracert\tracert.exe 1
base\applications\network\whois\whois.exe 1
@@ -79,7 +82,6 @@
base\applications\sc\sc.exe 1
base\applications\screensavers\3dtext\3dtext.scr 1
base\applications\screensavers\logon\logon.scr 1
-base\applications\mscutils\servman\servman.exe 1
base\applications\shutdown\shutdown.exe 1
base\applications\sndrec32\sndrec32.exe 1
base\applications\sndvol32\sndvol32.exe 1
@@ -93,12 +95,12 @@
base\services\eventlog\eventlog.exe 1
base\services\rpcss\rpcss.exe 1
base\services\spoolsv\spoolsv.exe 1
+base\services\svchost\svchost.exe 1
base\services\tcpsvcs\tcpsvcs.exe 1
+base\services\tcpsvcs\quotes 5
base\services\telnetd\telnetd.exe 1
-base\services\tcpsvcs\quotes 5
base\services\umpnpmgr\umpnpmgr.exe 1
base\services\wlansvc\wlansvc.exe 1
-base\services\svchost\svchost.exe 1
base\setup\setup\setup.exe 1
base\setup\vmwinst\vmwinst.exe 1
@@ -111,6 +113,7 @@
base\system\autochk\autochk.exe 1
base\system\bootok\bootok.exe 1
+base\system\expand\expand.exe 1
base\system\format\format.exe 1
base\system\lsass\lsass.exe 1
base\system\msiexec\msiexec.exe 1
@@ -118,19 +121,17 @@
base\system\rundll32\rundll32.exe 1
base\system\runonce\runonce.exe 1
base\system\services\services.exe 1
+base\system\smss\smss.exe 1
base\system\userinit\userinit.exe 1
base\system\winlogon\winlogon.exe 1
-base\system\expand\expand.exe 1
-base\system\smss\smss.exe 1
-
; Dynamic Link Libraries
-dll\3rdparty\mesa32\mesa32.dll 1
+dll\3rdparty\dxtn\dxtn.dll 1 optional
dll\3rdparty\libjpeg\libjpeg.dll 1
dll\3rdparty\libpng\libpng.dll 1
dll\3rdparty\libtiff\libtiff.dll 1
dll\3rdparty\libxslt\libxslt.dll 1
-dll\3rdparty\dxtn\dxtn.dll 1 optional
+dll\3rdparty\mesa32\mesa32.dll 1
dll\cpl\access\access.cpl 1
dll\cpl\appwiz\appwiz.cpl 1
@@ -153,6 +154,8 @@
dll\directx\amstream\amstream.dll 1
;dll\directx\bdaplgin\bdaplgin.ax 1
+dll\directx\d3d8thk\d3d8thk.dll 1
+dll\directx\devenum\devenum.dll 1
dll\directx\dinput\dinput.dll 1
dll\directx\dinput8\dinput8.dll 1
dll\directx\dmusic\dmusic.dll 1
@@ -160,19 +163,17 @@
dll\directx\dplayx\dplayx.dll 1
dll\directx\dsound\dsound.dll 1
dll\directx\dxdiagn\dxdiagn.dll 1
-dll\directx\wine\ddraw\ddraw.dll 1
-dll\directx\d3d8thk\d3d8thk.dll 1
-dll\directx\devenum\devenum.dll 1
dll\directx\ksproxy\ksproxy.ax 1
dll\directx\ksuser\ksuser.dll 1
dll\directx\msdmo\msdmo.dll 1
;dll\directx\msdvbnp\msdvbnp.ax 1
;dll\directx\msvidctl\msvidctl.dll 1
+dll\directx\qedit\qedit.dll 1
dll\directx\quartz\quartz.dll 1
-dll\directx\qedit\qedit.dll 1
+dll\directx\wine\ddraw\ddraw.dll 1
dll\directx\wine\d3d8\d3d8.dll 1
+dll\directx\wine\d3d9\d3d9.dll 1
dll\directx\wine\wined3d\wined3d.dll 1
-dll\directx\wine\d3d9\d3d9.dll 1
dll\keyboard\kbda1\kbda1.dll 1
dll\keyboard\kbda2\kbda2.dll 1
@@ -182,12 +183,12 @@
dll\keyboard\kbdarmw\kbdarmw.dll 1
dll\keyboard\kbdaze\kbdaze.dll 1
dll\keyboard\kbdazel\kbdazel.dll 1
+dll\keyboard\kbdbe\kbdbe.dll 1
+dll\keyboard\kbdbga\kbdbga.dll 1
dll\keyboard\kbdbgm\kbdbgm.dll 1
dll\keyboard\kbdbgt\kbdbgt.dll 1
dll\keyboard\kbdblr\kbdblr.dll 1
dll\keyboard\kbdbr\kbdbr.dll 1
-dll\keyboard\kbdbga\kbdbga.dll 1
-dll\keyboard\kbdbe\kbdbe.dll 1
dll\keyboard\kbdbur\kbdbur.dll 1
dll\keyboard\kbdcan\kbdcan.dll 1
dll\keyboard\kbdcr\kbdcr.dll 1
@@ -203,8 +204,8 @@
dll\keyboard\kbdgeo\kbdgeo.dll 1
dll\keyboard\kbdgerg\kbdgerg.dll 1
dll\keyboard\kbdgneo\kbdgneo.dll 1
+dll\keyboard\kbdgr\kbdgr.dll 1
dll\keyboard\kbdgrist\kbdgrist.dll 1
-dll\keyboard\kbdgr\kbdgr.dll 1
dll\keyboard\kbdhe\kbdhe.dll 1
dll\keyboard\kbdheb\kbdheb.dll 1
dll\keyboard\kbdhu\kbdhu.dll 1
@@ -218,6 +219,7 @@
dll\keyboard\kbdit\kbdit.dll 1
dll\keyboard\kbdja\kbdja.dll 1
dll\keyboard\kbdkaz\kbdkaz.dll 1
+dll\keyboard\kbdko\kbdko.dll 1
dll\keyboard\kbdla\kbdla.dll 1
dll\keyboard\kbdlt1\kbdlt1.dll 1
dll\keyboard\kbdlv\kbdlv.dll 1
@@ -252,16 +254,15 @@
dll\keyboard\kbdvntc\kbdvntc.dll 1
dll\keyboard\kbdycc\kbdycc.dll 1
dll\keyboard\kbdycl\kbdycl.dll 1
-dll\keyboard\kbdko\kbdko.dll 1
dll\ntdll\ntdll.dll 1
dll\win32\acledit\acledit.dll 1
dll\win32\aclui\aclui.dll 1
dll\win32\activeds\activeds.dll 1
+dll\win32\actxprxy\actxprxy.dll 1
dll\win32\advapi32\advapi32.dll 1
dll\win32\advpack\advpack.dll 1
-dll\win32\actxprxy\actxprxy.dll 1
dll\win32\atl\atl.dll 1
dll\win32\authz\authz.dll 1
dll\win32\avicap32\avicap32.dll 1
@@ -287,10 +288,10 @@
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
+dll\win32\dwmapi\dwmapi.dll 1
dll\win32\faultrep\faultrep.dll 1
dll\win32\fmifs\fmifs.dll 1
dll\win32\fusion\fusion.dll 1
@@ -320,6 +321,7 @@
dll\win32\loadperf\loadperf.dll 1
dll\win32\localspl\localspl.dll 1
dll\win32\localui\localui.dll 1
+dll\win32\lpk\lpk.dll 1
dll\win32\lsasrv\lsasrv.dll 1
dll\win32\lz32\lz32.dll 1
dll\win32\mapi32\mapi32.dll 1
@@ -399,8 +401,8 @@
dll\win32\rasadhlp\rasadhlp.dll 1
dll\win32\rasapi32\rasapi32.dll 1
dll\win32\rasdlg\rasdlg.dll 1
+dll\win32\rasman\rasman.dll 1
dll\win32\resutils\resutils.dll 1
-dll\win32\rasman\rasman.dll 1
dll\win32\riched20\riched20.dll 1
dll\win32\riched32\riched32.dll 1
dll\win32\rpcrt4\rpcrt4.dll 1
@@ -425,6 +427,7 @@
dll\win32\shlwapi\shlwapi.dll 1
dll\win32\slbcsp\slbcsp.dll 1
dll\win32\smdll\smdll.dll 1
+dll\win32\sndblst\sndblst.dll 1
dll\win32\snmpapi\snmpapi.dll 1
dll\win32\softpub\softpub.dll 1
dll\win32\spoolss\spoolss.dll 1
@@ -452,16 +455,19 @@
dll\win32\uxtheme\uxtheme.dll 1
dll\win32\vdmdbg\vdmdbg.dll 1
dll\win32\version\version.dll 1
+dll\win32\wdmaud.drv\wdmaud.drv 1
dll\win32\windowscodecs\windowscodecs.dll 1
dll\win32\winemp3.acm\winemp3.acm 1
dll\win32\winfax\winfax.dll 1
+dll\win32\wing32\wing32.dll 1
dll\win32\winhttp\winhttp.dll 1
dll\win32\wininet\wininet.dll 1
dll\win32\winmm\winmm.dll 1
+dll\win32\winmm\midimap\midimap.dll 1
dll\win32\winspool\winspool.drv 1
dll\win32\winsta\winsta.dll 1
+dll\win32\wintrust\wintrust.dll 1
dll\win32\wlanapi\wlanapi.dll 1
-dll\win32\wintrust\wintrust.dll 1
dll\win32\wldap32\wldap32.dll 1
dll\win32\wmi\wmi.dll 1
dll\win32\ws2_32\ws2_32.dll 1
@@ -476,18 +482,19 @@
dll\win32\xinput1_3\xinput1_3.dll 1
dll\win32\xinput9_1_0\xinput9_1_0.dll 1
dll\win32\xmllite\xmllite.dll 1
-dll\win32\winmm\midimap\midimap.dll 1
-dll\win32\wdmaud.drv\wdmaud.drv 1
; Shell Extensions
dll\shellext\deskadp\deskadp.dll 1
dll\shellext\deskmon\deskmon.dll 1
+dll\shellext\devcpux\devcpux.dll 1
+dll\shellext\fontext\fontext.dll 1
+dll\shellext\slayer\slayer.dll 1
; Drivers
+drivers\base\beep\beep.sys 2
drivers\base\bootvid\bootvid.dll 1
-drivers\base\beep\beep.sys 2
+drivers\base\nmidebug\nmidebug.sys 2
drivers\base\null\null.sys 2
-drivers\base\nmidebug\nmidebug.sys 2
drivers\battery\battc\battc.sys 2
Modified: trunk/reactos/dll/win32/win32.rbuild
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/win32.rbuild?rev…
==============================================================================
--- trunk/reactos/dll/win32/win32.rbuild [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/win32.rbuild [iso-8859-1] Wed Jul 14 10:59:32 2010
@@ -604,6 +604,9 @@
<directory name="winfax">
<xi:include href="winfax/winfax.rbuild" />
</directory>
+<directory name="wing32">
+ <xi:include href="wing32/wing32.rbuild" />
+</directory>
<directory name="winhttp">
<xi:include href="winhttp/winhttp.rbuild" />
</directory>
Added: trunk/reactos/dll/win32/wing32/wing32.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wing32/wing32.c?…
==============================================================================
--- trunk/reactos/dll/win32/wing32/wing32.c (added)
+++ trunk/reactos/dll/win32/wing32/wing32.c [iso-8859-1] Wed Jul 14 10:59:32 2010
@@ -1,0 +1,141 @@
+/*
+ * WinG support
+ *
+ * Copyright 2007 Dmitry Timoshkov
+ *
+ * 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 WIN32_LEAN_AND_MEAN
+#include <windows.h>
+
+/***********************************************************************
+ * WinGCreateDC (WING32.@)
+ */
+HDC CALLBACK WinGCreateDC( void )
+{
+ return CreateCompatibleDC( NULL );
+}
+
+/***********************************************************************
+ * WinGRecommendDIBFormat (WING32.@)
+ */
+BOOL CALLBACK WinGRecommendDIBFormat( BITMAPINFO *bmi )
+{
+ if (!bmi) return FALSE;
+
+ bmi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
+ bmi->bmiHeader.biWidth = 320;
+ bmi->bmiHeader.biHeight = -1;
+ bmi->bmiHeader.biPlanes = 1;
+ bmi->bmiHeader.biBitCount = 8;
+ bmi->bmiHeader.biCompression = BI_RGB;
+ bmi->bmiHeader.biSizeImage = 0;
+ bmi->bmiHeader.biXPelsPerMeter = 0;
+ bmi->bmiHeader.biYPelsPerMeter = 0;
+ bmi->bmiHeader.biClrUsed = 0;
+ bmi->bmiHeader.biClrImportant = 0;
+
+ return TRUE;
+}
+
+/***********************************************************************
+ * WinGCreateBitmap (WING32.@)
+ */
+HBITMAP CALLBACK WinGCreateBitmap( HDC hdc, BITMAPINFO *bmi, void **bits )
+{
+ return CreateDIBSection( hdc, bmi, 0, bits, 0, 0 );
+}
+
+/***********************************************************************
+ * WinGGetDIBPointer (WING32.@)
+ */
+void * CALLBACK WinGGetDIBPointer( HBITMAP hbmp, BITMAPINFO *bmi )
+{
+ DIBSECTION ds;
+
+ if (GetObject( hbmp, sizeof(ds), &ds ) == sizeof(ds))
+ {
+ if (bmi != NULL)
+ memcpy( &bmi->bmiHeader, &ds.dsBmih, sizeof(*bmi) );
+
+ return ds.dsBm.bmBits;
+ }
+ return NULL;
+}
+
+/***********************************************************************
+ * WinGSetDIBColorTable (WING32.@)
+ */
+UINT CALLBACK WinGSetDIBColorTable( HDC hdc, UINT start, UINT end, RGBQUAD *colors )
+{
+ return SetDIBColorTable( hdc, start, end, colors );
+}
+
+/***********************************************************************
+ * WinGGetDIBColorTable (WING32.@)
+ */
+UINT CALLBACK WinGGetDIBColorTable( HDC hdc, UINT start, UINT end, RGBQUAD *colors )
+{
+ return GetDIBColorTable( hdc, start, end, colors );
+}
+
+/***********************************************************************
+ * WinGCreateHalfTonePalette (WING32.@)
+ */
+HPALETTE CALLBACK WinGCreateHalfTonePalette( void )
+{
+ HDC hdc;
+ HPALETTE hpal;
+
+ hdc = GetDC( NULL );
+ hpal = CreateHalftonePalette( hdc );
+ ReleaseDC( NULL, hdc );
+
+ return hpal;
+}
+
+/***********************************************************************
+ * WinGCreateHalfToneBrush (WING32.@)
+ */
+HBRUSH CALLBACK WinGCreateHalfToneBrush( HDC hdc, COLORREF color, INT type )
+{
+ return CreateSolidBrush( color );
+}
+
+/***********************************************************************
+ * WinGStretchBlt (WING32.@)
+ */
+BOOL CALLBACK WinGStretchBlt( HDC hdcDst, INT xDst, INT yDst, INT widthDst, INT
heightDst,
+ HDC hdcSrc, INT xSrc, INT ySrc, INT widthSrc, INT heightSrc
)
+{
+ int old_blt_mode;
+ BOOL ret;
+
+ old_blt_mode = SetStretchBltMode( hdcDst, COLORONCOLOR );
+ ret = StretchBlt( hdcDst, xDst, yDst, widthDst, heightDst,
+ hdcSrc, xSrc, ySrc, widthSrc, heightSrc, SRCCOPY );
+ SetStretchBltMode( hdcDst, old_blt_mode );
+ return ret;
+}
+
+/***********************************************************************
+ * WinGBitBlt (WING32.@)
+ */
+BOOL CALLBACK WinGBitBlt( HDC hdcDst, INT xDst, INT yDst, INT width,
+ INT height, HDC hdcSrc, INT xSrc, INT ySrc )
+{
+ return BitBlt( hdcDst, xDst, yDst, width, height, hdcSrc, xSrc, ySrc, SRCCOPY );
+}
Propchange: trunk/reactos/dll/win32/wing32/wing32.c
------------------------------------------------------------------------------
svn:eol-style = native
Added: trunk/reactos/dll/win32/wing32/wing32.rbuild
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wing32/wing32.rb…
==============================================================================
--- trunk/reactos/dll/win32/wing32/wing32.rbuild (added)
+++ trunk/reactos/dll/win32/wing32/wing32.rbuild [iso-8859-1] Wed Jul 14 10:59:32 2010
@@ -1,0 +1,11 @@
+<?xml version="1.0"?>
+<!DOCTYPE group SYSTEM "../tools/rbuild/project.dtd">
+<group>
+<module name="wing32" type="win32dll" entrypoint="0"
installbase="system32" installname="wing32.dll"
unicode="yes">
+ <importlibrary definition="wing32.spec" />
+ <library>user32</library>
+ <library>gdi32</library>
+ <file>wing32.c</file>
+ <linkerflag>--add-stdcall-alias</linkerflag>
+</module>
+</group>
Propchange: trunk/reactos/dll/win32/wing32/wing32.rbuild
------------------------------------------------------------------------------
svn:eol-style = native
Added: trunk/reactos/dll/win32/wing32/wing32.spec
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wing32/wing32.sp…
==============================================================================
--- trunk/reactos/dll/win32/wing32/wing32.spec (added)
+++ trunk/reactos/dll/win32/wing32/wing32.spec [iso-8859-1] Wed Jul 14 10:59:32 2010
@@ -1,0 +1,10 @@
+@ stdcall WinGBitBlt(long long long long long long long long)
+@ stdcall WinGCreateBitmap(long ptr ptr)
+@ stdcall WinGCreateDC()
+@ stdcall WinGCreateHalfToneBrush(long long long)
+@ stdcall WinGCreateHalfTonePalette()
+@ stdcall WinGGetDIBColorTable(long long long ptr)
+@ stdcall WinGGetDIBPointer(long ptr)
+@ stdcall WinGRecommendDIBFormat(ptr)
+@ stdcall WinGSetDIBColorTable(long long long ptr)
+@ stdcall WinGStretchBlt(long long long long long long long long long long)
Propchange: trunk/reactos/dll/win32/wing32/wing32.spec
------------------------------------------------------------------------------
svn:eol-style = native