The Screen is the base object for any pyDraw program, and can perform a variety of different tasks.
Quick Reference can help with simple issues or give you a basic understanding of the methods available, but it can never replace full documentation which is available here.
Initialization
You can initialize a Screen by passing a width and height (in pixels), and you can also pass an optional title. The default title is: "pydraw".
screen = Screen(800,600)
screen = Screen(800,600,'Title')
Title
The title may be set in the constructor, but can also be modified later with:
screen.title(title)
Size
The Screen maintains its width and height and is not resizable. The values are retrievable via:
screen.width()
screen.height()
Also, you can resize the Screen manually with:
screen.resize(width, height)
Color
The Screen's background is white by default, but it can be modified (or retrieved) with:
screen.color()# Retrieve the current Color
screen.color(color)# Set a new Color
Note: Colors in pyDraw are wrapped with the Color class.
Background Image
You can also set the background image of the screen with:
screen.picture(image_file)
Input
You can have the screen listen for input by calling this after defining input methods:
screen.listen()
Example
defmousedown(button, location):
# input handling code
screen.listen()# Register any input methods
Text Input (Prompt)
You can initiate a prompt to collect user input simply:
screen.prompt(text)# Ask a question
screen.prompt(text, title)# Specify a title for the dialog
Mouse Location
You can retrieve the mouses current (or last known) location like so:
screen.mouse()
Screen Capture
It is possible to capture the contents of the Screen and write it to a specified image file:
screen.grab()# Just get an image and give it a random name
screen.grab(filename)# Specify a filename to save to
Updating and Clearing
You can update/clear the screen as expected:
screen.update()# Update the screen to display new changes
screen.clear()# Clear all objects off the Screen
Sleeping and Delay
The Screen has the ability to delay the program by a specified amount in seconds, but will also calculate a deltaTime in order to keep program execution delays as consistent as possible:
screen.sleep(seconds)
This method can only be used while within a while loop, if you want to normally delay a program, you should call:
import time
time.sleep(seconds)
Removing Objects
Although a method exists on all objects to remove themselves, the Screen is also able to remove objects from itself:
screen.remove(obj)
Objects List
You can retrieve a list of all active objects (not including grid and helpers):
screen.objects()# Returns a tuple (immutable list) of all objects.
Grids and Helpers
Screens have a fairly advanced grid system, allowing you to specify the number of rows or columns, or optionally the size of each cell (the default size of the cells will be 50x50):
screen.grid(rows, cols)# Specify # of rows and cols
screen.grid(cellsize=(50,50))# Specify the cellsize
screen.toggle_grid(state)# Toggle the grid's visibility
You can also activate helper-labels for coordinates like so (every 100 pixels):