2010-06-30 17:29:20 -04:00
|
|
|
#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);
|
|
|
|
|
2010-07-06 02:06:17 -04:00
|
|
|
void Enable();
|
|
|
|
void Disable();
|
|
|
|
bool Is_Enabled();
|
|
|
|
void Toggle();
|
|
|
|
|
|
|
|
void Focus_Gained();
|
|
|
|
void Focus_Lost();
|
|
|
|
|
2010-06-30 17:29:20 -04:00
|
|
|
private:
|
|
|
|
void Update_Input_Locale();
|
2010-07-06 02:06:17 -04:00
|
|
|
void Cancel_Composition();
|
|
|
|
void Input_Language_Changed();
|
2010-06-30 17:29:20 -04:00
|
|
|
|
|
|
|
bool my_COM_Initialized;
|
|
|
|
ITfThreadMgr *my_Thread_Manager;
|
|
|
|
HWND my_Window;
|
|
|
|
HIMC my_Context;
|
|
|
|
HKL my_HKL;
|
|
|
|
bool my_Vertical_Candidates;
|
2010-07-06 02:06:17 -04:00
|
|
|
bool my_Enabled;
|
2010-06-30 17:29:20 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|