aboutsummaryrefslogtreecommitdiff
path: root/extension/src/openvic-extension/UIAdapter.hpp
blob: 258b5e9a52c8c59015330dfc4e0eb8a96b7d4160 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#pragma once

#include <godot_cpp/classes/control.hpp>

#include <openvic-simulation/interface/GUI.hpp>

#include "openvic-extension/singletons/AssetManager.hpp"

namespace OpenVic::GodotGUIBuilder {

   bool generate_element(
      GUI::Element const* element, godot::String const& name, AssetManager& asset_manager, godot::Control*& result
   );

#define GEN_GUI_ARGS \
   GUI::Element const& element, godot::String const& name, AssetManager& asset_manager, godot::Control*& result

   bool generate_icon(GEN_GUI_ARGS);
   bool generate_button(GEN_GUI_ARGS);
   bool generate_checkbox(GEN_GUI_ARGS);
   bool generate_text(GEN_GUI_ARGS);
   bool generate_overlapping_elements(GEN_GUI_ARGS);
   bool generate_listbox(GEN_GUI_ARGS);
   bool generate_window(GEN_GUI_ARGS);

#undef GEN_GUI_ARGS

}