Sweden-Number/graphics/win16drv/font.c

74 lines
2.6 KiB
C
Raw Normal View History

Release 960824 Sat Aug 24 13:57:01 1996 Alexandre Julliard <julliard@lrc.epfl.ch> * [controls/scroll.c] Renamed SCROLLINFO to SCROLLBAR_INFO to avoid conflict with Win32. * [graphics/driver.c] [include/x11drv.h] New files for graphics driver handling. * [if1632/relay.c] [include/registers.h] [tools/build.c] Implemented Win32 register functions. Not really tested yet. * [include/gdi.h] Added a lot of functions to the DC func table. * [loader/pe_image.c] Initialise %fs before calling out to 32-bit code. * [windows/hook.c] Fixed bug in HOOK_GetHook(). * [windows/win.c] Fixed FindWindow to return an error if the class name doesn't exist. Wed Aug 21 15:15:53 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de> * [if1632/Makefile.in] [misc/mpr.c] [if1632/mpr.spec] mpr.dll specs added. * [if1632/kernel32.spec] [win32/newfns.c] [memory/global.c] QueryPerformanceCounter(), GlobalMemoryStatus() added. * [if1632/user32.spec] [win32/error.c] SetLastErrorEx() added. * [misc/commdlg.c] lpstrFilter might be NULL in FILE_WMInitDialog (NS 3.0 setup). * [misc/registry.c] Some missing NULL ptr checks added, misc clean up. Tue Aug 20 21:00:00 1996 Alex Korobka <alex@pharm.sunysb.edu> * [controls/menu.c] Adjust popup menu coordinates so that it always stays within the desktop. * [misc/main.c] Fixed GetEnvironment() return value for lpEnv == NULL case. Mon Aug 19 22:48:36 1996 Jukka Iivonen <iivonen@cc.helsinki.fi> * [misc/crtdll.c] [if1632/crtdll.spec] Added some is* functions, strlen and tolower. Mon Aug 19 13:33:13 1996 Stephen Simmons <ssimmons@vitsemi.com> * [tools/wineconf] New perl script to generate the wine.conf file. Fri Aug 16 15:31:44 1996 John Harvey <john@division.co.uk> * [if1632/gdi.spec] Lots of printer functions. * [include/callback.h] New functions for printer driver support. * [include/gdi.h] New/changed structures to support printer driver. * [misc/escape.c] New version that uses function table in DC structure. * [objects/dc.c] CreateDC copes with things other than Display. X code for CreateDC moved to graphics/x11drv directory. CreateCompatibleDC copies func table from original DC. * [objects/font.c] GetTextExtentPoint32A,GetTextMetrics16 use function table in DC and code moved to drivers directory. * [misc/printdrv.c] [graphics/*/*] [include/win16drv.h] New files for printer support. Fri Aug 16 12:33:00 1996 Bruce Milner <Bruce.Milner@genetics.utah.edu> * [controls/scroll.c] Added SetScrollInfo32 and GetScrollInfo32. These just call existing code. There are a few options in which I'm probably the wrong person for the job (page size and disable bar). There are comments in the code as to what they should do. * [objects/gdiobj.c] [objects/font.c] [include/font.h] Added 32 bit version of FONT_GetObject.
1996-08-24 20:26:35 +02:00
/*
* Windows driver font functions
*
* Copyright 1996 John Harvey
*/
#include <stdio.h>
Release 960824 Sat Aug 24 13:57:01 1996 Alexandre Julliard <julliard@lrc.epfl.ch> * [controls/scroll.c] Renamed SCROLLINFO to SCROLLBAR_INFO to avoid conflict with Win32. * [graphics/driver.c] [include/x11drv.h] New files for graphics driver handling. * [if1632/relay.c] [include/registers.h] [tools/build.c] Implemented Win32 register functions. Not really tested yet. * [include/gdi.h] Added a lot of functions to the DC func table. * [loader/pe_image.c] Initialise %fs before calling out to 32-bit code. * [windows/hook.c] Fixed bug in HOOK_GetHook(). * [windows/win.c] Fixed FindWindow to return an error if the class name doesn't exist. Wed Aug 21 15:15:53 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de> * [if1632/Makefile.in] [misc/mpr.c] [if1632/mpr.spec] mpr.dll specs added. * [if1632/kernel32.spec] [win32/newfns.c] [memory/global.c] QueryPerformanceCounter(), GlobalMemoryStatus() added. * [if1632/user32.spec] [win32/error.c] SetLastErrorEx() added. * [misc/commdlg.c] lpstrFilter might be NULL in FILE_WMInitDialog (NS 3.0 setup). * [misc/registry.c] Some missing NULL ptr checks added, misc clean up. Tue Aug 20 21:00:00 1996 Alex Korobka <alex@pharm.sunysb.edu> * [controls/menu.c] Adjust popup menu coordinates so that it always stays within the desktop. * [misc/main.c] Fixed GetEnvironment() return value for lpEnv == NULL case. Mon Aug 19 22:48:36 1996 Jukka Iivonen <iivonen@cc.helsinki.fi> * [misc/crtdll.c] [if1632/crtdll.spec] Added some is* functions, strlen and tolower. Mon Aug 19 13:33:13 1996 Stephen Simmons <ssimmons@vitsemi.com> * [tools/wineconf] New perl script to generate the wine.conf file. Fri Aug 16 15:31:44 1996 John Harvey <john@division.co.uk> * [if1632/gdi.spec] Lots of printer functions. * [include/callback.h] New functions for printer driver support. * [include/gdi.h] New/changed structures to support printer driver. * [misc/escape.c] New version that uses function table in DC structure. * [objects/dc.c] CreateDC copes with things other than Display. X code for CreateDC moved to graphics/x11drv directory. CreateCompatibleDC copies func table from original DC. * [objects/font.c] GetTextExtentPoint32A,GetTextMetrics16 use function table in DC and code moved to drivers directory. * [misc/printdrv.c] [graphics/*/*] [include/win16drv.h] New files for printer support. Fri Aug 16 12:33:00 1996 Bruce Milner <Bruce.Milner@genetics.utah.edu> * [controls/scroll.c] Added SetScrollInfo32 and GetScrollInfo32. These just call existing code. There are a few options in which I'm probably the wrong person for the job (page size and disable bar). There are comments in the code as to what they should do. * [objects/gdiobj.c] [objects/font.c] [include/font.h] Added 32 bit version of FONT_GetObject.
1996-08-24 20:26:35 +02:00
#include "windows.h"
#include "win16drv.h"
#include "gdi.h"
/***********************************************************************
* WIN16DRV_GetTextExtentPoint
*/
BOOL32 WIN16DRV_GetTextExtentPoint( DC *dc, LPCSTR str, INT32 count,
LPSIZE32 size )
{
WIN16DRV_PDEVICE *physDev = (WIN16DRV_PDEVICE *)dc->physDev;
printf("LPGDI_GetTextExtPoint: %04x %s %d %p\n", dc->hSelf, str, count, size);
/* TTD support PS fonts */
/* Assume fixed font */
size->cx = count * physDev->tm.tmAveCharWidth;
size->cy = physDev->tm.tmHeight;
printf("LPGDI_GetTextExtPoint: cx=%d, cy=%d\n", size->cx,size->cy);
return TRUE;
}
/***********************************************************************
* WIN16DRV_GetTextMetrics
*/
BOOL32 WIN16DRV_GetTextMetrics( DC *dc, TEXTMETRIC32A *metrics )
{
WIN16DRV_PDEVICE *physDev = (WIN16DRV_PDEVICE *)dc->physDev;
printf("LPGDI_GetTextMetrics: %04x \n", dc->hSelf);
metrics->tmHeight = physDev->tm.tmHeight;
metrics->tmAscent = physDev->tm.tmAscent;
metrics->tmDescent = physDev->tm.tmDescent;
metrics->tmInternalLeading = physDev->tm.tmInternalLeading;
metrics->tmExternalLeading = physDev->tm.tmExternalLeading;
metrics->tmAveCharWidth = physDev->tm.tmAveCharWidth;
metrics->tmMaxCharWidth = physDev->tm.tmMaxCharWidth;
metrics->tmWeight = physDev->tm.tmWeight;
metrics->tmOverhang = physDev->tm.tmOverhang;
metrics->tmDigitizedAspectX = physDev->tm.tmDigitizedAspectX;
metrics->tmDigitizedAspectY = physDev->tm.tmDigitizedAspectY;
metrics->tmFirstChar = physDev->tm.tmFirstChar;
metrics->tmLastChar = physDev->tm.tmLastChar;
metrics->tmDefaultChar = physDev->tm.tmDefaultChar;
metrics->tmBreakChar = physDev->tm.tmBreakChar;
metrics->tmItalic = physDev->tm.tmItalic;
metrics->tmUnderlined = physDev->tm.tmUnderlined;
metrics->tmStruckOut = physDev->tm.tmStruckOut;
metrics->tmPitchAndFamily = physDev->tm.tmPitchAndFamily;
metrics->tmCharSet = physDev->tm.tmCharSet;
printf("H %d, A %d, D %d, Int %d, Ext %d, AW %d, MW %d, W %d\n",
physDev->tm.tmHeight,
physDev->tm.tmAscent,
physDev->tm.tmDescent,
physDev->tm.tmInternalLeading,
physDev->tm.tmExternalLeading,
physDev->tm.tmAveCharWidth,
physDev->tm.tmMaxCharWidth,
physDev->tm.tmWeight);
return TRUE;
}