Commit: 7aa91f5fbcb65ae57af2665b25335ff094dfd5bf
Author: Mike Erwin
Date:   Thu Feb 26 18:40:09 2015 -0500
Branches: master
https://developer.blender.org/rB7aa91f5fbcb65ae57af2665b25335ff094dfd5bf

cleanup: ghost Win32 IME

Took out lots of redundant function calls (getters). Also wrapped more
code in WITH_INPUT_IME guards.

===================================================================

M       intern/ghost/intern/GHOST_ImeWin32.cpp
M       intern/ghost/intern/GHOST_ImeWin32.h
M       intern/ghost/intern/GHOST_SystemWin32.cpp
M       intern/ghost/intern/GHOST_SystemWin32.h
M       intern/ghost/intern/GHOST_WindowWin32.cpp

===================================================================

diff --git a/intern/ghost/intern/GHOST_ImeWin32.cpp 
b/intern/ghost/intern/GHOST_ImeWin32.cpp
index ef8eb98..af5a2ed 100644
--- a/intern/ghost/intern/GHOST_ImeWin32.cpp
+++ b/intern/ghost/intern/GHOST_ImeWin32.cpp
@@ -30,6 +30,7 @@
  *  \ingroup GHOST
  */
 
+#ifdef WITH_INPUT_IME
 
 #include "GHOST_C-api.h"
 #include "GHOST_ImeWin32.h"
@@ -515,3 +516,5 @@ void GHOST_ImeWin32::UpdateInfo(HWND window_handle)
                eventImeData.target_end = -1;
        }
 }
+
+#endif // WITH_INPUT_IME
diff --git a/intern/ghost/intern/GHOST_ImeWin32.h 
b/intern/ghost/intern/GHOST_ImeWin32.h
index 5b2d718..bfd9a49 100644
--- a/intern/ghost/intern/GHOST_ImeWin32.h
+++ b/intern/ghost/intern/GHOST_ImeWin32.h
@@ -32,6 +32,9 @@
 #ifndef __GHOST_IME_H__
 #define __GHOST_IME_H__
 
+#ifdef WITH_INPUT_IME
+
+#define WIN32_LEAN_AND_MEAN
 #include <windows.h>
 
 #include <string>
@@ -398,4 +401,5 @@ private:
        bool is_first, is_enable;
 };
 
-#endif   * __GHOST_IME_H__
+#endif // WITH_INPUT_IME
+#endif // __GHOST_IME_H__
diff --git a/intern/ghost/intern/GHOST_SystemWin32.cpp 
b/intern/ghost/intern/GHOST_SystemWin32.cpp
index 30f8afd..650107e 100644
--- a/intern/ghost/intern/GHOST_SystemWin32.cpp
+++ b/intern/ghost/intern/GHOST_SystemWin32.cpp
@@ -970,47 +970,51 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, 
UINT msg, WPARAM wParam,
                                
