Cleaned up the code int 26_sdl_button.txt.

This commit is contained in:
Relintai 2021-04-10 10:17:02 +02:00
parent b71371f0e1
commit b07a24225f

View File

@ -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
------------------------------------------------------------------------------------------