diff options
Diffstat (limited to 'vendor/rlImGui-main/examples/asset_browser/item_view.h')
| -rw-r--r-- | vendor/rlImGui-main/examples/asset_browser/item_view.h | 47 |
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; +}; |
