Implement NtGdiGetDCforBitmap. Q. Where to set hdc? ATM we return null.

svn path=/trunk/; revision=33026
This commit is contained in:
James Tabor 2008-04-18 20:43:25 +00:00
parent 781bcce61f
commit 05c051a5d4
4 changed files with 20 additions and 14 deletions

View file

@ -23,6 +23,7 @@ typedef struct _BITMAPOBJ
/* For device-independent bitmaps: */
DIBSECTION *dib;
HPALETTE hDIBPalette;
HDC hDC;
} BITMAPOBJ, *PBITMAPOBJ;
#define BITMAPOBJ_IS_APIBITMAP 0x1

View file

@ -87,7 +87,7 @@ typedef struct _DC
DHPDEV PDev; // <- GDIDEVICE.hPDev DHPDEV for device.
INT DC_Type;
INT DC_Flags;
PVOID pPDev; // PGDIDEVICE
PVOID pPDev; // PGDIDEVICE aka PDEVOBJ
PVOID hSem; // PERESOURCE
FLONG flGraphics;
FLONG flGraphics2;

View file

@ -78,6 +78,7 @@ IntGdiCreateBitmap(
}
bmp->flFlags = BITMAPOBJ_IS_APIBITMAP;
bmp->hDC = NULL; // Fixme
if (NULL != pBits)
{
@ -739,4 +740,21 @@ BITMAP_GetObject(BITMAPOBJ * bmp, INT Count, LPVOID buffer)
return Count;
}
}
/*
* @implemented
*/
HDC
APIENTRY
NtGdiGetDCforBitmap(
IN HBITMAP hsurf)
{
HDC hDC = NULL;
PBITMAPOBJ bmp = BITMAPOBJ_LockBitmap( hsurf );
hDC = bmp->hDC;
BITMAPOBJ_UnlockBitmap( bmp );
return hDC;
}
/* EOF */

View file

@ -2050,19 +2050,6 @@ NtGdiGetColorSpaceforBitmap(
return 0;
}
/*
* @unimplemented
*/
HDC
APIENTRY
NtGdiGetDCforBitmap(
IN HBITMAP hsurf)
{
UNIMPLEMENTED;
return NULL;
}
/*
* @unimplemented
*/