reactos/base/ctf/msctf/mlng.h
Katayama Hirofumi MZ d4c64771cd
[CTFMON][MSCTF][MSCTFIME][MSUTB] Move CTF modules to base/ctf (#8040)
This PR reorganizes the location of
the CTF-related modules to improve
grep-ability, understanding, and
readability. New folder base/ctf will
become incomplete Cicero, CTF or
TSF (Text Services Framework).
JIRA issue: CORE-19360
JIRA issue: CORE-19361
JIRA issue: CORE-19363
- Move ctfmon, msctf, msctfime,
  and msutb modules to new
  directory base/ctf.
- Adapt CMakeLists.txt to this move.
- Modify .github/labeler.yml and
  media/doc/WINESYNC.txt.
- No code content changes except
  CMakeLists.txt, .github/labeler.yml,
  and media/doc/WINESYNC.txt.
2025-05-28 05:04:03 +09:00

61 lines
1.3 KiB
C++

/*
* PROJECT: ReactOS msctf.dll
* LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
* PURPOSE: Multi-language handling of Cicero
* COPYRIGHT: Copyright 2024 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
*/
#pragma once
#define CTF_COMPAT_DELAY_FIRST_ACTIVATE 2
struct MLNGINFO
{
HKL m_hKL;
BOOL m_bInitDesc;
BOOL m_bInitIcon;
INT m_iIconIndex;
WCHAR m_szDesc[128];
void InitDesc();
void InitIcon();
INT GetIconIndex();
LPCWSTR GetDesc();
void SetDesc(LPCWSTR pszDesc);
};
class CStaticIconList : public CicArray<HICON>
{
public:
static INT s_cx;
static INT s_cy;
CStaticIconList() { }
void Init(INT cxIcon, INT cyIcon);
INT AddIcon(HICON hIcon);
HICON ExtractIcon(INT iIcon);
void GetIconSize(INT *pcx, INT *pcy);
INT GetImageCount();
void RemoveAll(BOOL bNoLock);
};
INT InatAddIcon(_In_ HICON hIcon);
HICON InatCreateIcon(_In_ LANGID LangID);
HICON
InatCreateIconBySize(
_In_ LANGID LangID,
_In_ INT nWidth,
_In_ INT nHeight,
_In_ const LOGFONTW *plf);
BOOL InatGetIconSize(_Out_ INT *pcx, _Out_ INT *pcy);
INT InatGetImageCount(VOID);
VOID InatRemoveAll(VOID);
DWORD GetHKLSubstitute(_In_ HKL hKL);
HICON GetIconFromFile(_In_ INT cx, _In_ INT cy, _In_ LPCWSTR pszFileName, _In_ INT iIcon);
VOID UninitINAT(VOID);