Пример #1
0
    def set_mouse_platform_visible(self, platform_visible=None):
        if platform_visible is None:
            platform_visible = (self._mouse_visible and
                                not self._exclusive_mouse and
                                not self._mouse_cursor.drawable) or \
                               (not self._mouse_in_window or
                                not self._has_focus)

        if platform_visible and not self._mouse_cursor.drawable:
            if isinstance(self._mouse_cursor, Win32MouseCursor):
                cursor = self._mouse_cursor.cursor
            else:
                cursor = _user32.LoadCursorW(None, MAKEINTRESOURCE(IDC_ARROW))
            _user32.SetClassLongW(self._view_hwnd, GCL_HCURSOR, cursor)
            _user32.SetCursor(cursor)

        if platform_visible == self._mouse_platform_visible:
            return

        # Avoid calling ShowCursor with the current visibility (which would
        # push the counter too far away from zero).
        global _win32_cursor_visible
        if _win32_cursor_visible != platform_visible:
            _user32.ShowCursor(platform_visible)
            _win32_cursor_visible = platform_visible

        self._mouse_platform_visible = platform_visible
Пример #2
0
 def _set_cursor_visibility(self, platform_visible):
     # Avoid calling ShowCursor with the current visibility (which would
     # push the counter too far away from zero).
     global _win32_cursor_visible
     if _win32_cursor_visible != platform_visible:
         _user32.ShowCursor(platform_visible)
         _win32_cursor_visible = platform_visible