Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygentext.h
Go to the documentation of this file.
00001 #pragma once 00002 00003 #define TAG_FINF 'FNIF' 00004 // 00005 // EXSTROBJ flags. 00006 // 00007 #define TO_MEM_ALLOCATED 0x0001 00008 #define TO_ALL_PTRS_VALID 0x0002 00009 #define TO_VALID 0x0004 00010 #define TO_ESC_NOT_ORIENT 0x0008 00011 #define TO_PWSZ_ALLOCATED 0x0010 00012 #define TSIM_UNDERLINE1 0x0020 00013 #define TSIM_UNDERLINE2 0x0040 00014 #define TSIM_STRIKEOUT 0x0080 00015 #define TO_HIGHRESTEXT 0x0100 00016 #define TO_BITMAPS 0x0200 00017 #define TO_PARTITION_INIT 0x0400 00018 #define TO_ALLOC_FACENAME 0x0800 00019 #define TO_SYS_PARTITION 0x1000 00020 // 00021 // Extended STROBJ 00022 // 00023 typedef struct _STRGDI 00024 { 00025 STROBJ StrObj; // Text string object header. 00026 FLONG flTO; 00027 INT cgposCopied; 00028 INT cgposPositionsEnumerated; 00029 PVOID prfo; // PRFONT -> PFONTGDI 00030 PGLYPHPOS pgpos; 00031 POINTFIX ptfxRef; 00032 POINTFIX ptfxUpdate; 00033 POINTFIX ptfxEscapement; 00034 RECTFX rcfx; 00035 FIX fxExtent; 00036 FIX fxExtra; 00037 FIX fxBreakExtra; 00038 DWORD dwCodePage; 00039 INT cExtraRects; 00040 RECTL arclExtra[3]; 00041 RECTL rclBackGroundSave; 00042 PWCHAR pwcPartition; 00043 PLONG plPartition; 00044 PLONG plNext; 00045 PGLYPHPOS pgpNext; 00046 PLONG plCurrentFont; 00047 POINTL ptlBaseLineAdjust; 00048 INT cTTSysGlyphs; 00049 INT cSysGlyphs; 00050 INT cDefGlyphs; 00051 INT cNumFaceNameGlyphs; 00052 PVOID pacFaceNameGlyphs; 00053 ULONG acFaceNameGlyphs[8]; 00054 } STRGDI, *PSTRGDI; 00055 00056 #define TEXTOBJECT_INIT 0x00010000 00057 00058 /* GDI logical font object */ 00059 typedef struct 00060 { 00061 /* Header for all gdi objects in the handle table. 00062 Do not (re)move this. */ 00063 BASEOBJECT BaseObject; 00064 LFTYPE lft; 00065 FLONG fl; 00066 FONTOBJ *Font; 00067 WCHAR FullName[LF_FULLFACESIZE]; 00068 WCHAR Style[LF_FACESIZE]; 00069 WCHAR FaceName[LF_FACESIZE]; 00070 DWORD dwOffsetEndArray; 00071 // Fixed: 00072 ENUMLOGFONTEXDVW logfont; 00073 } TEXTOBJ, *PTEXTOBJ; 00074 00075 /* Internal interface */ 00076 00077 #define TEXTOBJ_AllocText() ((PTEXTOBJ) GDIOBJ_AllocObj(GDIObjType_LFONT_TYPE)) 00078 #define TEXTOBJ_AllocTextWithHandle() ((PTEXTOBJ) GDIOBJ_AllocObjWithHandle(GDI_OBJECT_TYPE_FONT, sizeof(TEXTOBJ))) 00079 #define TEXTOBJ_FreeText(pBMObj) GDIOBJ_FreeObj((POBJ) pBMObj, GDILoObjType_LO_FONT_TYPE) 00080 #define TEXTOBJ_FreeTextByHandle(hBMObj) GDIOBJ_FreeObj((HGDIOBJ) hBMObj, GDI_OBJECT_TYPE_FONT) 00081 #define TEXTOBJ_LockText(hBMObj) ((PTEXTOBJ) GDIOBJ_LockObject((HGDIOBJ) hBMObj, GDIObjType_LFONT_TYPE)) 00082 #define TEXTOBJ_UnlockText(pBMObj) GDIOBJ_vUnlockObject ((POBJ)pBMObj) 00083 00084 PTEXTOBJ FASTCALL RealizeFontInit(HFONT); 00085 NTSTATUS FASTCALL TextIntRealizeFont(HFONT,PTEXTOBJ); 00086 NTSTATUS FASTCALL TextIntCreateFontIndirect(CONST LPLOGFONTW lf, HFONT *NewFont); 00087 BOOL FASTCALL InitFontSupport(VOID); 00088 BOOL FASTCALL IntIsFontRenderingEnabled(VOID); 00089 BOOL FASTCALL IntIsFontRenderingEnabled(VOID); 00090 VOID FASTCALL IntEnableFontRendering(BOOL Enable); 00091 ULONG FASTCALL FontGetObject(PTEXTOBJ TextObj, ULONG Count, PVOID Buffer); 00092 VOID FASTCALL IntLoadSystemFonts(VOID); 00093 INT FASTCALL IntGdiAddFontResource(PUNICODE_STRING FileName, DWORD Characteristics); 00094 ULONG FASTCALL ftGdiGetGlyphOutline(PDC,WCHAR,UINT,LPGLYPHMETRICS,ULONG,PVOID,LPMAT2,BOOL); 00095 INT FASTCALL IntGetOutlineTextMetrics(PFONTGDI,UINT,OUTLINETEXTMETRICW *); 00096 BOOL FASTCALL ftGdiGetRasterizerCaps(LPRASTERIZER_STATUS); 00097 BOOL FASTCALL TextIntGetTextExtentPoint(PDC,PTEXTOBJ,LPCWSTR,INT,ULONG,LPINT,LPINT,LPSIZE,FLONG); 00098 BOOL FASTCALL ftGdiGetTextMetricsW(HDC,PTMW_INTERNAL); 00099 DWORD FASTCALL IntGetFontLanguageInfo(PDC); 00100 INT FASTCALL ftGdiGetTextCharsetInfo(PDC,PFONTSIGNATURE,DWORD); 00101 DWORD FASTCALL ftGetFontUnicodeRanges(PFONTGDI, PGLYPHSET); 00102 DWORD FASTCALL ftGdiGetFontData(PFONTGDI,DWORD,DWORD,PVOID,DWORD); 00103 BOOL FASTCALL IntGdiGetFontResourceInfo(PUNICODE_STRING,PVOID,DWORD*,DWORD); 00104 BOOL FASTCALL ftGdiRealizationInfo(PFONTGDI,PREALIZATION_INFO); 00105 DWORD FASTCALL ftGdiGetKerningPairs(PFONTGDI,DWORD,LPKERNINGPAIR); 00106 BOOL NTAPI GreExtTextOutW(IN HDC,IN INT,IN INT,IN UINT,IN OPTIONAL RECTL*, 00107 IN LPWSTR, IN INT, IN OPTIONAL LPINT, IN DWORD); 00108 DWORD FASTCALL IntGetCharDimensions(HDC, PTEXTMETRICW, PDWORD); 00109 BOOL FASTCALL GreGetTextExtentW(HDC,LPWSTR,INT,LPSIZE,UINT); 00110 BOOL FASTCALL GreGetTextExtentExW(HDC,LPWSTR,ULONG,ULONG,PULONG,PULONG,LPSIZE,FLONG); 00111 DWORD FASTCALL GreGetGlyphIndicesW(HDC,LPWSTR,INT,LPWORD,DWORD,DWORD); 00112 00113 #define IntLockProcessPrivateFonts(W32Process) \ 00114 ExEnterCriticalRegionAndAcquireFastMutexUnsafe(&W32Process->PrivateFontListLock) 00115 00116 #define IntUnLockProcessPrivateFonts(W32Process) \ 00117 ExReleaseFastMutexUnsafeAndLeaveCriticalRegion(&W32Process->PrivateFontListLock) Generated on Sun May 27 2012 04:38:27 for ReactOS by
1.7.6.1
|