4 /* GDI logical font object */
9 BOOLEAN Initialized
; /* Don't reinitialize for each DC */
12 /* Internal interface */
14 #define TEXTOBJ_AllocText() \
15 ((HFONT) GDIOBJ_AllocObj (GDI_OBJECT_TYPE_FONT))
16 #define TEXTOBJ_FreeText(hBMObj) GDIOBJ_FreeObj((HGDIOBJ) hBMObj, GDI_OBJECT_TYPE_FONT)
17 #define TEXTOBJ_LockText(hBMObj) ((PTEXTOBJ) GDIOBJ_LockObj ((HGDIOBJ) hBMObj, GDI_OBJECT_TYPE_FONT))
18 #define TEXTOBJ_UnlockText(pBMObj) GDIOBJ_UnlockObjByPtr (pBMObj)
20 NTSTATUS FASTCALL
TextIntRealizeFont(HFONT FontHandle
);
21 NTSTATUS FASTCALL
TextIntCreateFontIndirect(CONST LPLOGFONTW lf
, HFONT
*NewFont
);
22 BOOL FASTCALL
InitFontSupport(VOID
);
23 BOOL FASTCALL
IntIsFontRenderingEnabled(VOID
);
24 BOOL FASTCALL
IntIsFontRenderingEnabled(VOID
);
25 VOID FASTCALL
IntEnableFontRendering(BOOL Enable
);
26 INT FASTCALL
FontGetObject(PTEXTOBJ TextObj
, INT Count
, PVOID Buffer
);
28 #define IntLockProcessPrivateFonts(W32Process) \
29 ExEnterCriticalRegionAndAcquireFastMutexUnsafe(&W32Process->PrivateFontListLock)
31 #define IntUnLockProcessPrivateFonts(W32Process) \
32 ExReleaseFastMutexUnsafeAndLeaveCriticalRegion(&W32Process->PrivateFontListLock)
34 #define IntLockGlobalFonts \
35 ExEnterCriticalRegionAndAcquireFastMutexUnsafe(&FontListLock)
37 #define IntUnLockGlobalFonts \
38 ExReleaseFastMutexUnsafeAndLeaveCriticalRegion(&FontListLock)
40 #define IntLockFreeType \
41 ExEnterCriticalRegionAndAcquireFastMutexUnsafe(&FreeTypeLock)
43 #define IntUnLockFreeType \
44 ExReleaseFastMutexUnsafeAndLeaveCriticalRegion(&FreeTypeLock)
46 #endif /* _WIN32K_TEXT_H */