Implemented a few more device caps.

This commit is contained in:
Huw Davies 2003-05-19 21:51:44 +00:00 committed by Alexandre Julliard
parent 18f7bfb42e
commit cc5f3cd9b8
3 changed files with 20 additions and 0 deletions

View File

@ -290,6 +290,14 @@ INT EMFDRV_GetDeviceCaps(PHYSDEV dev, INT cap)
return physDev->vertsize;
case BITSPIXEL:
return physDev->bitspixel;
case TEXTCAPS:
return physDev->textcaps;
case RASTERCAPS:
return physDev->rastercaps;
case TECHNOLOGY:
return physDev->technology;
case PLANES:
return physDev->planes;
default:
FIXME("Unimplemented cap %d\n", cap);

View File

@ -38,6 +38,10 @@ typedef struct
INT horzsize, vertsize;
INT logpixelsx, logpixelsy;
INT bitspixel;
INT textcaps;
INT rastercaps;
INT technology;
INT planes;
} EMFDRV_PDEVICE;

View File

@ -319,6 +319,10 @@ HDC WINAPI CreateEnhMetaFileW(
physDev->horzsize = GetDeviceCaps(hRefDC, HORZSIZE);
physDev->vertsize = GetDeviceCaps(hRefDC, VERTSIZE);
physDev->bitspixel = GetDeviceCaps(hRefDC, BITSPIXEL);
physDev->textcaps = GetDeviceCaps(hRefDC, TEXTCAPS);
physDev->rastercaps = GetDeviceCaps(hRefDC, RASTERCAPS);
physDev->technology = GetDeviceCaps(hRefDC, TECHNOLOGY);
physDev->planes = GetDeviceCaps(hRefDC, PLANES);
physDev->emh->iType = EMR_HEADER;
physDev->emh->nSize = size;
@ -357,6 +361,10 @@ HDC WINAPI CreateEnhMetaFileW(
physDev->emh->szlMillimeters.cx = physDev->horzsize;
physDev->emh->szlMillimeters.cy = physDev->vertsize;
/* Size in micrometers */
physDev->emh->szlMicrometers.cx = physDev->horzsize * 1000;
physDev->emh->szlMicrometers.cy = physDev->vertsize * 1000;
memcpy((char *)physDev->emh + sizeof(ENHMETAHEADER), description, length);
if (filename) /* disk based metafile */