From 8d957f068792b4ee55f807930c975699c29922a2 Mon Sep 17 00:00:00 2001 From: erdgeist <> Date: Tue, 16 Sep 2008 15:40:46 +0000 Subject: Kickoff --- display.c | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 display.c (limited to 'display.c') diff --git a/display.c b/display.c new file mode 100644 index 0000000..a4ac62b --- /dev/null +++ b/display.c @@ -0,0 +1,63 @@ +#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 ); +} -- cgit v1.2.3