#include #include #include "display.h" static SDL_Surface *screen; static int g_width, g_height; void display_init( int width, int height) { g_width = width; g_height = height; if (SDL_Init (SDL_INIT_EVERYTHING) == -1) { fprintf( stderr, "Can't initialize SDL.\n" ); exit (1); } screen = SDL_SetVideoMode ( width, height, 24, SDL_SWSURFACE | SDL_DOUBLEBUF ); if( !screen ) { fprintf( stderr, "Can't set video mode.\n" ); exit( 1 ); } memset( screen->pixels, 0, width * height * 3 ); SDL_WM_SetCaption ( "GodMachine", "GodMachine" ); } void display_clear( ) { // rectangleColor( screen, 0, 0, g_width, g_height, 0 ); memset( screen->pixels, 0, g_width * g_height * 3 ); vlineColor( screen, g_width / 2, 0, g_height, 0xffffffff ); hlineColor( screen, 0, g_width, g_height / 2, 0xffffffff ); } void display_circle( int wii_id, int x, int y, int w ) { int xoff = ( wii_id & 1 ) * g_width / 2; int yoff = ( wii_id >> 1 ) * g_height / 2; filledCircleColor(screen, x + xoff, y + yoff, w, 0xffffffff ); } void display_line( int wii_id, int x0, int y0, int x1, int y1 ) { int xoff = ( wii_id & 1 ) * g_width / 2; int yoff = ( wii_id >> 1 ) * g_height / 2; aalineColor( screen, x0 + xoff, y0 + yoff, x1 + xoff, y1 + yoff, 0xffffffff ); } void display_rectangle( int wii_id, int x, int y, int w, int h ) { int xoff = ( wii_id & 1 ) * g_width / 2; int yoff = ( wii_id >> 1 ) * g_height / 2; boxColor( screen, x + xoff, y + yoff, x + xoff + w, y + yoff + h, 0xffffffff ); } void display_redraw() { SDL_Flip( screen ); }