diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2012-08-14 18:05:13 +0200 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2012-08-14 18:05:13 +0200 |
commit | c331551e407fda9803522433dc8871fa6cc5f4ba (patch) | |
tree | 42cb623b0dd3d7550d90e2c0f537c15f10145c39 | |
parent | 9be84de9fb224a3e069eb8577baf02f3dcf81a0f (diff) | |
download | osc-graphics-c331551e407fda9803522433dc8871fa6cc5f4ba.tar.gz |
use SDL_gfx for framerate adjustment
-rw-r--r-- | Makefile | 7 | ||||
-rw-r--r-- | effect-pad.c | 13 |
2 files changed, 15 insertions, 5 deletions
@@ -6,9 +6,12 @@ SDL_LDFLAGS := $(shell sdl-config --libs) SDL_IMAGE_CFLAGS := $(shell pkg-config SDL_image --cflags) SDL_IMAGE_LDFLAGS := $(shell pkg-config SDL_image --libs) +SDL_GFX_CFLAGS := $(shell pkg-config SDL_gfx --cflags) +SDL_GFX_LDFLAGS := $(shell pkg-config SDL_gfx --libs) + CFLAGS := -std=c99 -Wall -g -O0 \ - $(SDL_CFLAGS) $(SDL_IMAGE_CFLAGS) -LDFLAGS := $(SDL_LDFLAGS) $(SDL_IMAGE_LDFLAGS) + $(SDL_CFLAGS) $(SDL_IMAGE_CFLAGS) $(SDL_GFX_CFLAGS) +LDFLAGS := $(SDL_LDFLAGS) $(SDL_IMAGE_LDFLAGS) $(SDL_GFX_LDFLAGS) all : effect-pad diff --git a/effect-pad.c b/effect-pad.c index 0911701..b942bdc 100644 --- a/effect-pad.c +++ b/effect-pad.c @@ -5,6 +5,7 @@ #include <SDL.h> #include <SDL_image.h> +#include <SDL_framerate.h> //#define EFFECT_FIRE_COLORKEYED @@ -33,6 +34,7 @@ #define SCREEN_WIDTH 640 #define SCREEN_HEIGHT 480 +#define FRAMERATE 20 /* Hz */ static SDL_Surface *screen; @@ -257,8 +259,10 @@ process_events(void) int main(int argc, char **argv) { - SDL_Surface *fire_surface; - SDL_Surface *image_surface; + FPSmanager fpsm; + + SDL_Surface *fire_surface; + SDL_Surface *image_surface; if (SDL_Init(SDL_INIT_VIDEO)) { SDL_ERROR("SDL_Init"); @@ -275,6 +279,9 @@ main(int argc, char **argv) return EXIT_FAILURE; } + SDL_initFramerate(&fpsm); + SDL_setFramerate(&fpsm, FRAMERATE); + image_surface = IMG_Load("image_1.jpg"); if (image_surface == NULL) { SDL_IMAGE_ERROR("IMG_Load"); @@ -296,7 +303,7 @@ main(int argc, char **argv) SDL_BlitSurface(fire_surface, NULL, screen, NULL); SDL_Flip(screen); - SDL_Delay(1000/20); + SDL_framerateDelay(&fpsm); } /* never reached */ |