41 lines
704 B
C++
41 lines
704 B
C++
#ifndef IMM_HPP
|
|
#define IMM_HPP
|
|
|
|
#define WIN32_LEAN_AND_MEAN
|
|
#include <Windows.h>
|
|
#include <msctf.h>
|
|
|
|
class IMM
|
|
{
|
|
public:
|
|
IMM();
|
|
~IMM();
|
|
|
|
void Initialize(HWND Window);
|
|
void Finalize();
|
|
|
|
LRESULT Handle_Message(HWND Window, UINT Message, WPARAM wParam, LPARAM lParam, bool &Ate);
|
|
|
|
void Enable();
|
|
void Disable();
|
|
bool Is_Enabled();
|
|
void Toggle();
|
|
|
|
void Focus_Gained();
|
|
void Focus_Lost();
|
|
|
|
private:
|
|
void Update_Input_Locale();
|
|
void Cancel_Composition();
|
|
void Input_Language_Changed();
|
|
|
|
bool my_COM_Initialized;
|
|
ITfThreadMgr *my_Thread_Manager;
|
|
HWND my_Window;
|
|
HIMC my_Context;
|
|
HKL my_HKL;
|
|
bool my_Vertical_Candidates;
|
|
bool my_Enabled;
|
|
};
|
|
|
|
#endif
|