Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

foncache.h

Go to the documentation of this file.
00001 /*++ 00002 00003 Copyright (c) 1985 - 1999, Microsoft Corporation 00004 00005 Module Name: 00006 00007 foncache.h 00008 00009 Abstract: 00010 00011 This file is definition of fullscreen dll 00012 00013 Author: 00014 00015 Kazuhiko Matsubara 21-June-1994 00016 00017 Revision History: 00018 00019 Notes: 00020 00021 --*/ 00022 00023 00024 00025 typedef struct _FONT_IMAGE { 00026 LIST_ENTRY ImageList; // link list of other font size. 00027 COORD FontSize; 00028 PBYTE ImageBits; // WORD aligned. 00029 } FONT_IMAGE, *PFONT_IMAGE; 00030 00031 typedef struct _FONT_LOW_OFFSET { 00032 PFONT_IMAGE FontOffsetLow[256]; // array is low order of Unicode <i.e LOBYTE(Unicode)> 00033 } FONT_LOW_OFFSET, *PFONT_LOW_OFFSET; 00034 00035 typedef struct _FONT_HIGHLOW_OFFSET { 00036 PFONT_LOW_OFFSET FontOffsetHighLow[16]; // array is high (3-0bit) order of Unicode <i.e LO4BIT(HIBYTE(Unicode))> 00037 } FONT_HIGHLOW_OFFSET, *PFONT_HIGHLOW_OFFSET; 00038 00039 typedef struct _FONT_HIGHHIGH_OFFSET { 00040 PFONT_HIGHLOW_OFFSET FontOffsetHighHigh[16]; // array is high (7-4bit) order of Unicode <i.e HI4BIT(HIBYTE(Unicode))> 00041 } FONT_HIGHHIGH_OFFSET, *PFONT_HIGHHIGH_OFFSET; 00042 00043 00044 00045 typedef struct _FONT_CACHE_INFORMATION { 00046 ULONG FullScreenFontIndex; 00047 COORD FullScreenFontSize; 00048 PBYTE BaseImageBits; 00049 FONT_HIGHHIGH_OFFSET FontTable; 00050 } FONT_CACHE_INFORMATION, *PFONT_CACHE_INFORMATION; 00051 00052 00053 #define FONT_MATCHED 1 00054 #define FONT_STRETCHED 2 00055 00056 #define ADD_IMAGE 1 00057 #define REPLACE_IMAGE 2 00058 00059 #define BITMAP_BITS_BYTE_ALIGN 8 // BYTE align is 8 bit 00060 #define BITMAP_BITS_WORD_ALIGN 16 // WORD align is 16 bit 00061 #define BITMAP_ARRAY_BYTE 3 // BYTE array is 8 bit (shift count = 3) 00062 00063 00064 typedef struct _FONT_CACHE_AREA { 00065 PFONT_IMAGE FontImage; 00066 DWORD Area; 00067 } FONT_CACHE_AREA, *PFONT_CACHE_AREA; 00068 00069 00070 #define BITMAP_PLANES 1 00071 #define BITMAP_BITS_PIXEL 1 00072 00073 00074 #define BYTE_ALIGN sizeof(BYTE) 00075 #define WORD_ALIGN sizeof(WORD) 00076 00077 // 00078 // Font cache manager 00079 // 00080 ULONG 00081 CreateFontCache( 00082 OUT PFONT_CACHE_INFORMATION *FontCache 00083 ); 00084 00085 ULONG 00086 DestroyFontCache( 00087 IN PFONT_CACHE_INFORMATION FontCache 00088 ); 00089 00090 ULONG 00091 GetFontImage( 00092 IN PFONT_CACHE_INFORMATION FontCache, 00093 IN WCHAR wChar, 00094 IN COORD FontSize, 00095 IN DWORD dwAlign, 00096 OUT VOID *ImageBits 00097 ); 00098 00099 ULONG 00100 GetStretchedFontImage( 00101 IN PFONT_CACHE_INFORMATION FontCache, 00102 IN WCHAR wChar, 00103 IN COORD FontSize, 00104 IN DWORD dwAlign, 00105 OUT VOID *ImageBits 00106 ); 00107 00108 ULONG 00109 GetFontImagePointer( 00110 IN PFONT_CACHE_INFORMATION FontCache, 00111 IN WCHAR wChar, 00112 IN COORD FontSize, 00113 OUT PFONT_IMAGE *FontImage 00114 ); 00115 00116 ULONG 00117 SetFontImage( 00118 IN PFONT_CACHE_INFORMATION FontCache, 00119 IN WCHAR wChar, 00120 IN COORD FontSize, 00121 IN DWORD dwAlign, 00122 IN CONST VOID *ImageBits 00123 ); 00124 00125 DWORD 00126 CalcBitmapBufferSize( 00127 IN COORD FontSize, 00128 IN DWORD dwAlign 00129 ); 00130 00131 NTSTATUS 00132 GetExpandFontImage( 00133 PFONT_CACHE_INFORMATION FontCache, 00134 WCHAR wChar, 00135 COORD InputFontSize, 00136 COORD OutputFontSize, 00137 PWORD OutputFontImage 00138 );

Generated on Sat May 15 19:40:03 2004 for test by doxygen 1.3.7