mirror of
https://github.com/Relintai/programming_tutorials.git
synced 2025-04-21 21:51:22 +02:00
Cleaned up the code int 26_sdl_button.txt.
This commit is contained in:
parent
b71371f0e1
commit
b07a24225f
@ -90,17 +90,13 @@ Ez az include kelleni fog: #include <functional>
|
||||
| + Sprite *off |
|
||||
|---------------------------------------------------------------------------------------|
|
||||
|
||||
------------------------------------------------------------------------------------------
|
||||
|
||||
#include "button.h"
|
||||
|
||||
#include "math.h"
|
||||
|
||||
void Button::event(const SDL_Event &ev)
|
||||
if (state == BUTTON_STATE_OFF)
|
||||
void Button::event(const SDL_Event &ev):
|
||||
if (state == BUTTON_STATE_OFF):
|
||||
return
|
||||
|
||||
|
||||
switch (ev.type)
|
||||
switch (ev.type):
|
||||
case SDL_MOUSEMOTION:
|
||||
int x = ev.motion.x
|
||||
int y = ev.motion.y
|
||||
@ -110,20 +106,18 @@ void Button::event(const SDL_Event &ev)
|
||||
else
|
||||
state = BUTTON_STATE_UP
|
||||
|
||||
|
||||
break
|
||||
|
||||
case SDL_MOUSEBUTTONDOWN:
|
||||
case SDL_MOUSEBUTTONDOWN:
|
||||
int x = ev.motion.x
|
||||
int y = ev.motion.y
|
||||
|
||||
if (transform.x < x && transform.x + transform.w > x && transform.y < y && transform.y + transform.w > y)
|
||||
state = BUTTON_STATE_DOWN
|
||||
|
||||
|
||||
break
|
||||
|
||||
case SDL_MOUSEBUTTONUP:
|
||||
case SDL_MOUSEBUTTONUP:
|
||||
int x = ev.motion.x
|
||||
int y = ev.motion.y
|
||||
|
||||
@ -133,55 +127,54 @@ void Button::event(const SDL_Event &ev)
|
||||
if (on_click)
|
||||
on_click()
|
||||
|
||||
|
||||
if (on_click_member)
|
||||
on_click_member(cls)
|
||||
|
||||
else
|
||||
state = BUTTON_STATE_UP
|
||||
|
||||
|
||||
break
|
||||
|
||||
|
||||
|
||||
------------------------------------------------------------------------------------------
|
||||
|
||||
void Button::update(float delta)
|
||||
void Button::update(float delta):
|
||||
return
|
||||
|
||||
------------------------------------------------------------------------------------------
|
||||
|
||||
void Button::render()
|
||||
if (state == BUTTON_STATE_UP)
|
||||
if (up)
|
||||
void Button::render():
|
||||
if (state == BUTTON_STATE_UP):
|
||||
if (up):
|
||||
up->set_transform(transform)
|
||||
up->draw()
|
||||
|
||||
else if (state == BUTTON_STATE_HOVER)
|
||||
if (hover)
|
||||
else if (state == BUTTON_STATE_HOVER):
|
||||
if (hover):
|
||||
hover->set_transform(transform)
|
||||
hover->draw()
|
||||
|
||||
else if (state == BUTTON_STATE_DOWN)
|
||||
if (down)
|
||||
else if (state == BUTTON_STATE_DOWN):
|
||||
if (down):
|
||||
down->set_transform(transform)
|
||||
down->draw()
|
||||
|
||||
else if (state == BUTTON_STATE_OFF)
|
||||
if (off)
|
||||
else if (state == BUTTON_STATE_OFF):
|
||||
if (off):
|
||||
off->set_transform(transform)
|
||||
off->draw()
|
||||
|
||||
|
||||
|
||||
------------------------------------------------------------------------------------------
|
||||
|
||||
Button::Button()
|
||||
Button::Button():
|
||||
state = BUTTON_STATE_UP
|
||||
|
||||
up = nullptr
|
||||
down = nullptr
|
||||
hover = nullptr
|
||||
off = nullptr
|
||||
|
||||
|
||||
Button::~Button()
|
||||
|
||||
------------------------------------------------------------------------------------------
|
||||
|
||||
Button::~Button():
|
||||
return
|
||||
|
||||
------------------------------------------------------------------------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user