Commit d99754ad authored by Huw Davies's avatar Huw Davies Committed by Alexandre Julliard

wineps.drv: Make the rectangle an optional parameter to get_bbox().

parent 09dc6019
...@@ -168,20 +168,23 @@ static BOOL is_room_for_font(PSDRV_PDEVICE *physDev) ...@@ -168,20 +168,23 @@ static BOOL is_room_for_font(PSDRV_PDEVICE *physDev)
* the font size we'll get the data directly from the TrueType HEAD table rather * the font size we'll get the data directly from the TrueType HEAD table rather
* than using GetOutlineTextMetrics. * than using GetOutlineTextMetrics.
*/ */
static BOOL get_bbox(PSDRV_PDEVICE *physDev, RECT *rc, UINT *emsize) static BOOL get_bbox(HDC hdc, RECT *rc, UINT *emsize)
{ {
BYTE head[54]; /* the head table is 54 bytes long */ BYTE head[54]; /* the head table is 54 bytes long */
if(GetFontData(physDev->hdc, MS_MAKE_TAG('h','e','a','d'), 0, head, if(GetFontData(hdc, MS_MAKE_TAG('h','e','a','d'), 0, head, sizeof(head)) == GDI_ERROR)
sizeof(head)) == GDI_ERROR) { {
ERR("Can't retrieve head table\n"); ERR("Can't retrieve head table\n");
return FALSE; return FALSE;
} }
*emsize = GET_BE_WORD(head + 18); /* unitsPerEm */ *emsize = GET_BE_WORD(head + 18); /* unitsPerEm */
rc->left = (signed short)GET_BE_WORD(head + 36); /* xMin */ if(rc)
rc->bottom = (signed short)GET_BE_WORD(head + 38); /* yMin */ {
rc->right = (signed short)GET_BE_WORD(head + 40); /* xMax */ rc->left = (signed short)GET_BE_WORD(head + 36); /* xMin */
rc->top = (signed short)GET_BE_WORD(head + 42); /* yMax */ rc->bottom = (signed short)GET_BE_WORD(head + 38); /* yMin */
rc->right = (signed short)GET_BE_WORD(head + 40); /* xMax */
rc->top = (signed short)GET_BE_WORD(head + 42); /* yMax */
}
return TRUE; return TRUE;
} }
...@@ -243,7 +246,7 @@ BOOL PSDRV_WriteSetDownloadFont(PSDRV_PDEVICE *physDev) ...@@ -243,7 +246,7 @@ BOOL PSDRV_WriteSetDownloadFont(PSDRV_PDEVICE *physDev)
RECT bbox; RECT bbox;
UINT emsize; UINT emsize;
if (!get_bbox(physDev, &bbox, &emsize)) { if (!get_bbox(physDev->hdc, &bbox, &emsize)) {
HeapFree(GetProcessHeap(), 0, potm); HeapFree(GetProcessHeap(), 0, potm);
return FALSE; return FALSE;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment