summaryrefslogtreecommitdiff
path: root/src/test/testplay.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/testplay.c')
-rw-r--r--src/test/testplay.c23
1 files changed, 17 insertions, 6 deletions
diff --git a/src/test/testplay.c b/src/test/testplay.c
index aa73ec8..e114f3a 100644
--- a/src/test/testplay.c
+++ b/src/test/testplay.c
@@ -45,8 +45,8 @@ int main(int argc, char **argv) {
if (res!=0) exit(res);
res=mySDLInit(__FILE__, winPos, initFlags, winFlags, rendFlags, &win, &rend, &rendInfo, &viewport);
- SDL_ShowCursor(SDL_DISABLE);
if (res!=0) exit(res);
+ SDL_ShowCursor(SDL_DISABLE);
res=loadMiscRes (rend, &gIni, &gRess); if (res!=0) exit(res);
res=loadStyleRes(rend, &gIni, &gRess); if (res!=0) exit(res);
@@ -65,28 +65,39 @@ int main(int argc, char **argv) {
uiTick = 0;
mainLoopEnd = 0;
while (!mainLoopEnd) {
+ renderItem_t *it;
/* Check for events */
while (SDL_PollEvent(&uiEvent)) {
switch (uiEvent.type) {
- renderItem_t *cur;
case SDL_QUIT:
mainLoopEnd = 1;
break;
case SDL_MOUSEMOTION:
- cur = &gUI.renderList[RLI_cursor];
- cur->x = uiEvent.motion.x - cur->sprite->size.w / 2;
- cur->y = uiEvent.motion.y - cur->sprite->size.h / 2;
+ if (gUI.cursor && gUI.cursor->sprite) {
+ gUI.cursor->x = uiEvent.motion.x - gUI.cursor->sprite->size.w / 2;
+ gUI.cursor->y = uiEvent.motion.y - gUI.cursor->sprite->size.h / 2;
+ }
break;
case SDL_MOUSEBUTTONDOWN:
+ break;
case SDL_MOUSEBUTTONUP:
- //uiEvent.button
+ it=findActionnableItemUnderCursor(&gUI);
+ if (it && it->onmousebuttonevent_proc) {
+ it->onmousebuttonevent_proc(it,uiEvent.button.button,uiEvent.button.state,&gState);
+ }
+ break;
+ default:
break;
}
}
(void) renderTerrainToTextures(rend, gState.terrain, &gUI);
+ it=findActionnableItemUnderCursor(&gUI);
+ gUI.cursor->currframe = (it?it->onhovercursorid:0);
+
+
SDL_RenderClear(rend);
(void) renderSprites(rend, &gUI);
SDL_RenderPresent(rend);