Moved the button class and made it inherit from widget.

This commit is contained in:
Relintai 2021-06-07 19:06:59 +02:00
parent 337326d792
commit f0ac7c40cf
3 changed files with 11 additions and 9 deletions

View File

@ -7,7 +7,7 @@
#include "renderer/texture.h" #include "renderer/texture.h"
#include "renderer/sprite.h" #include "renderer/sprite.h"
#include "renderer/camera.h" #include "renderer/camera.h"
#include "renderer/button.h" #include "widgets/button.h"
#include "renderer/true_type_font.h" #include "renderer/true_type_font.h"
#include "renderer/text_image.h" #include "renderer/text_image.h"
#include "renderer/text_sprite.h" #include "renderer/text_sprite.h"

View File

@ -2,7 +2,7 @@
#include "math.h" #include "math.h"
void Button::event(const SDL_Event &ev) { void Button::_event(const SDL_Event &ev) {
if (state == BUTTON_STATE_OFF) { if (state == BUTTON_STATE_OFF) {
return; return;
} }
@ -49,10 +49,10 @@ void Button::event(const SDL_Event &ev) {
} }
} }
void Button::update(float delta) { void Button::_update(float delta) {
} }
void Button::render() { void Button::_render() {
if (state == BUTTON_STATE_UP) { if (state == BUTTON_STATE_UP) {
if (up) { if (up) {
up->set_transform(transform); up->set_transform(transform);

View File

@ -2,14 +2,16 @@
#ifndef BUTTON_H #ifndef BUTTON_H
#define BUTTON_H #define BUTTON_H
#include "widget.h"
#include <SDL.h> #include <SDL.h>
#include "core/rect2.h" #include "core/rect2.h"
#include "sprite.h" #include "renderer/sprite.h"
#include <functional> #include <functional>
class Button { class Button : public Widget {
public: public:
enum ButtonState { enum ButtonState {
BUTTON_STATE_UP, BUTTON_STATE_UP,
@ -18,9 +20,9 @@ public:
BUTTON_STATE_OFF, BUTTON_STATE_OFF,
}; };
void event(const SDL_Event &ev); void _event(const SDL_Event &ev);
void update(float delta); void _update(float delta);
void render(); void _render();
std::function<void(void)> on_click; std::function<void(void)> on_click;