Author: DavidCzech Date: 2008-02-27 23:04:17 -0500 (Wed, 27 Feb 2008) New Revision: 1007
Modified: trunk/pysoy/src/_core/Window-w32.pxi trunk/pysoy/src/_core/soy._core.pxd trunk/pysoy/src/_core/support.c trunk/pysoy/src/_core/support.pxd Log: Minimize and Minimized for #233 Modified: trunk/pysoy/src/_core/Window-w32.pxi =================================================================== --- trunk/pysoy/src/_core/Window-w32.pxi 2008-02-28 00:52:04 UTC (rev 1006) +++ trunk/pysoy/src/_core/Window-w32.pxi 2008-02-28 04:04:17 UTC (rev 1007) @@ -30,7 +30,7 @@ from support cimport register_class, unregister_class, make_window, \ set_window_pos, get_window_pos, set_window_size, get_window_size, \ - set_pixel_format + set_pixel_format, minimize, maximize cdef class Window : '''Window Class @@ -70,7 +70,7 @@ self._opened = 0 self._registerClass() self._request_create(position[0], position[1], size[0], size[1]) - + self._minimized =1 def __dealloc__(self) : # Delete the window here self._request_destroy() @@ -80,6 +80,12 @@ if not _windows.current: self._unregisterClass() _windows.unlock() + def minimize ( self ) : + + if self._minimized == 1: + self._minimized=minimize(self._window) + elif self._minimized == 0: + self._minimized =maximize(self._window) cdef void _request_destroy(self): cdef int i @@ -320,4 +326,11 @@ if report == [] : return '<Empty Window>' else : return '<Window with %s>' % ', '.join(report) # vim: sts=2:sw=2:et - + property minimized : + def __get__(self) : + return bool(not(self._minimized)) + def __set__(self,value) : + if value: + self._minimized=minimize(self._window) + elif not value: + self._minimized=maximize(self._window) Modified: trunk/pysoy/src/_core/soy._core.pxd =================================================================== --- trunk/pysoy/src/_core/soy._core.pxd 2008-02-28 00:52:04 UTC (rev 1006) +++ trunk/pysoy/src/_core/soy._core.pxd 2008-02-28 04:04:17 UTC (rev 1007) @@ -75,6 +75,7 @@ cdef void _request_destroy(self) cdef void _registerClass(self) cdef void _unregisterClass(self) + cdef int _minimized ELSE : # X11/GLX platform cdef glx.Window _windowID Modified: trunk/pysoy/src/_core/support.c =================================================================== --- trunk/pysoy/src/_core/support.c 2008-02-28 00:52:04 UTC (rev 1006) +++ trunk/pysoy/src/_core/support.c 2008-02-28 04:04:17 UTC (rev 1007) @@ -186,3 +186,11 @@ *height = mode.dmPelsHeight; *depth = mode.dmBitsPerPel; } +int minimize ( HWND window ) { + ShowWindow(window,SW_MINIMIZE); + return (int) 0; +} +int maximize ( HWND window ) { + ShowWindow(window,SW_RESTORE); + return (int) 1; +} Modified: trunk/pysoy/src/_core/support.pxd =================================================================== --- trunk/pysoy/src/_core/support.pxd 2008-02-28 00:52:04 UTC (rev 1006) +++ trunk/pysoy/src/_core/support.pxd 2008-02-28 04:04:17 UTC (rev 1007) @@ -30,3 +30,5 @@ cdef windows.BOOL get_window_size(windows.HWND window, int* width, int* height) #cdef windows.HDC get_display_hdc() cdef void get_screen_info(int* width, int* height, int* depth) + cdef int minimize ( windows.HWND window ) + cdef int maximize ( windows.HWND window ) _______________________________________________ PySoy-SVN mailing list PySoy-SVN@pysoy.org http://www.pysoy.org/mailman/listinfo/pysoy-svn