Render Menu File.
Render Menu Edit.
Render Menu Create.
Render Menu Window.
Render Menu Tools.
Render Menu Layout.
Render Menu Help.
Render Menu Live.
Render Menu File.
Render Menu Edit.
Render Menu Create.
Render Menu Window.
Render Menu Tools.
Render Menu Layout.
Render Menu Help.
Render Menu Live.
44 {
46
47 ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(6.0f, 6.0f));
48 ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(4.0f, 4.0f));
49
50
55 if (ImGui::BeginMainMenuBar())
56 {
58
63
64
69
70
75
76
81
82
86 {
88
89 if (ImGui::BeginMenu("Tools"))
90 {
92
93 if (ImGui::BeginMenu(
ICON_TEXT(ICON_MD_CHECK, Variants)))
94 {
95 if (ImGui::MenuItem(
ICON_TEXT(ICON_MD_CHECK, Variant Editor))) {}
96 if (ImGui::MenuItem(
ICON_TEXT(ICON_MD_CHECK, Variant Presenter))) {}
97
98 ImGui::EndMenu();
99 }
100 if (ImGui::MenuItem(
ICON_TEXT(ICON_MD_CHECK, Section))) {}
102 if (ImGui::MenuItem(
ICON_TEXT(ICON_MD_CHECK, Pivot))) {}
103 if (ImGui::MenuItem(
ICON_TEXT(ICON_MD_CHECK, Randomizer))) {}
105 {
106 if (ImGui::BeginMenu(
ICON_TEXT(ICON_MD_CHECK, Curve Processing)))
107 {
108 if (ImGui::MenuItem(
ICON_TEXT(ICON_MD_CHECK, Simplify Curve))) {}
109
110 ImGui::EndMenu();
111 }
112 if (ImGui::BeginMenu(
ICON_TEXT(ICON_MD_CHECK, Convert)))
113 {
114 if (ImGui::MenuItem(
ICON_TEXT(ICON_MD_CHECK, USD TimeSample to Curves))) {}
115
116 ImGui::EndMenu();
117 }
118
119 ImGui::EndMenu();
120 }
121 if (ImGui::MenuItem(
ICON_TEXT(ICON_MD_CHECK, Measure))) {}
122 if (ImGui::MenuItem(
ICON_TEXT(ICON_MD_CHECK, Array))) {}
123 if (ImGui::MenuItem(
ICON_TEXT(ICON_MD_CHECK, Distribute))) {}
124
125 ImGui::EndMenu();
126 }
127 }
128
132 if (ImGui::BeginMenu("Layout"))
133 {
135
137
138 if (ImGui::MenuItem("Default", "Ctrl+1"))
139 {
142 });
143 }
144 if (ImGui::MenuItem("Animation", "Ctrl+2"))
145 {
148 });
149 }
150 if (ImGui::MenuItem("Animation Graph", "Ctrl+3"))
151 {
154 });
155 }
156 if (ImGui::MenuItem("Paint", "Ctrl+4"))
157 {
160 });
161 }
162 if (ImGui::MenuItem("Rendering", "Ctrl+5"))
163 {
166 });
167 }
168 if (ImGui::MenuItem("Visual Scripting", "Ctrl+6"))
169 {
172 });
173 }
174 if (ImGui::MenuItem("Physics Authoring", "Ctrl+9"))
175 {
178 });
179 }
180 ImGui::Separator();
181 if (ImGui::MenuItem("UI Toggle Visibility", "F11"))
182 {
185 });
186 }
187 if (ImGui::MenuItem("Fullscreen Mode"))
188 {
189 static bool isFullScreen = false;
190 isFullScreen = !isFullScreen;
191
192 const GLFWvidmode* mode = glfwGetVideoMode(glfwGetPrimaryMonitor());
193
194 if (isFullScreen)
195 {
196 glfwSetWindowMonitor(
VulkanRenderBackend::GetState().m_Windows, glfwGetPrimaryMonitor(), 0, 0, mode->width, mode->height, mode->refreshRate);
197 }
198 else
199 {
200 glfwSetWindowMonitor(
VulkanRenderBackend::GetState().m_Windows,
nullptr, 0.05 * mode->width, 0.05 * mode->height, 0.9 * mode->width, 0.9 * mode->height, mode->refreshRate);
201 }
202 }
203 ImGui::Separator();
204 if (ImGui::MenuItem("Save Layout"))
205 {
207 }
208 if (ImGui::MenuItem("Load Layout"))
209 {
211 }
212 ImGui::Separator();
213 if (ImGui::MenuItem("Quick Save", "Ctrl+7"))
214 {
217 });
218 }
219 if (ImGui::MenuItem("Quick Load", "Ctrl+8"))
220 {
223 });
224 }
225
226 ImGui::EndMenu();
227 }
228
233
234
238 {
240
242 ImGui::Text(
ICON_TEXT(ICON_MD_FLASH_ON,LIVE));
244 ImGui::Text("CACHE:ON");
245 }
246
250 ImGui::EndMainMenuBar();
251 }
252
253
254 ImGui::PopStyleVar(2);
255 }
#define ICON_TEXT(icon, text)
#define SPICES_PROFILE_ZONEN(...)
#define SPICES_PROFILE_ZONE
static ImVec2 GetLineItemSize()
Get Line Width's Square Size.
static void MainMenuTitleSeparator()
Draw main menu titile separator.
std::shared_ptr< ImguiCreateEntity > m_Create
std::shared_ptr< ImguiWindow > m_Window
std::shared_ptr< ImguiEdit > m_Edit
The shared pointer of ImguiEdit.
std::shared_ptr< ImguiHelp > m_Help
std::shared_ptr< ImguiFile > m_File
The shared pointer of ImguiFile.
ImVec2 m_PanelSize
This slate's size.
static std::shared_ptr< SlateStyleLayout > Get()
Get this single instance.
static std::shared_ptr< SlateRegister > GetRegister()
Get slate register.
static VulkanState & GetState()
Get VulkanState in use.
static auto AsyncTask(ThreadPoolEnum pool, F &&func, Args &&... args) -> std::future< decltype(func(std::forward< Args >(args)...))>