Mercurial > sdl-ios-xcode
diff src/video/win32/SDL_win32keyboard.c @ 4760:c40027ee6d47
Updated to fit SDL style a little more.
author | dewyatt |
---|---|
date | Wed, 04 Aug 2010 23:17:12 -0400 |
parents | 863ba7d1f029 |
children | 518d1679d2d0 |
line wrap: on
line diff
--- a/src/video/win32/SDL_win32keyboard.c Tue Aug 03 16:57:49 2010 -0400 +++ b/src/video/win32/SDL_win32keyboard.c Wed Aug 04 23:17:12 2010 -0400 @@ -320,18 +320,15 @@ videodata->ime_hwnd_main = 0; videodata->ime_himc = 0; - if (videodata->ime_himm32) - { + if (videodata->ime_himm32) { FreeLibrary(videodata->ime_himm32); videodata->ime_himm32 = 0; } - if (videodata->ime_threadmgr) - { + if (videodata->ime_threadmgr) { videodata->ime_threadmgr->lpVtbl->Release(videodata->ime_threadmgr); videodata->ime_threadmgr = 0; } - if (videodata->ime_com_initialized) - { + if (videodata->ime_com_initialized) { CoUninitialize(); videodata->ime_com_initialized = SDL_FALSE; } @@ -354,8 +351,7 @@ return; videodata->ime_readingstring[0] = 0; - if (!osversion.dwOSVersionInfoSize) - { + if (!osversion.dwOSVersionInfoSize) { osversion.dwOSVersionInfoSize = sizeof(osversion); GetVersionExA(&osversion); } @@ -367,11 +363,9 @@ if (!himc) return; - if (videodata->GetReadingString) - { + if (videodata->GetReadingString) { len = videodata->GetReadingString(himc, 0, 0, &err, &vertical, &maxuilen); - if (len) - { + if (len) { if (len > SDL_arraysize(buffer)) len = SDL_arraysize(buffer); @@ -379,8 +373,7 @@ } SDL_wcslcpy(videodata->ime_readingstring, s, len); } - else - { + else { LPINPUTCONTEXT2 lpimc = videodata->ImmLockIMC(himc); LPBYTE p = 0; s = 0; @@ -434,9 +427,8 @@ break; } if (s) - { SDL_wcslcpy(videodata->ime_readingstring, s, len + 1); - } + videodata->ImmUnlockIMCC(lpimc->hPrivate); videodata->ImmUnlockIMC(himc); } @@ -447,17 +439,15 @@ static void IME_InputLangChanged(SDL_VideoData *videodata) { - UINT uLang = PRIMLANG(); + UINT lang = PRIMLANG(); HWND hwndime = 0; IME_UpdateInputLocale(videodata); IME_SetupAPI(videodata); - if (uLang != PRIMLANG()) - { + if (lang != PRIMLANG()) { IME_ClearComposition(videodata); } hwndime = ImmGetDefaultIMEWnd(videodata->ime_hwnd_current); - if (hwndime) - { + if (hwndime) { SendMessageA(hwndime, WM_IME_CONTROL, IMC_OPENSTATUSWINDOW, 0); SendMessageA(hwndime, WM_IME_CONTROL, IMC_CLOSESTATUSWINDOW, 0); } @@ -485,8 +475,7 @@ hklprev = hkl; dwLang = ((DWORD)hkl & 0xffff); - if (videodata->ime_uiless && LANG() == LANG_CHT) - { + if (videodata->ime_uiless && LANG() == LANG_CHT) { dwRet[0] = IMEID_CHT_VER_VISTA; dwRet[1] = 0; return dwRet[0]; @@ -495,40 +484,31 @@ && hkl != CHT_HKL_NEW_CHANG_JIE && hkl != CHT_HKL_NEW_QUICK && hkl != CHT_HKL_HK_CANTONESE - && hkl != CHS_HKL) - { + && hkl != CHS_HKL) { dwRet[0] = dwRet[1] = 0; return dwRet[uIndex]; } - if (ImmGetIMEFileNameA(hkl, szTemp, sizeof(szTemp) - 1) <= 0) - { + if (ImmGetIMEFileNameA(hkl, szTemp, sizeof(szTemp) - 1) <= 0) { dwRet[0] = dwRet[1] = 0; return dwRet[uIndex]; } - if (!videodata->GetReadingString) - { + if (!videodata->GetReadingString) { #define LCID_INVARIANT MAKELCID(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), SORT_DEFAULT) if (CompareStringA(LCID_INVARIANT, NORM_IGNORECASE, szTemp, -1, CHT_IMEFILENAME1, -1) != 2 && CompareStringA(LCID_INVARIANT, NORM_IGNORECASE, szTemp, -1, CHT_IMEFILENAME2, -1) != 2 && CompareStringA(LCID_INVARIANT, NORM_IGNORECASE, szTemp, -1, CHT_IMEFILENAME3, -1) != 2 && CompareStringA(LCID_INVARIANT, NORM_IGNORECASE, szTemp, -1, CHS_IMEFILENAME1, -1) != 2 - && CompareStringA(LCID_INVARIANT, NORM_IGNORECASE, szTemp, -1, CHS_IMEFILENAME2, -1) != 2 - ) - { + && CompareStringA(LCID_INVARIANT, NORM_IGNORECASE, szTemp, -1, CHS_IMEFILENAME2, -1) != 2) { dwRet[0] = dwRet[1] = 0; return dwRet[uIndex]; } #undef LCID_INVARIANT dwVerSize = GetFileVersionInfoSizeA(szTemp, &dwVerHandle); - if (dwVerSize) - { + if (dwVerSize) { lpVerBuffer = SDL_malloc(dwVerSize); - if (lpVerBuffer) - { - if (GetFileVersionInfoA(szTemp, dwVerHandle, dwVerSize, lpVerBuffer)) - { - if (VerQueryValueA(lpVerBuffer, "\\", &lpVerData, &cbVerData)) - { + if (lpVerBuffer) { + if (GetFileVersionInfoA(szTemp, dwVerHandle, dwVerSize, lpVerBuffer)) { + if (VerQueryValueA(lpVerBuffer, "\\", &lpVerData, &cbVerData)) { #define pVerFixedInfo ((VS_FIXEDFILEINFO FAR*)lpVerData) DWORD dwVer = pVerFixedInfo->dwFileVersionMS; dwVer = (dwVer & 0x00ff0000) << 8 | (dwVer & 0x000000ff) << 16; @@ -545,9 +525,7 @@ dwLang == LANG_CHS && ( dwVer == MAKEIMEVERSION(4, 1) || dwVer == MAKEIMEVERSION(4, 2) || - dwVer == MAKEIMEVERSION(5, 3)) - ) - { + dwVer == MAKEIMEVERSION(5, 3))) { dwRet[0] = dwVer | dwLang; dwRet[1] = pVerFixedInfo->dwFileVersionLS; SDL_free(lpVerBuffer); @@ -588,11 +566,9 @@ videodata->ShowReadingWindow = (BOOL (WINAPI *)(HIMC, BOOL)) GetProcAddress(hime, "ShowReadingWindow"); - if (videodata->ShowReadingWindow) - { + if (videodata->ShowReadingWindow) { HIMC himc = ImmGetContext(videodata->ime_hwnd_current); - if (himc) - { + if (himc) { videodata->ShowReadingWindow(himc, FALSE); ImmReleaseContext(videodata->ime_hwnd_current, himc); } @@ -615,12 +591,12 @@ static void IME_UpdateInputLocale(SDL_VideoData *videodata) { - static HKL hklPrevious = 0; + static HKL hklprev = 0; videodata->ime_hkl = GetKeyboardLayout(0); - if (hklPrevious == videodata->ime_hkl) + if (hklprev == videodata->ime_hkl) return; - hklPrevious = videodata->ime_hkl; + hklprev = videodata->ime_hkl; } static void @@ -652,21 +628,20 @@ static void IME_GetCompositionString(SDL_VideoData *videodata, HIMC himc, DWORD string) { - LONG Length = ImmGetCompositionStringW(himc, string, videodata->ime_composition, sizeof(videodata->ime_composition)); - if (Length < 0) - Length = 0; + LONG length = ImmGetCompositionStringW(himc, string, videodata->ime_composition, sizeof(videodata->ime_composition)); + if (length < 0) + length = 0; - Length /= sizeof(videodata->ime_composition[0]); + length /= sizeof(videodata->ime_composition[0]); videodata->ime_cursor = LOWORD(ImmGetCompositionStringW(himc, GCS_CURSORPOS, 0, 0)); - if (videodata->ime_composition[videodata->ime_cursor] == 0x3000) - { + if (videodata->ime_composition[videodata->ime_cursor] == 0x3000) { int i; - for (i = videodata->ime_cursor + 1; i < Length; ++i) + for (i = videodata->ime_cursor + 1; i < length; ++i) videodata->ime_composition[i - 1] = videodata->ime_composition[i]; - --Length; + --length; } - videodata->ime_composition[Length] = 0; + videodata->ime_composition[length] = 0; } static void @@ -686,20 +661,18 @@ IME_SendEditingEvent(SDL_VideoData *videodata) { char *s = 0; - WCHAR wBuffer[SDL_TEXTEDITINGEVENT_TEXT_SIZE]; - wBuffer[0] = 0; - if (videodata->ime_readingstring[0]) - { + WCHAR buffer[SDL_TEXTEDITINGEVENT_TEXT_SIZE]; + buffer[0] = 0; + if (videodata->ime_readingstring[0]) { size_t len = SDL_min(SDL_wcslen(videodata->ime_composition), (size_t)videodata->ime_cursor); - SDL_wcslcpy(wBuffer, videodata->ime_composition, len + 1); - SDL_wcslcat(wBuffer, videodata->ime_readingstring, sizeof(wBuffer)); - SDL_wcslcat(wBuffer, &videodata->ime_composition[len], sizeof(wBuffer) - len); + SDL_wcslcpy(buffer, videodata->ime_composition, len + 1); + SDL_wcslcat(buffer, videodata->ime_readingstring, sizeof(buffer)); + SDL_wcslcat(buffer, &videodata->ime_composition[len], sizeof(buffer) - len); } - else - { - SDL_wcslcpy(wBuffer, videodata->ime_composition, sizeof(videodata->ime_composition)); + else { + SDL_wcslcpy(buffer, videodata->ime_composition, sizeof(videodata->ime_composition)); } - s = WIN_StringToUTF8(wBuffer); + s = WIN_StringToUTF8(buffer); SDL_SendEditingText(s, videodata->ime_cursor + SDL_wcslen(videodata->ime_readingstring), 0); SDL_free(s); } @@ -726,13 +699,11 @@ case WM_IME_COMPOSITION: trap = SDL_TRUE; himc = ImmGetContext(hwnd); - if (*lParam & GCS_RESULTSTR) - { + if (*lParam & GCS_RESULTSTR) { IME_GetCompositionString(videodata, himc, GCS_RESULTSTR); IME_SendInputEvent(videodata); } - if (*lParam & GCS_COMPSTR) - { + if (*lParam & GCS_COMPSTR) { if (!videodata->ime_uiless) videodata->ime_readingstring[0] = 0; @@ -827,8 +798,7 @@ else if (SDL_IsEqualIID(riid, &IID_ITfUIElementSink)) *ppv = (ITfUIElementSink *)sink; - if (*ppv) - { + if (*ppv) { TSFSink_AddRef(sink); return S_OK; } @@ -841,8 +811,7 @@ ITfUIElement *pelem = 0; ITfThreadMgrEx *threadmgrex = videodata->ime_threadmgrex; - if (SUCCEEDED(threadmgrex->lpVtbl->QueryInterface(threadmgrex, &IID_ITfUIElementMgr, (LPVOID *)&puiem))) - { + if (SUCCEEDED(threadmgrex->lpVtbl->QueryInterface(threadmgrex, &IID_ITfUIElementMgr, (LPVOID *)&puiem))) { puiem->lpVtbl->GetUIElement(puiem, dwUIElementId, &pelem); puiem->lpVtbl->Release(puiem); } @@ -851,45 +820,35 @@ STDMETHODIMP UIElementSink_BeginUIElement(TSFSink *sink, DWORD dwUIElementId, BOOL *pbShow) { - ITfUIElement *pElement = UILess_GetUIElement((SDL_VideoData *)sink->data, dwUIElementId); + ITfUIElement *element = UILess_GetUIElement((SDL_VideoData *)sink->data, dwUIElementId); ITfReadingInformationUIElement *preading = 0; - ITfCandidateListUIElement *pcandidates = 0; SDL_VideoData *videodata = (SDL_VideoData *)sink->data; - if (!pElement) + if (!element) return E_INVALIDARG; *pbShow = FALSE; - if (SUCCEEDED(pElement->lpVtbl->QueryInterface(pElement, &IID_ITfReadingInformationUIElement, (LPVOID *)&preading))) - { + if (SUCCEEDED(element->lpVtbl->QueryInterface(element, &IID_ITfReadingInformationUIElement, (LPVOID *)&preading))) { BSTR bstr; - if (SUCCEEDED(preading->lpVtbl->GetString(preading, &bstr)) && bstr) - { + if (SUCCEEDED(preading->lpVtbl->GetString(preading, &bstr)) && bstr) { WCHAR *s = (WCHAR *)bstr; SysFreeString(bstr); } preading->lpVtbl->Release(preading); } - else if (SUCCEEDED(pElement->lpVtbl->QueryInterface(pElement, &IID_ITfCandidateListUIElement, (PVOID *)&pcandidates))) - { - pcandidates->lpVtbl->Release(pcandidates); - } return S_OK; } STDMETHODIMP UIElementSink_UpdateUIElement(TSFSink *sink, DWORD dwUIElementId) { - ITfUIElement *pElement = UILess_GetUIElement((SDL_VideoData *)sink->data, dwUIElementId); + ITfUIElement *element = UILess_GetUIElement((SDL_VideoData *)sink->data, dwUIElementId); ITfReadingInformationUIElement *preading = 0; - ITfCandidateListUIElement *pcandidates = 0; SDL_VideoData *videodata = (SDL_VideoData *)sink->data; - if (!pElement) + if (!element) return E_INVALIDARG; - if (SUCCEEDED(pElement->lpVtbl->QueryInterface(pElement, &IID_ITfReadingInformationUIElement, (LPVOID *)&preading))) - { + if (SUCCEEDED(element->lpVtbl->QueryInterface(element, &IID_ITfReadingInformationUIElement, (LPVOID *)&preading))) { BSTR bstr; - if (SUCCEEDED(preading->lpVtbl->GetString(preading, &bstr)) && bstr) - { + if (SUCCEEDED(preading->lpVtbl->GetString(preading, &bstr)) && bstr) { WCHAR *s = (WCHAR *)bstr; SDL_wcslcpy(videodata->ime_readingstring, s, sizeof(videodata->ime_readingstring)); IME_SendEditingEvent(videodata); @@ -897,32 +856,22 @@ } preading->lpVtbl->Release(preading); } - else if (SUCCEEDED(pElement->lpVtbl->QueryInterface(pElement, &IID_ITfCandidateListUIElement, (PVOID *)&pcandidates))) - { - pcandidates->lpVtbl->Release(pcandidates); - } return S_OK; } STDMETHODIMP UIElementSink_EndUIElement(TSFSink *sink, DWORD dwUIElementId) { - ITfUIElement *pElement = UILess_GetUIElement((SDL_VideoData *)sink->data, dwUIElementId); + ITfUIElement *element = UILess_GetUIElement((SDL_VideoData *)sink->data, dwUIElementId); ITfReadingInformationUIElement *preading = 0; - ITfCandidateListUIElement *pcandidates = 0; SDL_VideoData *videodata = (SDL_VideoData *)sink->data; - if (!pElement) + if (!element) return E_INVALIDARG; - if (SUCCEEDED(pElement->lpVtbl->QueryInterface(pElement, &IID_ITfReadingInformationUIElement, (LPVOID *)&preading))) - { + if (SUCCEEDED(element->lpVtbl->QueryInterface(element, &IID_ITfReadingInformationUIElement, (LPVOID *)&preading))) { videodata->ime_readingstring[0] = 0; IME_SendEditingEvent(videodata); preading->lpVtbl->Release(preading); } - else if (SUCCEEDED(pElement->lpVtbl->QueryInterface(pElement, &IID_ITfCandidateListUIElement, (PVOID *)&pcandidates))) - { - pcandidates->lpVtbl->Release(pcandidates); - } return S_OK; } @@ -937,8 +886,7 @@ else if (SDL_IsEqualIID(riid, &IID_ITfInputProcessorProfileActivationSink)) *ppv = (ITfInputProcessorProfileActivationSink *)sink; - if (*ppv) - { + if (*ppv) { TSFSink_AddRef(sink); return S_OK; } @@ -976,8 +924,7 @@ if (!videodata->ime_threadmgrex || videodata->ime_uielemsinkcookie != TF_INVALID_COOKIE) return; - if (SUCCEEDED(videodata->ime_threadmgrex->lpVtbl->QueryInterface(videodata->ime_threadmgrex, &IID_ITfSource, (LPVOID *)&source))) - { + if (SUCCEEDED(videodata->ime_threadmgrex->lpVtbl->QueryInterface(videodata->ime_threadmgrex, &IID_ITfSource, (LPVOID *)&source))) { source->lpVtbl->AdviseSink(source, &IID_ITfUIElementSink, (IUnknown *)videodata->ime_uielemsink, &videodata->ime_uielemsinkcookie); source->lpVtbl->Release(source); } @@ -990,8 +937,7 @@ if (!videodata->ime_threadmgrex || videodata->ime_uielemsinkcookie == TF_INVALID_COOKIE) return; - if (SUCCEEDED(videodata->ime_threadmgrex->lpVtbl->QueryInterface(videodata->ime_threadmgrex, &IID_ITfSource, (LPVOID *)&source))) - { + if (SUCCEEDED(videodata->ime_threadmgrex->lpVtbl->QueryInterface(videodata->ime_threadmgrex, &IID_ITfSource, (LPVOID *)&source))) { source->lpVtbl->UnadviseSink(source, videodata->ime_uielemsinkcookie); videodata->ime_uielemsinkcookie = TF_INVALID_COOKIE; source->lpVtbl->Release(source); @@ -1021,12 +967,9 @@ videodata->ime_ippasink->refcount = 1; videodata->ime_ippasink->data = videodata; - if (SUCCEEDED(videodata->ime_threadmgrex->lpVtbl->QueryInterface(videodata->ime_threadmgrex, &IID_ITfSource, (LPVOID *)&source))) - { - if (SUCCEEDED(source->lpVtbl->AdviseSink(source, &IID_ITfUIElementSink, (IUnknown *)videodata->ime_uielemsink, &videodata->ime_uielemsinkcookie))) - { - if (SUCCEEDED(source->lpVtbl->AdviseSink(source, &IID_ITfInputProcessorProfileActivationSink, (IUnknown *)videodata->ime_ippasink, &videodata->ime_alpnsinkcookie))) - { + if (SUCCEEDED(videodata->ime_threadmgrex->lpVtbl->QueryInterface(videodata->ime_threadmgrex, &IID_ITfSource, (LPVOID *)&source))) { + if (SUCCEEDED(source->lpVtbl->AdviseSink(source, &IID_ITfUIElementSink, (IUnknown *)videodata->ime_uielemsink, &videodata->ime_uielemsinkcookie))) { + if (SUCCEEDED(source->lpVtbl->AdviseSink(source, &IID_ITfInputProcessorProfileActivationSink, (IUnknown *)videodata->ime_ippasink, &videodata->ime_alpnsinkcookie))) { result = SDL_TRUE; } } @@ -1046,12 +989,11 @@ static void UILess_ReleaseSinks(SDL_VideoData *videodata) { - ITfSource *Source = 0; - if (videodata->ime_threadmgrex && SUCCEEDED(videodata->ime_threadmgrex->lpVtbl->QueryInterface(videodata->ime_threadmgrex, &IID_ITfSource, &Source))) - { - Source->lpVtbl->UnadviseSink(Source, videodata->ime_uielemsinkcookie); - Source->lpVtbl->UnadviseSink(Source, videodata->ime_alpnsinkcookie); - SAFE_RELEASE(Source); + ITfSource *source = 0; + if (videodata->ime_threadmgrex && SUCCEEDED(videodata->ime_threadmgrex->lpVtbl->QueryInterface(videodata->ime_threadmgrex, &IID_ITfSource, &source))) { + source->lpVtbl->UnadviseSink(source, videodata->ime_uielemsinkcookie); + source->lpVtbl->UnadviseSink(source, videodata->ime_alpnsinkcookie); + SAFE_RELEASE(source); videodata->ime_threadmgrex->lpVtbl->Deactivate(videodata->ime_threadmgrex); SAFE_RELEASE(videodata->ime_threadmgrex); TSFSink_Release(videodata->ime_uielemsink);