From 2d776fcd61be168e1ff0ff2e4a5e71835e7cea19 Mon Sep 17 00:00:00 2001 From: oroborus Date: Sat, 28 Jun 2008 16:38:35 +0000 Subject: - prekopanie adresarovej struktury, prva cast git-svn-id: http://opensvn.csie.org/tuxanci_ng@77 0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e --- src/widget/widget_buttonimage.c | 55 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 src/widget/widget_buttonimage.c (limited to 'src/widget/widget_buttonimage.c') diff --git a/src/widget/widget_buttonimage.c b/src/widget/widget_buttonimage.c new file mode 100644 index 0000000..7c59f3b --- /dev/null +++ b/src/widget/widget_buttonimage.c @@ -0,0 +1,55 @@ + +#include +#include "base/main.h" +#include "client/interface.h" +#include "client/font.h" +#include "client/image.h" +#include "widget_buttonimage.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