
/* _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	FILE	: IME.h

+ ------ Explanation of file --------------------------------------------------------------------------

+ _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ */

#include "Common.h"

#include "windowManager.h"

#include "IME.h"

// コンストラクタ
IME::IME()
{
	m_hWndImc = NULL;
	m_hImc = NULL;
}

// デストラクタ
IME::~IME()
{
	close();
}

// 初期化
void IME::init(WindowManager* pWinMan)
{
	m_pWinMan = pWinMan;
	m_hWndImc = ImmGetDefaultIMEWnd(getWinMan()->getHWnd());
	m_hImc = ImmGetContext(m_hWndImc);
}

// 終了
void IME::close() 
{
	ImmReleaseContext(getWinMan()->getHWnd(), m_hImc);
}

// 更新
void IME::update(void)
{
}

// 座標セット
void IME::setPos(int x, int y)
{
	// IMEにセット
	COMPOSITIONFORM cpf;
	cpf.dwStyle = CFS_POINT;
	cpf.ptCurrentPos.x = x;
	cpf.ptCurrentPos.y = y;
	ImmSetCompositionWindow(m_hImc, &cpf);

	m_pos.x = x;
	m_pos.y = y;
}

// 有効セット
void IME::setEnable(bool isEnable)
{
	ImmSetOpenStatus(m_hImc, (int)isEnable);
}

// 有効取得
bool IME::getEnable(bool isEnable)
{
	return(ImmGetOpenStatus(m_hImc) ? true : false);
}





