IceShard 1
A personal game engine project, with development focused on 2D/2.5D games.
Loading...
Searching...
No Matches
devui_context.hxx
Go to the documentation of this file.
1
3
4#pragma once
5#include <ice/devui_types.hxx>
8#include <ice/string.hxx>
9#include <ice/span.hxx>
10
11namespace ice
12{
13
15 {
16 public:
17 virtual ~DevUIContext() noexcept = default;
18
19 virtual void update_widgets() noexcept = 0;
20 };
21
29
30 bool devui_available() noexcept;
31
32 void devui_setup_mainmenu(ice::Span<ice::String> categories) noexcept;
33
34 auto devui_trait_name() noexcept -> ice::StringID;
35
37 ice::DevUIWidget* widget,
38 ice::DevUIWidget* owning_widget = nullptr
39 ) noexcept;
40
42 ice::DevUIWidget* widget
43 ) noexcept;
44
46 ice::StringID_Arg context_name,
47 ice::DevUIContextSetupParams const& params,
48 void* userdata
49 ) noexcept;
50
52 ice::ModuleQuery const& query,
54 void* userdata = nullptr
55 ) noexcept;
56
59 ice::ModuleQuery& query
60 ) noexcept -> ice::UniquePtr<ice::DevUIContext>;
61
62} // namespace ice
Definition devui_context.hxx:15
virtual ~DevUIContext() noexcept=default
virtual void update_widgets() noexcept=0
Definition devui_widget.hxx:29
SPDX-License-Identifier: MIT.
Definition array.hxx:12
std::conditional_t< ice::build::Constant_StringID_DebugInfoEnabled, StringID const &, StringID > StringID_Arg
Argument type used to pass ice::StringID values to functions.
Definition stringid.hxx:23
ice::BasicString< char > String
Definition string.hxx:82
bool devui_register_widget(ice::DevUIWidget *widget, ice::DevUIWidget *owning_widget=nullptr) noexcept
bool devui_available() noexcept
void(*)(void *size, void *userdata) noexcept FnDevUIDealloc
Definition devui_types.hxx:19
void devui_setup_mainmenu(ice::Span< ice::String > categories) noexcept
auto alloc(ice::usize size) noexcept -> ice::AllocResult
auto create_devui_context(ice::Allocator &alloc, ice::ModuleQuery &query) noexcept -> ice::UniquePtr< ice::DevUIContext >
bool devui_remove_widget(ice::DevUIWidget *widget) noexcept
void *(*)(size_t size, void *userdata) noexcept FnDevUIAlloc
Definition devui_types.hxx:18
BaseStringID< ice::build::Constant_StringID_DebugInfoEnabled > StringID
\copy ice::BaseStringID.
Definition stringid.hxx:15
bool(*)( ice::StringID_Arg context_name, ice::DevUIContextSetupParams const &params, void *userdata) noexcept FnDevUIContextSetupCallback
Definition devui_types.hxx:21
ice::AllocatorBase< ice::build::is_debug||ice::build::is_develop > Allocator
Definition mem_types.hxx:25
auto devui_trait_name() noexcept -> ice::StringID
bool devui_setup_context(ice::ModuleQuery const &query, ice::FnDevUIContextSetupCallback callback=ice::devui_context_setup_default, void *userdata=nullptr) noexcept
bool devui_context_setup_default(ice::StringID_Arg context_name, ice::DevUIContextSetupParams const &params, void *userdata) noexcept
Definition devui_context.hxx:23
void * native_context
Definition devui_context.hxx:24
void * alloc_userdata
Definition devui_context.hxx:27
FnDevUIAlloc fn_alloc
Definition devui_context.hxx:25
FnDevUIDealloc fn_dealloc
Definition devui_context.hxx:26
Definition module_query.hxx:14
A view into an array of objects laid out in contiguous memory.
Definition span.hxx:17
Definition mem_unique_ptr.hxx:25