blob: 3bae4894c953c19d225b0f7a344abc42946125ad [file] [log] [blame]
/*
* WingG support
*
* Started by Robert Pouliot <krynos@clic.net>
*/
#include "gdi.h"
#include "windows.h"
#include "stddebug.h"
#include "debug.h"
/***********************************************************************
* WingCreateDC16 (WING.1001)
*/
HDC16 WinGCreateDC16(void)
{
/* FIXME: Probably wrong... */
return CreateDC("DISPLAY", NULL, NULL, NULL);
}
/***********************************************************************
* WinGRecommendDIBFormat16 (WING.1002)
*/
BOOL16 WinGRecommendDIBFormat16(BITMAPINFO *fmt)
{
HDC16 i=GetDC16(0);
fmt->bmiHeader.biSize=sizeof(BITMAPINFOHEADER);
fmt->bmiHeader.biWidth=0;
fmt->bmiHeader.biHeight=1; /* The important part */
fmt->bmiHeader.biPlanes=GetDeviceCaps(i, PLANES);
fmt->bmiHeader.biBitCount=GetDeviceCaps(i, BITSPIXEL);
fmt->bmiHeader.biCompression=BI_RGB;
fmt->bmiHeader.biSizeImage=0;
fmt->bmiHeader.biXPelsPerMeter=1000/25.4*GetDeviceCaps(i,LOGPIXELSX);
fmt->bmiHeader.biYPelsPerMeter=1000/25.4*GetDeviceCaps(i,LOGPIXELSY);
fmt->bmiHeader.biClrUsed=0;
fmt->bmiHeader.biClrImportant=0;
ReleaseDC16(0, i);
return 1;
}
/***********************************************************************
* WinGCreateBitmap16 (WING.1003)
*/
HBITMAP16 WinGCreateBitmap16(HDC16 winDC, BITMAPINFO *header, void **bits)
{
fprintf(stdnimp,"WinGCreateBitmap: almost empty stub! (expect failure)\n");
/* Assume RGB color */
if(bits==NULL)
return CreateDIBitmap(winDC, header, 0, bits, header, 0);
else
return CreateDIBitmap(winDC, header, 1, bits, header, 0);
return 0;
}
/***********************************************************************
* WinGGetDIBPointer16 (WING.1004)
*/
void* WinGGetDIBPointer16(HBITMAP16 bmap, BITMAPINFO *header)
{
fprintf(stdnimp,"WinGGetDIBPointer16: empty stub!\n");
return NULL;
}
/***********************************************************************
* WinGGetDIBColorTable16 (WING.1005)
*/
UINT16 WinGGetDIBColorTable16(HDC16 winDC, UINT16 start, UINT16 numentry,
RGBQUAD* colors)
{
return GetPaletteEntries(winDC, start, numentry, colors);
}
/***********************************************************************
* WinGSetDIBColorTable16 (WING.1006)
*/
UINT16 WinGSetDIBColorTable16(HDC16 winDC, UINT16 start, UINT16 numentry,
RGBQUAD* colors)
{
return SetPaletteEntries(winDC, start, numentry, colors);
}
/***********************************************************************
* WinGCreateHalfTonePalette16 (WING.1007)
*/
HPALETTE16 WinGCreateHalfTonePalette16(void)
{
fprintf(stdnimp,"WinGCreateHalfTonePalette16: empty stub!\n");
return 0;
}
/***********************************************************************
* WinGCreateHalfToneBrush16 (WING.1008)
*/
HPALETTE16 WinGCreateHalfToneBrush16(HDC16 winDC, COLORREF col, INT16 dithertype)
{
fprintf(stdnimp,"WinGCreateHalfToneBrush16: empty stub!\n");
return 0;
}
/***********************************************************************
* WinGStretchBlt16 (WING.1009)
*/
BOOL16 WinGStretchBlt16(HDC16 destDC, INT16 xDest, INT16 yDest, INT16 widDest,
INT16 heiDest, HDC16 srcDC, INT16 xSrc, INT16 ySrc,
INT16 widSrc, INT16 heiSrc)
{
return StretchBlt16(destDC, xDest, yDest, widDest, heiDest, srcDC, xSrc, ySrc, widSrc, heiSrc, SRCCOPY);
/* fprintf(stdnimp,"WinGStretchBlt16: empty stub!\n");*/
/* return 0; */
}
/***********************************************************************
* WinGBitBlt16 (WING.1010)
*/
BOOL16 WinGBitBlt16(HDC16 destDC, INT16 xDest, INT16 yDest, INT16 widDest,
INT16 heiDest, HDC16 srcDC, INT16 xSrc, INT16 ySrc)
{
return BitBlt16(destDC, xDest, yDest, widDest, heiDest, srcDC, xSrc, ySrc, SRCCOPY);
/* fprintf(stdnimp,"WinGBitBlt16: empty stub!\n");*/
/* return 0;*/
}