Permalink
Browse files

Added VideoInfo as an object with appropriate docs

  • Loading branch information...
1 parent bb3ed71 commit f1ad86be2247706265075553334715bf1d3b0d6b @kthakore kthakore committed Oct 23, 2009
Showing with 153 additions and 2 deletions.
  1. +8 −0 Build.PL
  2. +112 −0 lib/SDL/VideoInfo.pm
  3. +32 −2 src/Core/objects/VideoInfo.xs
  4. +1 −0 typemap
View
@@ -84,6 +84,14 @@ my %subsystems =
},
libraries => [qw( SDL )],
},
+ VideoInfo => {
+ file => {
+ from => 'src/Core/objects/VideoInfo.xs',
+ to => 'lib/SDL/VideoInfo.xs',
+ },
+ libraries => [qw( SDL )],
+ },
+
TTF_Font => {
file => {
from => 'src/TTF/objects/TTF_Font.xs',
View
@@ -0,0 +1,112 @@
+package SDL::VideoInfo;
+use strict;
+use warnings;
+require Exporter;
+require DynaLoader;
+our @ISA = qw(Exporter DynaLoader);
+bootstrap SDL::VideoInfo;
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+SDL::VideoInfo - Video Target Information
+
+=head1 SYNOPSIS
+
+ my $video_info = SDL::Video::get_video_info();
+
+VideoInfo is only accessible C<SDL::Video::get_video_info>. This module only provides getters to the struct C<SDL_VideoInfo>.
+
+
+=head1 DESCRIPTION
+
+This object is a read-only structure and is returned by C<SDL::Video::get_video_info>. It contains information on either the best available mode if called before C<SDL::Video::set_video_mode> or the current video mode if called after C<SDL::Video::set_video_mode>.
+
+=head1 METHODS
+
+
+=head2 hw_available
+
+ $video_info->hw_available() # 1 if Hardware Accelerated Surfaces available
+
+Is it possible to create hardware surfaces ?
+
+=head2 wm_available
+
+ $video_info->wm_available() # 1 if Window Manager available
+
+Is there a window manager available ?
+
+=head2 blit_hw
+
+ $video_info->blit_hw()
+
+Are hardware to hardware blits accelerated ?
+
+=head2 blit_hw_CC
+
+ $video_info->blit_hw_CC()
+
+Are hardware to hardware colorkey blits accelerated ?
+
+=head2 blit_hw_A
+
+ $video_info->blit_hw_A()
+
+Are hardware to hardware alpha blits accelerated ?
+
+=head2 blit_sw
+
+ $video_info->blit_sw()
+
+Are software to hardware blits accelerated ?
+
+=head2 blit_sw_CC
+
+ $video_info->blit_sw_CC()
+
+
+Are software to hardware colorkey blits accelerated ?
+
+=head2 blit_sw_A
+
+ $video_info->blit_sw_A()
+
+Are software to hardware alpha blits accelerated ?
+
+=head2 blit_fill
+
+ $video_info->blit_fill()
+
+Are color fills accelerated ?
+
+=head2 video_mem
+
+ my $video_mem = $video_info->video_mem();
+
+Total amount of video memory in Kilobytes, should be accessed only if hw_available == 1, otherwise it is equal to 0
+
+=head2 vfmt
+
+ my $vd_pixel_format = $video_info->vfmt();
+
+
+C<SDL::PixelFormat> of the video device
+
+=head2 current_w, current_h
+
+ $video_info->current_w();
+ $video_info->current_h();
+
+Width and height of the current video mode, or of the desktop mode if C<SDL_GetVideoInfo> was called before C<SDL::Video::set_video_mode> (available since SDL 1.2.10)
+
+=head1 SEE ALSO
+
+L<SDL::Video>, L<SDL::PixelFormat>
+
+=cut
@@ -36,31 +36,39 @@ typedef struct{
Uint32
videoinfo_hw_available( videoinfo )
+
SDL_VideoInfo *videoinfo
+
CODE:
RETVAL = videoinfo->hw_available;
OUTPUT:
RETVAL
Uint32
videoinfo_wm_available( videoinfo )
+
SDL_VideoInfo *videoinfo
+
CODE:
RETVAL = videoinfo->wm_available;
OUTPUT:
RETVAL
Uint32
videoinfo_blit_hw( videoinfo )
+
SDL_VideoInfo *videoinfo
+
CODE:
RETVAL = videoinfo->blit_hw;
OUTPUT:
RETVAL
Uint32
videoinfo_blit_hw_CC( videoinfo )
+
SDL_VideoInfo *videoinfo
+
CODE:
RETVAL = videoinfo->blit_hw_CC;
OUTPUT:
@@ -69,23 +77,29 @@ videoinfo_blit_hw_CC( videoinfo )
Uint32
videoinfo_blit_hw_A( videoinfo )
+
SDL_VideoInfo *videoinfo
+
CODE:
RETVAL = videoinfo->blit_hw_A;
OUTPUT:
RETVAL
Uint32
videoinfo_blit_sw( videoinfo )
+
SDL_VideoInfo *videoinfo
+
CODE:
RETVAL = videoinfo->blit_sw;
OUTPUT:
RETVAL
Uint32
videoinfo_blit_sw_CC( videoinfo )
+
SDL_VideoInfo *videoinfo
+
CODE:
RETVAL = videoinfo->blit_sw_CC;
OUTPUT:
@@ -94,23 +108,29 @@ videoinfo_blit_sw_CC( videoinfo )
Uint32
videoinfo_blit_sw_A( videoinfo )
+
SDL_VideoInfo *videoinfo
+
CODE:
RETVAL = videoinfo->blit_sw_A;
OUTPUT:
RETVAL
Uint32
videoinfo_blit_fill( videoinfo )
+
SDL_VideoInfo *videoinfo
+
CODE:
RETVAL = videoinfo->blit_fill;
OUTPUT:
RETVAL
Uint32
videoinfo_video_mem( videoinfo )
+
SDL_VideoInfo *videoinfo
+
CODE:
RETVAL = videoinfo->video_mem;
OUTPUT:
@@ -119,25 +139,35 @@ videoinfo_video_mem( videoinfo )
SDL_PixelFormat *
videoinfo_vfmt( videoinfo )
+
SDL_VideoInfo *videoinfo
+
+ PREINIT:
+
+ char* CLASS = "SDL::VideoFormat";
+
CODE:
RETVAL = videoinfo->vfmt;
OUTPUT:
RETVAL
int
videoinfo_current_w( videoinfo )
+
SDL_VideoInfo *videoinfo
+
CODE:
- RETVAL = videoinfor->current_w;
+ RETVAL = videoinfo->current_w;
OUTPUT:
RETVAL
int
videoinfo_current_h( videoinfo )
+
SDL_VideoInfo *videoinfo
+
CODE:
- RETVAL = videoinfor->current_h;
+ RETVAL = videoinfo->current_h;
OUTPUT:
RETVAL
View
@@ -23,6 +23,7 @@ SDL_Rect * O_OBJECT
SDL_Color * O_OBJECT
SDL_Palette * T_PTR
SDL_PixelFormat * O_OBJECT
+SDL_VideoInfo * O_OBJECT
SDL_Cursor * T_PTR
SDL_AudioSpec * T_PTR
SDL_AudioCVT * T_PTR

0 comments on commit f1ad86b

Please sign in to comment.