ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

text.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.