| /* |
| * TTY font driver |
| * |
| * Copyright 1999 Patrik Stridvall |
| */ |
| #include "dc.h" |
| #include "debugtools.h" |
| #include "font.h" |
| #include "ttydrv.h" |
| #include "wingdi.h" |
| |
| DEFAULT_DEBUG_CHANNEL(ttydrv) |
| |
| /*********************************************************************** |
| * TTYDRV_DC_GetCharWidth |
| */ |
| BOOL TTYDRV_DC_GetCharWidth(DC *dc, UINT firstChar, UINT lastChar, |
| LPINT buffer) |
| { |
| UINT c; |
| TTYDRV_PDEVICE *physDev = (TTYDRV_PDEVICE *) dc->physDev; |
| |
| FIXME("(%p, %u, %u, %p): semistub\n", dc, firstChar, lastChar, buffer); |
| |
| for(c=firstChar; c<=lastChar; c++) { |
| buffer[c-firstChar] = physDev->cellWidth; |
| } |
| |
| return TRUE; |
| } |
| |
| /*********************************************************************** |
| * TTYDRV_DC_GetTextExtentPoint |
| */ |
| BOOL TTYDRV_DC_GetTextExtentPoint(DC *dc, LPCWSTR str, INT count, |
| LPSIZE size) |
| { |
| TTYDRV_PDEVICE *physDev = (TTYDRV_PDEVICE *) dc->physDev; |
| |
| TRACE("(%p, %s, %d, %p)\n", dc, debugstr_wn(str, count), count, size); |
| |
| size->cx = count * physDev->cellWidth; |
| size->cy = physDev->cellHeight; |
| |
| return TRUE; |
| } |
| |
| /*********************************************************************** |
| * TTYDRV_DC_GetTextMetrics |
| */ |
| BOOL TTYDRV_DC_GetTextMetrics(DC *dc, LPTEXTMETRICA lptm) |
| { |
| TTYDRV_PDEVICE *physDev = (TTYDRV_PDEVICE *) dc->physDev; |
| |
| TRACE("(%p, %p)\n", dc, lptm); |
| |
| lptm->tmHeight = physDev->cellHeight; |
| lptm->tmAscent = 0; |
| lptm->tmDescent = 0; |
| lptm->tmInternalLeading = 0; |
| lptm->tmExternalLeading = 0; |
| lptm->tmAveCharWidth = physDev->cellWidth; |
| lptm->tmMaxCharWidth = physDev->cellWidth; |
| lptm->tmWeight = FW_MEDIUM; |
| lptm->tmOverhang = 0; |
| lptm->tmDigitizedAspectX = physDev->cellWidth; |
| lptm->tmDigitizedAspectY = physDev->cellHeight; |
| lptm->tmFirstChar = 32; |
| lptm->tmLastChar = 255; |
| lptm->tmDefaultChar = 0; |
| lptm->tmBreakChar = 32; |
| lptm->tmItalic = FALSE; |
| lptm->tmUnderlined = FALSE; |
| lptm->tmStruckOut = FALSE; |
| lptm->tmPitchAndFamily = TMPF_FIXED_PITCH|TMPF_DEVICE; |
| lptm->tmCharSet = ANSI_CHARSET; |
| |
| return TRUE; |
| } |
| |
| /*********************************************************************** |
| * TTYDRV_DC_FONT_SelectObject |
| */ |
| HFONT TTYDRV_DC_FONT_SelectObject(DC* dc, HFONT hfont, FONTOBJ *font) |
| { |
| HFONT hPreviousFont; |
| |
| TRACE("(%p, 0x%04x, %p)\n", dc, hfont, font); |
| |
| hPreviousFont = dc->w.hFont; |
| dc->w.hFont = hfont; |
| |
| return hPreviousFont; |
| } |