+EDGE_RESISTANCE = 10
+"""The amount of resistance to provide to moving a window past a screen
+ boundary. Specify a value of 0 to disable edge resistance."""
+MOVE_POPUP = 1
+"""Display a coordinates popup when moving windows."
+MOVE_RUBBERBAND = 0
+"""NOT IMPLEMENTED (yet?)
+ Display an outline while moving instead of moving the actual window,
+ until the move is completed. Good for slower systems."""
+RESIZE_POPUP = 1
+"""Display a size popup when resizing windows."""
+RESIZE_RUBBERBAND = 0
+"""NOT IMPLEMENTED (yet?)
+ Display an outline while resizing instead of resizing the actual
+ window, until the resize is completed. Good for slower systems."""
+RESIZE_NEAREST = 1
+"""Non-zero to resize from the corner nearest where the mouse is, 0 to
+ resize always from the bottom right corner."""
+#############################################################################
+
+def move(data):
+ """Moves the window interactively. This should only be used with
+ MouseAction.Motion events. If MOVE_POPUP or MOVE_RUBBERBAND is enabled,
+ then the end_move function needs to be bound as well."""
+ _move(data)
+
+def end_move(data):
+ """Complete the interactive move of a window."""
+ _end_move(data)
+
+def resize(data):
+ """Resizes the window interactively. This should only be used with
+ MouseMotion events. If RESIZE_POPUP or RESIZE_RUBBERBAND is enabled,
+ then the end_resize function needs to be bound as well."""
+ _resize(data)
+
+def end_resize(data):
+ """Complete the interactive resize of a window."""
+ _end_resize(data)
+
+###########################################################################
+###########################################################################
+
+###########################################################################
+### Internal stuff, should not be accessed outside the module. ###
+###########################################################################