aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/api/Text.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/crepe/api/Text.h')
-rw-r--r--src/crepe/api/Text.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/crepe/api/Text.h b/src/crepe/api/Text.h
new file mode 100644
index 0000000..6bb011c
--- /dev/null
+++ b/src/crepe/api/Text.h
@@ -0,0 +1,42 @@
+#pragma once
+
+#include <string>
+
+#include "Color.h"
+#include "UiObject.h"
+#include ""
+namespace crepe {
+
+/**
+ * \class Button
+ * \brief Represents a clickable UI button, derived from the UiObject class.
+ *
+ * This class provides functionality for a button in the UI, including toggle state,
+ * click handling, and mouse hover detection. A callback function can be provided to
+ * handle button clicks.
+ */
+class Text : public UiObject {
+public:
+ /**
+ * \brief Constructs a Button with the specified game object ID and dimensions.
+ *
+ * \param id The unique ID of the game object associated with this button.
+ * \param width The width of the button.
+ * \param height The height of the button.
+ */
+ Text(game_object_id_t id, int width, int height);
+
+ Color color = Color{0,0,0,0};
+ std::string text = "";
+ int size = 0;
+ const std::shared_ptr<Font> sprite_image;
+public:
+ /**
+ * \brief Retrieves the maximum number of instances allowed for this button type.
+ *
+ * \return Always returns 1, as only a single instance of this type is allowed.
+ */
+ virtual int get_instances_max() const override { return 10; }
+};
+
+} // namespace crepe