/* * 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; }