[PDD] Add docs for the Parrot_PMC_push_* and Parrot_PMC_pop_* functions
[parrot.git] / examples / sdl / blue_rect.pir
blob3d097bb63c527218abbb799c0e6fae27f524eb4c
1 # $Id$
3 =head1 TITLE
5 blue_rect.pir - draw a blue rectangle with the SDL Parrot bindings
7 =head1 SYNOPSIS
9 To run this file, run the following command from the Parrot directory:
11     $ ./parrot examples/sdl/blue_rect.pir
12     $
14 =cut
16 .sub _main :main
17     # first load the necessary libraries
18     load_bytecode "SDL/App.pir"
19     load_bytecode "SDL/Rect.pir"
20     load_bytecode "SDL/Color.pir"
22     # create an SDL::App object
23     .local pmc app
24     app = new ['SDL'; 'App']
25     app.'init'( 'height' => 480, 'width' => 640, 'bpp' => 32, 'flags' => 1 )
27     # fetch the SDL::Surface representing the main window
28     .local pmc main_screen
29     main_screen = app.'surface'()
31     # create an SDL::Rect object
32     .local pmc rect
33     new rect, ['SDL'; 'Rect']
34     rect.'init'( 'height' => 100, 'width'  => 100, 'x' => 270, 'y' => 190 )
36     # create an SDL::Color object
37     .local pmc color
38     new color, ['SDL'; 'Color']
39     color.'init'( 'r' => 0, 'g' => 0, 'b' => 255 )
41     # draw the rectangle to the surface and update it
42     main_screen.'fill_rect'(   rect, color )
43     main_screen.'update_rect'( rect )
45     # pause for people to see it
46     sleep 2
48     # and that's it!
49     app.'quit'()
50     end
51 .end
53 =head1 AUTHOR
55 chromatic, E<lt>chromatic at wgz dot orgE<gt>.
57 =head1 COPYRIGHt
59 Copyright (C) 2004-2008, Parrot Foundation.
61 =cut
63 # Local Variables:
64 #   mode: pir
65 #   fill-column: 100
66 # End:
67 # vim: expandtab shiftwidth=4 ft=pir: