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