diff options
| author | erdgeist <> | 2008-09-16 15:40:46 +0000 |
|---|---|---|
| committer | erdgeist <> | 2008-09-16 15:40:46 +0000 |
| commit | 8d957f068792b4ee55f807930c975699c29922a2 (patch) | |
| tree | 4a960cbe6c05797175a7c8b518f93e4459bafd1d /display.c | |
Diffstat (limited to 'display.c')
| -rw-r--r-- | display.c | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/display.c b/display.c new file mode 100644 index 0000000..a4ac62b --- /dev/null +++ b/display.c | |||
| @@ -0,0 +1,63 @@ | |||
| 1 | #include <SDL/SDL.h> | ||
| 2 | #include <SDL/SDL_gfxPrimitives.h> | ||
| 3 | |||
| 4 | #include "display.h" | ||
| 5 | |||
| 6 | static SDL_Surface *screen; | ||
| 7 | static int g_width, g_height; | ||
| 8 | |||
| 9 | void display_init( int width, int height) { | ||
| 10 | g_width = width; | ||
| 11 | g_height = height; | ||
| 12 | |||
| 13 | if (SDL_Init (SDL_INIT_EVERYTHING) == -1) { | ||
| 14 | fprintf( stderr, "Can't initialize SDL.\n" ); | ||
| 15 | exit (1); | ||
| 16 | } | ||
| 17 | |||
| 18 | screen = SDL_SetVideoMode ( width, height, 24, SDL_SWSURFACE | SDL_DOUBLEBUF ); | ||
| 19 | if( !screen ) { | ||
| 20 | fprintf( stderr, "Can't set video mode.\n" ); | ||
| 21 | exit( 1 ); | ||
| 22 | } | ||
| 23 | |||
| 24 | memset( screen->pixels, 0, width * height * 3 ); | ||
| 25 | SDL_WM_SetCaption ( "GodMachine", "GodMachine" ); | ||
| 26 | |||
| 27 | } | ||
| 28 | |||
| 29 | void display_clear( ) { | ||
| 30 | // rectangleColor( screen, 0, 0, g_width, g_height, 0 ); | ||
| 31 | |||
| 32 | memset( screen->pixels, 0, g_width * g_height * 3 ); | ||
| 33 | vlineColor( screen, g_width / 2, 0, g_height, 0xffffffff ); | ||
| 34 | hlineColor( screen, 0, g_width, g_height / 2, 0xffffffff ); | ||
| 35 | } | ||
| 36 | |||
| 37 | void display_circle( int wii_id, int x, int y, int w ) { | ||
| 38 | int xoff = ( wii_id & 1 ) * g_width / 2; | ||
| 39 | int yoff = ( wii_id >> 1 ) * g_height / 2; | ||
| 40 | |||
| 41 | filledCircleColor(screen, x + xoff, y + yoff, w, 0xffffffff ); | ||
| 42 | |||
| 43 | } | ||
| 44 | |||
| 45 | void display_line( int wii_id, int x0, int y0, int x1, int y1 ) { | ||
| 46 | int xoff = ( wii_id & 1 ) * g_width / 2; | ||
| 47 | int yoff = ( wii_id >> 1 ) * g_height / 2; | ||
| 48 | |||
| 49 | aalineColor( screen, x0 + xoff, y0 + yoff, x1 + xoff, y1 + yoff, 0xffffffff ); | ||
| 50 | |||
| 51 | } | ||
| 52 | |||
| 53 | void display_rectangle( int wii_id, int x, int y, int w, int h ) { | ||
| 54 | int xoff = ( wii_id & 1 ) * g_width / 2; | ||
| 55 | int yoff = ( wii_id >> 1 ) * g_height / 2; | ||
| 56 | |||
| 57 | boxColor( screen, x + xoff, y + yoff, x + xoff + w, y + yoff + h, 0xffffffff ); | ||
| 58 | |||
| 59 | } | ||
| 60 | |||
| 61 | void display_redraw() { | ||
| 62 | SDL_Flip( screen ); | ||
| 63 | } | ||
