#!/usr/bin/perl -w # basic testing of SDLx::App use strict; use SDL; use SDL::Config; use SDL::Rect; use SDLx::Rect; use SDL::Color; use SDL::Video; use Test::More; use lib 't/lib'; use SDL::TestTool; plan( tests => 2 ); use SDLx::App; can_ok( 'SDLx::App', qw/ new set_video_mode stash init screen_size resize title icon error warp_cursor show_cursor fullscreen iconify grab_input sync gl_attribute / ); my $videodriver = $ENV{SDL_VIDEODRIVER}; $ENV{SDL_VIDEODRIVER} = 'dummy' unless $ENV{SDL_RELEASE_TESTING}; SKIP: { skip 'No Video', 1 unless SDL::TestTool->init(SDL_INIT_VIDEO); my $app = SDLx::App->new( title => "Test", width => 640, height => 480, init => SDL_INIT_VIDEO ); my $rect = SDL::Rect->new( 0, 0, $app->w, $app->h ); my $pixel_format = $app->format; my $blue_pixel = SDL::Video::map_RGB( $pixel_format, 0x00, 0x00, 0xff ); my $col_pixel = SDL::Video::map_RGB( $pixel_format, 0xf0, 0x00, 0x33 ); my $grect = SDLx::Rect->new( 10, 10, 30, 35 ); foreach ( 0 .. 80 ) { $grect->x($_); $grect->centery( $_ * 3 ); $grect->size( ( $_ / 40 ) * $_, ( $_ / 38 ) * $_ ); SDL::Video::fill_rect( $app, $rect, $blue_pixel ); SDL::Video::fill_rect( $app, $grect, $col_pixel ); SDL::Video::update_rect( $app, 0, 0, 640, 480 ); SDL::delay(10); } SDL::delay(100); pass 'Ran'; } if ($videodriver) { $ENV{SDL_VIDEODRIVER} = $videodriver; } else { delete $ENV{SDL_VIDEODRIVER}; }