Hi all,
With the improved object system in place, I've been porting the existing
SDL Parrot bindings. Here's a sample program that draws the friendly
blue rectangle again:
.pcc_sub _main non_prototyped, @MAIN
load_bytecode "library/sdl_app.imc"
load_bytecode "library/sdl_rect.imc"
load_bytecode "library/sdl_color.imc"
.sym pmc app
.sym int app_type
find_type app_type, 'SDL::App'
new app, app_type
.sym pmc args
new args, .PerlHash
set args['height'], 480
set args['width'], 640
set args['bpp'], 0
set args['flags'], 1
app.'_new'( args )
.sym pmc rect
.sym int rect_type
find_type rect_type, 'SDL::Rect'
new rect, rect_type
new args, .PerlHash
set args['height'], 100
set args['width'], 100
set args['x'], 270
set args['y'], 190
rect.'_new'( args )
.sym pmc color
.sym int color_type
find_type color_type, 'SDL::Color'
new color, color_type
new args, .PerlHash
set args['r'], 0
set args['g'], 0
set args['b'], 255
color.'_new'( args )
app.'_fill_rect'( rect, color )
app.'_update_rect'( rect )
sleep 2
app.'_quit'()
end
.end
As you can see, this is a lot simpler and quite a bit cleaner. I'll add
some documentation, port the existing examples to the new code, and
check it in.
Any preferences whether these files are 'library/sdl_rect.imc' or
'library/sdl/rect.imc', by the way?
-- c