[pygame] Re: Query Pygame window position after creation?

2009-10-17 Thread Eric Pavey
So, I can partly reply to my own post:  I found a way to do this on Windows
(shown below).  But I realize this returns the location of the window, I
need to know the location of the display screen (pygame surface).  The
values this returns are the outer window extents, including title-bar, outer
window frame, and these can vary based on the UI.  So I guess I should
re-ask my question:

For a given Pygame surface, how can I query its position in the screen
(computer screen, not pygame display)

from ctypes import POINTER, WINFUNCTYPE, windll
from ctypes.wintypes import BOOL, HWND, RECT

# get our window ID:
hwnd = pygame.display.get_wm_info()["window"]

# Jump through all the ctypes hoops:
prototype = WINFUNCTYPE(BOOL, HWND, POINTER(RECT))
paramflags = (1, "hwnd"), (2, "lprect")
GetWindowRect = prototype(("GetWindowRect", windll.user32), paramflags)

# finally get our data!
rect = GetWindowRect(hwnd)
print "top, left, bottom, right: ", rect.top, rect.left, rect.bottom, rect.right
# bottom, top, left, right:  644 98 124 644


[pygame] Query Pygame window position after creation?

2009-10-17 Thread Eric Pavey
I've been searching, but not finding:  Is there any way to query the
location of the Pygame window after creation?  There doesn't seem to be an
event that is triggered when the window is moved, but there is an event for
when it is resized.  I've found the post describing how you can control its
creation position like so:

os.environ['SDL_VIDEO_WINDOW_POS'] = "10,10"

But once its made, and the user has moved it, how to query the updated
position?  Would also like to know if there was an event or callback
triggered when the window has been moved.
Presumably it'd return the location of one of the corners...
Many thanks.