aboutsummaryrefslogtreecommitdiff
path: root/vendor/rlImGui-main/examples/asset_browser/item_view.h
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/rlImGui-main/examples/asset_browser/item_view.h')
-rw-r--r--vendor/rlImGui-main/examples/asset_browser/item_view.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/vendor/rlImGui-main/examples/asset_browser/item_view.h b/vendor/rlImGui-main/examples/asset_browser/item_view.h
new file mode 100644
index 0000000..c70191b
--- /dev/null
+++ b/vendor/rlImGui-main/examples/asset_browser/item_view.h
@@ -0,0 +1,47 @@
+/*******************************************************************************************
+*
+* raylib-extras [ImGui] example - asset browser
+*
+* This is a more complex ImGui Integration
+* It shows how to build windows on top of 2d and 3d views using a render texture
+*
+* Copyright (c) 2024 Jeffery Myers
+*
+********************************************************************************************/
+
+#pragma once
+
+#include <string>
+#include "raylib.h"
+
+class ViewableItem
+{
+public:
+ virtual ~ViewableItem() = default;
+
+ std::string Name;
+ std::string Icon;
+ Color Tint = BLANK;
+};
+
+class ViewableItemContainer
+{
+public:
+ virtual ~ViewableItemContainer() = default;
+ virtual ViewableItem* Reset() = 0;
+ virtual size_t Count() = 0;
+ virtual ViewableItem* Next() = 0;
+};
+
+class ItemView
+{
+public:
+ virtual ~ItemView() = default;
+ virtual ViewableItem* Show(ViewableItemContainer& container) = 0;
+};
+
+class ListItemView : public ItemView
+{
+public:
+ ViewableItem* Show(ViewableItemContainer& container) override;
+};