#include "EXTERN.h" #include "perl.h" #include "XSUB.h" #ifndef aTHX_ #define aTHX_ #endif #include MODULE = SDL::Video PACKAGE = SDL::Video PREFIX = video_ =for documentation The Following are XS bindings to the Video category in the SDL API v2.1.13 Describe on the SDL API site. See: L =cut SDL_Surface * video_get_video_surface() PREINIT: char* CLASS = "SDL::Surface"; CODE: RETVAL = SDL_GetVideoSurface(); OUTPUT: RETVAL SDL_VideoInfo* video_get_video_info() PREINIT: char* CLASS = "SDL::VideoInfo"; CODE: RETVAL = (SDL_VideoInfo *) SDL_GetVideoInfo(); OUTPUT: RETVAL SV * video_video_driver_name( ) CODE: char buffer[1024]; if ( SDL_VideoDriverName(buffer, 1024) != NULL ) { RETVAL = newSVpv(buffer, 0); } else XSRETURN_UNDEF; OUTPUT: RETVAL AV* list_modes ( format, flags ) Uint32 flags SDL_PixelFormat *format CODE: SDL_Rect **mode; RETVAL = newAV(); mode = SDL_ListModes(format,flags); if (mode == (SDL_Rect**)-1 ) { av_push(RETVAL,newSVpv("all",0)); } else if (! mode ) { av_push(RETVAL,newSVpv("none",0)); } else { for (;*mode;mode++) { av_push(RETVAL,newSViv(PTR2IV(*mode))); } } OUTPUT: RETVAL