dlls: Add wing32 dll.

This commit is contained in:
Dmitry Timoshkov 2007-02-22 18:43:58 +08:00 committed by Alexandre Julliard
parent aa3fa9a5d9
commit 47e6fb4d29
7 changed files with 171 additions and 1 deletions

View File

@ -400,6 +400,7 @@ ALL_MAKEFILES = \
dlls/wineps.drv/Makefile \
dlls/winequartz.drv/Makefile \
dlls/winex11.drv/Makefile \
dlls/wing32/Makefile \
dlls/wininet/Makefile \
dlls/wininet/tests/Makefile \
dlls/winmm/Makefile \
@ -731,6 +732,7 @@ dlls/wineoss.drv/Makefile: dlls/wineoss.drv/Makefile.in dlls/Makedll.rules
dlls/wineps.drv/Makefile: dlls/wineps.drv/Makefile.in dlls/Makedll.rules
dlls/winequartz.drv/Makefile: dlls/winequartz.drv/Makefile.in dlls/Makedll.rules
dlls/winex11.drv/Makefile: dlls/winex11.drv/Makefile.in dlls/Makedll.rules
dlls/wing32/Makefile: dlls/wing32/Makefile.in dlls/Makedll.rules
dlls/wininet/Makefile: dlls/wininet/Makefile.in dlls/Makedll.rules
dlls/wininet/tests/Makefile: dlls/wininet/tests/Makefile.in dlls/Maketest.rules
dlls/winmm/Makefile: dlls/winmm/Makefile.in dlls/Makedll.rules

3
configure vendored

File diff suppressed because one or more lines are too long

View File

@ -1771,6 +1771,7 @@ dlls/wineoss.drv/Makefile
dlls/wineps.drv/Makefile
dlls/winequartz.drv/Makefile
dlls/winex11.drv/Makefile
dlls/wing32/Makefile
dlls/wininet/Makefile
dlls/wininet/tests/Makefile
dlls/winmm/Makefile

View File

@ -197,6 +197,7 @@ BASEDIRS = \
winenas.drv \
wineoss.drv \
wineps.drv \
wing32 \
wininet \
winmm \
winnls32 \

12
dlls/wing32/Makefile.in Normal file
View File

@ -0,0 +1,12 @@
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = wing32.dll
IMPORTS = user32 gdi32 kernel32
C_SRCS = wing32.c
@MAKE_DLL_RULES@
@DEPENDENCIES@ # everything below this line is overwritten by make depend

143
dlls/wing32/wing32.c Normal file
View File

@ -0,0 +1,143 @@
/*
* 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
*/
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
#include "winuser.h"
/***********************************************************************
* WinGCreateDC (WING32.@)
*/
HDC WINAPI WinGCreateDC( void )
{
return CreateCompatibleDC( 0 );
}
/***********************************************************************
* WinGRecommendDIBFormat (WING32.@)
*/
BOOL WINAPI 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 WINAPI WinGCreateBitmap( HDC hdc, BITMAPINFO *bmi, void **bits )
{
return CreateDIBSection( hdc, bmi, 0, bits, 0, 0 );
}
/***********************************************************************
* WinGGetDIBPointer (WING32.@)
*/
void * WINAPI WinGGetDIBPointer( HBITMAP hbmp, BITMAPINFO *bmi )
{
DIBSECTION ds;
if (GetObjectW( hbmp, sizeof(ds), &ds ) == sizeof(ds))
{
memcpy( &bmi->bmiHeader, &ds.dsBmih, sizeof(*bmi) );
return ds.dsBm.bmBits;
}
return NULL;
}
/***********************************************************************
* WinGSetDIBColorTable (WING32.@)
*/
UINT WINAPI WinGSetDIBColorTable( HDC hdc, UINT start, UINT end, RGBQUAD *colors )
{
return SetDIBColorTable( hdc, start, end, colors );
}
/***********************************************************************
* WinGGetDIBColorTable (WING32.@)
*/
UINT WINAPI WinGGetDIBColorTable( HDC hdc, UINT start, UINT end, RGBQUAD *colors )
{
return GetDIBColorTable( hdc, start, end, colors );
}
/***********************************************************************
* WinGCreateHalfTonePalette (WING32.@)
*/
HPALETTE WINAPI WinGCreateHalfTonePalette( void )
{
HDC hdc;
HPALETTE hpal;
hdc = GetDC( 0 );
hpal = CreateHalftonePalette( hdc );
ReleaseDC( 0, hdc );
return hpal;
}
/***********************************************************************
* WinGCreateHalfToneBrush (WING32.@)
*/
HBRUSH WINAPI WinGCreateHalfToneBrush( HDC hdc, COLORREF color, INT type )
{
return CreateSolidBrush( color );
}
/***********************************************************************
* WinGStretchBlt (WING32.@)
*/
BOOL WINAPI 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 WINAPI 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 );
}

10
dlls/wing32/wing32.spec Normal file
View File

@ -0,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)