aboutsummaryrefslogtreecommitdiff
path: root/extension/src/openvic-extension/classes/GFXIconTexture.hpp
diff options
context:
space:
mode:
author hop311 <hop3114@gmail.com>2024-02-19 22:05:16 +0100
committer hop311 <hop3114@gmail.com>2024-02-19 22:26:52 +0100
commitc48d14ca66d47ea7c25bb9a36c3d51f76d8351fc (patch)
tree1912fb231991b53dd638a295bb8d8f84b587885b /extension/src/openvic-extension/classes/GFXIconTexture.hpp
parent275cfbb62fe69828aeb9968110ad822447322a4e (diff)
Added multipurpose GFXSpriteTexture + reworked GFXButtonStateTexturesprite-texture
Diffstat (limited to 'extension/src/openvic-extension/classes/GFXIconTexture.hpp')
-rw-r--r--extension/src/openvic-extension/classes/GFXIconTexture.hpp62
1 files changed, 0 insertions, 62 deletions
diff --git a/extension/src/openvic-extension/classes/GFXIconTexture.hpp b/extension/src/openvic-extension/classes/GFXIconTexture.hpp
deleted file mode 100644
index 06dac34..0000000
--- a/extension/src/openvic-extension/classes/GFXIconTexture.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-#pragma once
-
-#include <godot_cpp/classes/atlas_texture.hpp>
-
-#include <openvic-simulation/interface/GFX.hpp>
-
-#include "openvic-extension/classes/GFXButtonStateTexture.hpp"
-
-namespace OpenVic {
- class GFXIconTexture : public godot::AtlasTexture {
- GDCLASS(GFXIconTexture, godot::AtlasTexture)
-
- /* PROPERTY automatically defines getter functions:
- * - get_gfx_texture_sprite
- * - get_icon_index
- * - get_icon_count */
- GFX::TextureSprite const* PROPERTY(gfx_texture_sprite);
- GFX::frame_t PROPERTY(icon_index);
- GFX::frame_t PROPERTY(icon_count);
-
- godot::Ref<godot::Image> sprite_image;
-
- static godot::StringName const& _signal_image_updated();
-
- protected:
- static void _bind_methods();
-
- public:
- GFXIconTexture();
-
- /* Create a GFXIconTexture using the specified GFX::TextureSprite and icon index. Returns nullptr if
- * set_gfx_texture_sprite fails. Connects the provided GFXButtonStateTextures (if any) to the
- * GFXIconTexture's image_updated signal. */
- static godot::Ref<GFXIconTexture> make_gfx_icon_texture(
- GFX::TextureSprite const* gfx_texture_sprite, GFX::frame_t icon = GFX::NO_FRAMES,
- std::vector<godot::Ref<GFXButtonStateTexture>> const& button_state_textures = {}
- );
-
- /* Discard the GFX::TextureSprite, atlas texture and icon index. */
- void clear();
-
- /* Set the GFX::TextureSprite, load its texture as an atlas and set its displayed icon */
- godot::Error set_gfx_texture_sprite(
- GFX::TextureSprite const* new_gfx_texture_sprite, GFX::frame_t icon = GFX::NO_FRAMES
- );
-
- /* Search for a GFX::TextureSprite with the specfied name and,
- * if successful, call set_gfx_texture_sprite to set it and its icon. */
- godot::Error set_gfx_texture_sprite_name(
- godot::String const& gfx_texture_sprite_name, GFX::frame_t icon = GFX::NO_FRAMES
- );
-
- /* Return the name of the GFX::TextureSprite, or an empty String if it's null. */
- godot::String get_gfx_texture_sprite_name() const;
-
- /* Set icon_index to a value between one and icon_count (inclusive), and update the AtlasTexture's region
- * to display that frame. An index of zero can be used if gfx_texture_sprite has no frames (zero icon_count).
- * If zero is used but icon_count is non-zero, icon_index defaults to icon_count (the last frame,
- * not the first frame because it is often empty). */
- godot::Error set_icon_index(GFX::frame_t new_icon_index);
- };
-}