From 894687ed06c465ae5dde5a577842dd1d0ec28144 Mon Sep 17 00:00:00 2001 From: Relintai Date: Thu, 15 Apr 2021 00:39:57 +0200 Subject: [PATCH] Cleanups to button and the main scene. --- 03_sdl_basics/17_sdl_widgets/button.cpp | 4 ---- 03_sdl_basics/17_sdl_widgets/button.h | 7 ------ 03_sdl_basics/17_sdl_widgets/main_scene.cpp | 25 +-------------------- 03_sdl_basics/17_sdl_widgets/main_scene.h | 7 ------ 4 files changed, 1 insertion(+), 42 deletions(-) diff --git a/03_sdl_basics/17_sdl_widgets/button.cpp b/03_sdl_basics/17_sdl_widgets/button.cpp index a2f2d3f..59d1462 100644 --- a/03_sdl_basics/17_sdl_widgets/button.cpp +++ b/03_sdl_basics/17_sdl_widgets/button.cpp @@ -40,10 +40,6 @@ 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; } diff --git a/03_sdl_basics/17_sdl_widgets/button.h b/03_sdl_basics/17_sdl_widgets/button.h index 1ad8647..c7f49a6 100644 --- a/03_sdl_basics/17_sdl_widgets/button.h +++ b/03_sdl_basics/17_sdl_widgets/button.h @@ -22,15 +22,8 @@ public: void update(float delta); void render(); - //ver a: (Csak statikus fv állítható be rá) std::function on_click; - //ver b: (Képes osztályok függvényeit is meghívni) - //Meg lehet oldani sokféleképp, egyik sem annyira szép sajnos - //mindneképp érdemes lenne setter mögé rejteni ezeket - void* cls; - std::function on_click_member; - Button(); virtual ~Button(); diff --git a/03_sdl_basics/17_sdl_widgets/main_scene.cpp b/03_sdl_basics/17_sdl_widgets/main_scene.cpp index bfc28a1..46bbb25 100644 --- a/03_sdl_basics/17_sdl_widgets/main_scene.cpp +++ b/03_sdl_basics/17_sdl_widgets/main_scene.cpp @@ -25,24 +25,9 @@ void MainScene::render() { b2->render(); b3->render(); - //_s->draw(); - //_s2->draw(); _ts->draw(); } -void MainScene::on_first_button_clicked() { - printf("Click!\n"); -} - -void MainScene::on_first_button_clicked_member(void* cls) { - if (cls) { - reinterpret_cast(cls)->member_print(); - } -} -void MainScene::member_print() { - printf("Click Member!\n"); -} - MainScene::MainScene() { _camera = new Camera(); _image = new Image("ti.bmp"); @@ -64,14 +49,8 @@ MainScene::MainScene() { b1->up = new Sprite(_texture); b1->down = new Sprite(_texture, Color(100, 100, 100)); b1->hover = new Sprite(_texture, Color(200, 200, 200)); - - //b1->on_click = MainScene::on_first_button_clicked; - //a verzió lambda 1 (this-nélkül): - //b1->on_click = []() -> void { printf("Click lambda!"); }; - - //a verzió lambda 2 (this-el): - b1->on_click = [this]() -> void { this->member_print(); }; + //b1->on_click = [this]() -> void { this->member_print(); }; b2 = new Button(); b2->transform = Rect2(0, 110, 100, 100); @@ -83,8 +62,6 @@ MainScene::MainScene() { b3->up = new Sprite(_texture); b3->down = new Sprite(_texture, Color(100, 100, 100)); b3->hover = new Sprite(_texture, Color(200, 200, 200)); - b3->cls = this; - b3->on_click_member = MainScene::on_first_button_clicked_member; } MainScene::~MainScene() { diff --git a/03_sdl_basics/17_sdl_widgets/main_scene.h b/03_sdl_basics/17_sdl_widgets/main_scene.h index f08a2c1..bd70363 100644 --- a/03_sdl_basics/17_sdl_widgets/main_scene.h +++ b/03_sdl_basics/17_sdl_widgets/main_scene.h @@ -18,13 +18,6 @@ public: void update(float delta); void render(); - //ver a - static void on_first_button_clicked(); - - //ver b - static void on_first_button_clicked_member(void* cls); - void member_print(); - MainScene(); ~MainScene();