diff options
Diffstat (limited to 'src/test/testplay.c')
-rw-r--r-- | src/test/testplay.c | 23 |
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); |