OUTPUT:
RETVAL
+int
+video_set_colors ( surface, start, ... )
+ SDL_Surface *surface
+ int start
+ CODE:
+ SDL_Color *colors,*temp;
+ int i, length;
+ if ( items < 3 ) { RETVAL = 0; goto all_done; }
+ length = items - 2;
+ colors = (SDL_Color *)safemalloc(sizeof(SDL_Color)*(length+1));
+ for ( i = 0; i < length ; i++ ) {
+ temp = (SDL_Color *)SvIV(ST(i+2));
+ colors[i].r = temp->r;
+ colors[i].g = temp->g;
+ colors[i].b = temp->b;
+ }
+ RETVAL = SDL_SetColors(surface, colors, start, length );
+ safefree(colors);
+
+ all_done:
+ OUTPUT:
+ RETVAL
#!/usr/bin/perl -w
use strict;
use SDL;
+use SDL::Color;
use SDL::Surface;
use SDL::Config;
use Devel::Peek;
use Test::More;
use SDL::Rect;
-plan ( tests => 10 );
+plan ( tests => 13 );
use_ok( 'SDL::Video' );
update_rect
update_rects
flip
+ set_colors
/;
can_ok ('SDL::Video', @done);
isa_ok(SDL::Video::set_video_mode( 100, 100 ,16, SDL_SWSURFACE), 'SDL::Surface', '[set_video_more] Checking if we get a surface ref back');
-
#TODO: Write to surface and check inf pixel in that area got updated.
SDL::Video::update_rect($display, 0, 0, 0, 0);
my $value = SDL::Video::flip($display);
is( ($value == 0) || ($value == -1), 1, '[flip] returns 0 or -1' );
+$value = SDL::Video::set_colors($display, 0);
+is( $value , 0, '[set_colors] returns 0' );
+
+$value = SDL::Video::set_colors($display, SDL::Color->new(255,0,0) );
+is( ($value == 0) || ($value == 1) , 1, '[set_colors] returns 1 or 0' );
+#TODO: check actual color in palette with get_palette
my @left = qw/
- set_colors
set_palette
set_gamma
get_gamma_ramp
TODO:
{
- local $TODO = 'Implementation not completed';
- pass $why."\nThe following functions:\n".join "\n", @left;
+ local $TODO = $why;
+ pass "\nThe following functions:\n".join ",", @left;
}
+ diag $why;
+
+pass 'Are we still alive? Checkign for segfaults';