Author: ArcRiley
Date: 2008-03-05 10:30:08 -0500 (Wed, 05 Mar 2008)
New Revision: 1041

Modified:
   trunk/pysoy/src/_core/_windowproc.pxi
Log:
Ticket #901 :
  * UNTESTED - _windowproc updated to new API


Modified: trunk/pysoy/src/_core/_windowproc.pxi
===================================================================
--- trunk/pysoy/src/_core/_windowproc.pxi       2008-03-05 02:38:42 UTC (rev 
1040)
+++ trunk/pysoy/src/_core/_windowproc.pxi       2008-03-05 15:30:08 UTC (rev 
1041)
@@ -19,60 +19,62 @@
 
 cimport soy.controllers
 
-cdef Window _get_window(windows.HWND hwnd):
-  cdef int i
-  for i from 0 <= i < _windows.current:
-    if (<Window> _windows.list[i])._window == hwnd:
-      return (<Window> _windows.list[i])
+cdef Window _get_window(windows.HWND _hwnd):
+  cdef int _i
+  for _i from 0 <= _i < _windows._current:
+    if (<Window> _windows._list[_i])._window == _hwnd :
+      return (<Window> _windows._list[_i])
   return None
 
-cdef windows.LRESULT __stdcall _window_proc(
-  windows.HWND hwnd,
-  windows.UINT msg,
-  windows.WPARAM wParam,
-  windows.LPARAM lParam
-):
-  cdef Window w
-  cdef int i
-  if msg == windows.WM_SIZE:
-    w = _get_window(hwnd)
-    if w is None:
+cdef windows.LRESULT __stdcall _window_proc(windows.HWND   _hwnd,
+                                            windows.UINT   _msg,
+                                            windows.WPARAM _wParam,
+                                            windows.LPARAM _lParam) :
+  cdef int    _i
+  cdef Window _win
+  if _msg == windows.WM_SIZE :
+    _win = _get_window(_hwnd)
+    if _win is None:
       return 0
-    #stdio.printf("WindowProc, msg %d, hwnd %x\n", msg, hwnd)
+    #stdio.printf("WindowProc, _msg %d, _hwnd %x\n", _msg, _hwnd)
     #stdio.printf("WindowProc, thread %d\n", windows.GetCurrentThreadId())
     #stdio.printf("WindowProc: Got WM_SIZE\n")
-    #stdio.printf("WindowProc: w: %x, width: %d, height: %d\n", <void *>w, 
windows.LOWORD(lParam), windows.HIWORD(lParam))
-    w._resize(windows.LOWORD(lParam), windows.HIWORD(lParam))
+    #stdio.printf("WindowProc: _win: %x, width: %d, height: %d\n", 
+    #             <void *> _win, 
+    #             windows.LOWORD(_lParam), windows.HIWORD(_lParam))
+    _win._resize(windows.LOWORD(_lParam), windows.HIWORD(_lParam))
     return 0
-  elif msg == windows.WM_CHAR:
-    if wParam > 255:
+  elif _msg == windows.WM_CHAR :
+    if _wParam > 255:
       return 0
-    w = _get_window(hwnd)
-    #stdio.printf("WindowProc: WM_CHAR: got '%c'\n", <unsigned char>wParam)
-    w._controllers.lock()
-    for i from 0 <= i < w._controllers.current:
-      (<soy.controllers.Controller> w._controllers.list[i])._eventKeyDown(
-                                                            0, <unsigned 
char>wParam)
-    w._controllers.unlock()
+    _win = _get_window(_hwnd)
+    #stdio.printf("WindowProc: WM_CHAR: got '%c'\n", <unsigned char> _wParam)
+    _win._controllers._iterStart()
+    for _i from 0 <= _i < _win._controllers._current :
+      (<soy.controllers.Controller> 
+       _win._controllers._list[_i])._eventKeyDown(0, <unsigned char> _wParam)
+    _win._controllers._iterDone()
     return 0
-  elif msg == windows.WM_KEYDOWN:
-    w = _get_window(hwnd)
-    #stdio.printf("WindowProc: WM_KEYDOWN: got %d\n", ((lParam >> 16) & 0xff))
-    w._controllers.lock()
-    for i from 0 <= i < w._controllers.current:
-      (<soy.controllers.Controller> w._controllers.list[i])._eventKeyDown(
-                                                            <unsigned 
char>((lParam >> 16) & 0xff), 0)
-    w._controllers.unlock()
+  elif _msg == windows.WM_KEYDOWN:
+    _win = _get_window(_hwnd)
+    #stdio.printf("WindowProc: WM_KEYDOWN: got %d\n", 
+    #             ((_lParam >> 16) & 0xff))
+    _win._controllers._iterStart()
+    for _i from 0 <= _i < _win._controllers._current :
+      (<soy.controllers.Controller> 
+       _win._controllers._list[_i])._eventKeyDown(<unsigned char>
+                                                  ((_lParam >> 16) & 0xff), 0)
+    _win._controllers._iterDone()
     return 0
-  elif msg == windows.WM_CLOSE:
-    w = _get_window(hwnd)
-    w._controllers.lock()
-    for i from 0 <= i < w._controllers.current:
-      (<soy.controllers.Controller> w._controllers.list[i])._eventWinClose()
-    w._controllers.unlock()
-    #w._destroy()
+  elif _msg == windows.WM_CLOSE:
+    _win = _get_window(_hwnd)
+    _win._controllers._iterStart()
+    for _i from 0 <= _i < _win._controllers._current:
+      (<soy.controllers.Controller> 
+       _win._controllers._list[_i])._eventWinClose()
+    _win._controllers._iterDone()
+    #_win._destroy()
     return 0
-  return windows.DefWindowProc(hwnd, msg, wParam, lParam)
+  return windows.DefWindowProc(_hwnd, _msg, _wParam, _lParam)
 
 # vim: sts=2:sw=2:et
-

_______________________________________________
PySoy-SVN mailing list
PySoy-SVN@pysoy.org
http://www.pysoy.org/mailman/listinfo/pysoy-svn

Reply via email to