xref: /reactos/dll/shellext/fontext/precomp.h (revision 54c09f85)
1 #ifndef FONTEXT_PRECOMP_H
2 #define FONTEXT_PRECOMP_H
3 
4 
5 #define WIN32_NO_STATUS
6 #define COM_NO_WINDOWS_H
7 
8 #include <windef.h>
9 #include <winbase.h>
10 #include <winreg.h>
11 #include <shlobj.h>
12 #include <shlwapi.h>
13 #include <tchar.h>
14 #include <strsafe.h>
15 #include <atlbase.h>
16 #include <atlcom.h>
17 #include <atlcoll.h>
18 #include <atlstr.h>
19 #include <wine/debug.h>
20 #include <shellutils.h>
21 
22 extern const GUID CLSID_CFontExt;
23 extern LONG g_ModuleRefCnt;
24 
25 #include "resource.h"
26 #include "fontpidl.hpp"
27 #include "CFontCache.hpp"
28 #include "CFontExt.hpp"
29 
30 #define FONT_HIVE   HKEY_LOCAL_MACHINE
31 #define FONT_KEY    L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Fonts"
32 
33 HRESULT _CEnumFonts_CreateInstance(CFontExt* zip, DWORD flags, REFIID riid, LPVOID* ppvOut);
34 HRESULT _CFontMenu_CreateInstance(HWND hwnd, UINT cidl, PCUITEMID_CHILD_ARRAY apidl,
35                                   IShellFolder *psf, REFIID riid, LPVOID* ppvOut);
36 HRESULT _CDataObject_CreateInstance(PCIDLIST_ABSOLUTE folder, UINT cidl, PCUITEMID_CHILD_ARRAY apidl,
37                                     REFIID riid, LPVOID* ppvOut);
38 
IsFontDotExt(LPCWSTR pchDotExt)39 inline BOOL IsFontDotExt(LPCWSTR pchDotExt)
40 {
41     static const LPCWSTR array[] =
42     {
43         L".ttf", L".ttc", L".otf", L".otc", L".fon", L".fnt", NULL
44     };
45     for (const LPCWSTR *pp = array; *pp; ++pp)
46     {
47         if (!_wcsicmp(*pp, pchDotExt))
48             return TRUE;
49     }
50     return FALSE;
51 }
52 
53 #endif /* FONTEXT_PRECOMP_H */
54