1 /* 2 * PROJECT: ReactOS msctf.dll 3 * LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later) 4 * PURPOSE: Multi-language handling of Cicero 5 * COPYRIGHT: Copyright 2024 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com> 6 */ 7 8 #pragma once 9 10 struct MLNGINFO 11 { 12 HKL m_hKL; 13 BOOL m_bInitDesc; 14 BOOL m_bInitIcon; 15 INT m_iIconIndex; 16 WCHAR m_szDesc[128]; 17 18 void InitDesc(); 19 void InitIcon(); 20 21 INT GetIconIndex(); 22 LPCWSTR GetDesc(); 23 void SetDesc(LPCWSTR pszDesc); 24 }; 25 26 class CStaticIconList : public CicArray<HICON> 27 { 28 public: 29 static INT s_cx; 30 static INT s_cy; 31 CStaticIconList()32 CStaticIconList() { } 33 34 void Init(INT cxIcon, INT cyIcon); 35 INT AddIcon(HICON hIcon); 36 HICON ExtractIcon(INT iIcon); 37 void GetIconSize(INT *pcx, INT *pcy); 38 INT GetImageCount(); 39 void RemoveAll(BOOL bNoLock); 40 }; 41 42 INT InatAddIcon(_In_ HICON hIcon); 43 HICON InatCreateIcon(_In_ LANGID LangID); 44 45 HICON 46 InatCreateIconBySize( 47 _In_ LANGID LangID, 48 _In_ INT nWidth, 49 _In_ INT nHeight, 50 _In_ const LOGFONTW *plf); 51 52 BOOL InatGetIconSize(_Out_ INT *pcx, _Out_ INT *pcy); 53 INT InatGetImageCount(VOID); 54 VOID InatRemoveAll(VOID); 55 56 DWORD GetHKLSubstitute(_In_ HKL hKL); 57 HICON GetIconFromFile(_In_ INT cx, _In_ INT cy, _In_ LPCWSTR pszFileName, _In_ INT iIcon); 58 59 VOID UninitINAT(VOID); 60