[SDK] Move HIDA helper functions to shellutils.h
[reactos.git] / dll / shellext / fontext / precomp.h
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
39 HRESULT _GetCidlFromDataObject(IDataObject *pDataObject, CIDA** ppcida);
40
41 inline BOOL IsFontDotExt(LPCWSTR pchDotExt)
42 {
43 static const LPCWSTR array[] =
44 {
45 L".ttf", L".ttc", L".otf", L".otc", L".fon", L".fnt", NULL
46 };
47 for (const LPCWSTR *pp = array; *pp; ++pp)
48 {
49 if (!_wcsicmp(*pp, pchDotExt))
50 return TRUE;
51 }
52 return FALSE;
53 }
54
55 #endif /* FONTEXT_PRECOMP_H */