From 8a14d60d2078b4bcdfc789b1b9794e2008979f02 Mon Sep 17 00:00:00 2001 From: oroborus Date: Sat, 1 Mar 2008 21:30:00 +0000 Subject: - screen na vyberanie aren - areny z povodnych tuxancov boli prescriptovane do tuxanci-ng, treba este dopisat teleporty a rury git-svn-id: http://opensvn.csie.org/tuxanci_ng@7 0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e --- src/widget_buttonimage.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src/widget_buttonimage.c (limited to 'src/widget_buttonimage.c') diff --git a/src/widget_buttonimage.c b/src/widget_buttonimage.c new file mode 100644 index 0000000..0b1cb97 --- /dev/null +++ b/src/widget_buttonimage.c @@ -0,0 +1,54 @@ + +#include "main.h" +#include "interface.h" +#include "font.h" +#include "widget_buttonimage.h" +#include "image.h" + +widget_buttonimage_t* newWidgetButtonimage(SDL_Surface *image, int x, int y, void (*fce_event)(void *)) +{ + widget_buttonimage_t *new; + + new = malloc( sizeof(widget_buttonimage_t) ); + new->image = image; + new->x = x; + new->y = y; + new->w = image->w/2; + new->h = image->h; + new->active = 0; + new->fce_event = fce_event; + + return new; +} + +void drawWidgetButtonimage(widget_buttonimage_t *p) +{ + drawImage(p->image, p->x, p->y, p->active*p->w, 0, p->w, p->h); +} + +void eventWidgetButtonimage(widget_buttonimage_t *p) +{ + static int time = 0; + int x, y; + + if( time > 0) + { + time--; + return; + } + + getMousePosition(&x, &y); + + if( x >= p->x && x <= p->x+p->w && + y >= p->y && y <= p->y+p->h && + isMouseClicked() ) + { + time = WIDGET_BUTTONIMAGE_TIME; + p->fce_event(p); + } +} + +void destroyWidgetButtonimage(widget_buttonimage_t *p) +{ + free(p); +} -- cgit v1.2.3