////////////////////////////////////////////////////////////////////////
                                case WM_IME_SETCONTEXT:
                                {
-                                       
window->getImeInput()->SetInputLanguage();
-                                       
window->getImeInput()->CreateImeWindow(window->getHWND());
-                                       
window->getImeInput()->CleanupComposition(window->getHWND());
-                                       
window->getImeInput()->CheckFirst(window->getHWND());
+                                       GHOST_ImeWin32 *ime = 
window->getImeInput();
+                                       ime->SetInputLanguage();
+                                       ime->CreateImeWindow(hwnd);
+                                       ime->CleanupComposition(hwnd);
+                                       ime->CheckFirst(hwnd);
                                        break;
                                }
                                case WM_IME_STARTCOMPOSITION:
                                {
+                                       GHOST_ImeWin32 *ime = 
window->getImeInput();
                                        eventHandled = true;
                                        /* remove input event before start comp 
event, avoid redundant input */
                                        
eventManager->removeTypeEvents(GHOST_kEventKeyDown, window);
-                                       
window->getImeInput()->CreateImeWindow(window->getHWND());
-                                       
window->getImeInput()->ResetComposition(window->getHWND());
+                                       ime->CreateImeWindow(hwnd);
+                                       ime->ResetComposition(hwnd);
                                        event = processImeEvent(
                                                GHOST_kEventImeCompositionStart,
                                                window,
-                                               
&window->getImeInput()->eventImeData);
+                                               &ime->eventImeData);
                                        break;
                                }
                                case WM_IME_COMPOSITION:
                                {
+                                       GHOST_ImeWin32 *ime = 
window->getImeInput();
                                        eventHandled = true;
-                                       
window->getImeInput()->UpdateImeWindow(window->getHWND());
-                                       
window->getImeInput()->UpdateInfo(window->getHWND());
+                                       ime->UpdateImeWindow(hwnd);
+                                       ime->UpdateInfo(hwnd);
                                        event = processImeEvent(
                                                GHOST_kEventImeComposition,
                                                window,
-                                               
&window->getImeInput()->eventImeData);
+                                               &ime->eventImeData);
                                        break;
                                }
                                case WM_IME_ENDCOMPOSITION:
                                {
+                                       GHOST_ImeWin32 *ime = 
window->getImeInput();
                                        eventHandled = true;
                                        /* remove input event after end comp 
event, avoid redundant input */
                                        
eventManager->removeTypeEvents(GHOST_kEventKeyDown, window);
-                                       
window->getImeInput()->ResetComposition(window->getHWND());
-                                       
window->getImeInput()->DestroyImeWindow(window->getHWND());
+                                       ime->ResetComposition(hwnd);
+                                       ime->DestroyImeWindow(hwnd);
                                        event = processImeEvent(
                                                GHOST_kEventImeCompositionEnd,
                                                window,
-                                               
&window->getImeInput()->eventImeData);
+                                               &ime->eventImeData);
                                        break;
                                }
 #endif /* WITH_INPUT_IME */
diff --git a/intern/ghost/intern/GHOST_SystemWin32.h 
b/intern/ghost/intern/GHOST_SystemWin32.h
index 2bb6311..3374b39 100644
--- a/intern/ghost/intern/GHOST_SystemWin32.h
+++ b/intern/ghost/intern/GHOST_SystemWin32.h
@@ -305,6 +305,7 @@ protected:
         */
        static GHOST_Event *processWindowEvent(GHOST_TEventType type, 
GHOST_IWindow *window);
 
+#ifdef WITH_INPUT_IME
        /**
         * Creates a IME event.
         * \param type          The type of event to create.
@@ -313,6 +314,7 @@ protected:
         * \return The event created.
         */
        static GHOST_Event *processImeEvent(GHOST_TEventType type, 
GHOST_IWindow *window, GHOST_TEventImeData *data);
+#endif // WITH_INPUT_IME
 
        /**
         * Handles minimum window size.
diff --git a/intern/ghost/intern/GHOST_WindowWin32.cpp 
b/intern/ghost/intern/GHOST_WindowWin32.cpp
index e033dae..efcb389 100644
--- a/intern/ghost/intern/GHOST_WindowWin32.cpp
+++ b/intern/ghost/intern/GHOST_WindowWin32.cpp
@@ -1060,12 +1060,12 @@ GHOST_TSuccess GHOST_WindowWin32::endProgressBar()
 #ifdef WITH_INPUT_IME
 void GHOST_WindowWin32::beginIME(GHOST_TInt32 x, GHOST_TInt32 y, GHOST_TInt32 
w, GHOST_TInt32 h, int completed)
 {
-       this->getImeInput()->BeginIME(this->getHWND(),  GHOST_Rect(x, y - h , 
x, y), (bool)completed);
+       m_imeImput.BeginIME(m_hWnd, GHOST_Rect(x, y - h, x, y), 
(bool)completed);
 }
 
 
 void GHOST_WindowWin32::endIME()
 {
-       this->getImeInput()->EndIME(this->getHWND());
+       m_imeImput.EndIME(m_hWnd);
 }
 #endif /* WITH_INPUT_IME */

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to