selection_menu: Move it to it's dedicated class
This commit is contained in:
@@ -18,12 +18,14 @@ class Render;
|
||||
|
||||
namespace gol {
|
||||
class SettingsMenu;
|
||||
class SelectionMenu;
|
||||
|
||||
typedef struct ctx {
|
||||
std::shared_ptr<World> world = nullptr;
|
||||
std::shared_ptr<Rules> rules = nullptr;
|
||||
std::shared_ptr<Render> render = nullptr;
|
||||
std::shared_ptr<SettingsMenu> settings_menu = nullptr;
|
||||
std::shared_ptr<SelectionMenu> selection_menu = nullptr;
|
||||
nlohmann::json config_json;
|
||||
} ctx;
|
||||
|
||||
|
||||
38
includes/selection_menu.hpp
Normal file
38
includes/selection_menu.hpp
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* File name: selection_menu.hpp
|
||||
* Author: lejulien
|
||||
* Date created: 13-01-2026 22:12:44
|
||||
// Date modified: 13-01-2026 22:18:58
|
||||
* ------
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
#include <imgui.h>
|
||||
#include <raylib.h>
|
||||
#include <rlImGui.h>
|
||||
|
||||
#include <context.hpp>
|
||||
|
||||
namespace gol {
|
||||
|
||||
class SelectionMenu {
|
||||
public:
|
||||
SelectionMenu(std::shared_ptr<ctx> context);
|
||||
~SelectionMenu();
|
||||
void update();
|
||||
void display();
|
||||
void setSelection(std::vector<uint32_t> selection);
|
||||
void open();
|
||||
private:
|
||||
std::shared_ptr<ctx> context_;
|
||||
RenderTexture2D selectionTexture_;
|
||||
std::vector<uint32_t> sel_data_ = {};
|
||||
bool sel_ctrl_ = false;
|
||||
char patern_name_[255];
|
||||
};
|
||||
|
||||
} // namespace gol
|
||||
Reference in New Issue
Block a user