Doxygen Samurai Engine 0.0.1
Doxygen Samurai Engine Documentation
Loading...
Searching...
No Matches
gui.h
Go to the documentation of this file.
1#pragma once
3
4#include <glad/glad.h>
5#include <GLFW/glfw3.h>
6
7#include "backends/imgui_impl_sdl2.h"
8#include "backends/imgui_impl_sdlrenderer2.h"
9#include <SDL.h>
10
11#include "assert/assert.h"
12#include "backends/imgui_impl_glfw.h"
13#include "backends/imgui_impl_opengl3.h"
14#include "IconsForkAwesome.h"
15#include "imguiThemes.h"
17#include "Context.h"
18
19#ifdef SAMURAI_WINDOWS
20#define IM_PRId64 "I64d"
21#define IM_PRIu64 "I64u"
22#define IM_PRIx64 "I64X"
23#else
24#define IM_PRId64 "lld"
25#define IM_PRIu64 "llu"
26#define IM_PRIx64 "llX"
27#endif
28
29
30namespace samurai
31{
32 namespace samuraiImgui
33 {
34
35 void *imguiCustomAlloc(size_t sz, void *user_data);
36 void imguiCustomFree(void *ptr, void *user_data);
37
39
40 void initImgui(Context &pikaContext);
41 void setImguiContext(Context pikaContext);
42 void imguiStartFrame(Context pikaContext);
43 void imguiEndFrame(Context pikaContext);
44
45 namespace EditorImguiIds
46 {
47 enum
48 {
49
50 idsCount = 4000
51 };
52 }
53
55 {
57
58 //returns the first id. (count) ids will be reserved.
59 //if you want 5 ids and the function returns 10, then ids 10 11 12 13 14 will be reserved.
60 int getImguiIds(unsigned int count = 1)
61 {
62 if (count == 0) { return 0; }
63 auto c = counter;
64 counter += count;
65 return c;
66 }
67#if SAMURAI_SDL
68 SDL_Window *wind = {};
69#endif
70 };
71
72 void addErrorSymbol();
73 void addWarningSymbol();
74
75 void helpMarker(const char *desc);
76 //todo another namespace for samurai imgui adons
77
78 void alignForWidth(float width, float alignment = 0.5f);
79
80 void displayMemorySizeValue(size_t value);
81
82 //todo move to internal
84
85 };
86};
void initImgui(Context &pikaContext)
Definition gui.cpp:27
void setImguiContext(Context pikaContext)
Definition gui.cpp:88
void setImguiAllocator(samurai::memory::CustomAllocator &allocator)
Definition gui.cpp:21
void displayMemorySizeToggle()
Definition gui.cpp:196
void displayMemorySizeValue(size_t value)
Definition gui.cpp:173
void imguiCustomFree(void *ptr, void *user_data)
Definition gui.cpp:13
void alignForWidth(float width, float alignment=0.5f)
Definition gui.cpp:162
void helpMarker(const char *desc)
void addWarningSymbol()
Definition gui.cpp:154
void addErrorSymbol()
Definition gui.cpp:147
void * imguiCustomAlloc(size_t sz, void *user_data)
Definition gui.cpp:5
void imguiEndFrame(Context pikaContext)
Definition gui.cpp:110
void imguiStartFrame(Context pikaContext)
Definition gui.cpp:93
int getImguiIds(unsigned int count=1)
Definition gui.h:60