From b322bc682e814e5d9c3bee717f76812240cf93cc Mon Sep 17 00:00:00 2001 From: ByeongSik Jeon Date: Sat, 26 Apr 2008 00:19:34 +0900 Subject: [PATCH] imm32: Implementation of the Imm{Get|Set}StatusWindowPos. --- dlls/imm32/imm.c | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/dlls/imm32/imm.c b/dlls/imm32/imm.c index 259bf3af8a1..2a2936195b6 100644 --- a/dlls/imm32/imm.c +++ b/dlls/imm32/imm.c @@ -1384,9 +1384,16 @@ UINT WINAPI ImmGetRegisterWordStyleW( */ BOOL WINAPI ImmGetStatusWindowPos(HIMC hIMC, LPPOINT lpptPos) { - FIXME("(%p, %p): stub\n", hIMC, lpptPos); - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return FALSE; + InputContextData *data = (InputContextData*)hIMC; + + TRACE("(%p, %p)\n", hIMC, lpptPos); + + if (!data || !lpptPos) + return FALSE; + + *lpptPos = data->IMC.ptStatusWndPos; + + return TRUE; } /*********************************************************************** @@ -1882,9 +1889,20 @@ BOOL WINAPI ImmSetOpenStatus(HIMC hIMC, BOOL fOpen) */ BOOL WINAPI ImmSetStatusWindowPos(HIMC hIMC, LPPOINT lpptPos) { - FIXME("(%p, %p): stub\n", hIMC, lpptPos); - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return FALSE; + InputContextData *data = (InputContextData*)hIMC; + + TRACE("(%p, %p)\n", hIMC, lpptPos); + + if (!data || !lpptPos) + return FALSE; + + TRACE("\t(%i,%i)\n", lpptPos->x, lpptPos->y); + + data->IMC.ptStatusWndPos = *lpptPos; + ImmNotifyIME( hIMC, NI_CONTEXTUPDATED, 0, IMC_SETSTATUSWINDOWPOS); + ImmInternalSendIMENotify(data, IMN_SETSTATUSWINDOWPOS, 0); + + return TRUE; } /***********************************************************************