[WIP] Viewports backend, 2
This commit is contained in:
1 parent
c1632cfd3e
commit
e9cfd62137
13 files changed
+126
-12
No files matched your search
@@ -1,3 +1,4 @@
|
||||
import imgui.ImGuiViewport;
|
||||
import imgui.type.ImBoolean;
|
||||
import imgui.ImColor;
|
||||
import imgui.ImGui;
|
||||
@@ -40,8 +41,10 @@ final class ExampleUi {
|
||||
}
|
||||
|
||||
void render() {
|
||||
final ImGuiViewport mainViewport = ImGui.getMainViewport();
|
||||
|
||||
ImGui.setNextWindowSize(600, 300, ImGuiCond.Once);
|
||||
ImGui.setNextWindowPos(10, 10, ImGuiCond.Once);
|
||||
ImGui.setNextWindowPos(mainViewport.getWorkPosX() + 10, mainViewport.getWorkPosY() + 10, ImGuiCond.Once);
|
||||
|
||||
ImGui.begin("Custom window"); // Start Custom window
|
||||
|
||||
|
||||
@@ -12,6 +12,8 @@ import imgui.ImFontConfig;
|
||||
import imgui.ImGui;
|
||||
import imgui.ImGuiFreeType;
|
||||
import imgui.ImGuiIO;
|
||||
import imgui.ImGuiStyle;
|
||||
import imgui.flag.ImGuiCol;
|
||||
import imgui.flag.ImGuiConfigFlags;
|
||||
import imgui.gl3.ImGuiImplGl3;
|
||||
import imgui.glfw.ImGuiImplGlfw;
|
||||
@@ -143,7 +145,6 @@ public final class ImGuiGlfwExample {
|
||||
// Initialize ImGuiIO config
|
||||
final ImGuiIO io = ImGui.getIO();
|
||||
|
||||
io.setMouseDrawCursor(true);
|
||||
io.setIniFilename(null); // We don't want to save .ini file
|
||||
io.addConfigFlags(ImGuiConfigFlags.NavEnableKeyboard | ImGuiConfigFlags.DockingEnable | ImGuiConfigFlags.ViewportsEnable);
|
||||
|
||||
@@ -185,6 +186,13 @@ public final class ImGuiGlfwExample {
|
||||
// ------------------------------------------------------------
|
||||
// Use freetype instead of stb_truetype to build a fonts texture
|
||||
ImGuiFreeType.buildFontAtlas(fontAtlas, ImGuiFreeType.RasterizerFlags.LightHinting);
|
||||
|
||||
// When viewports are enabled we tweak WindowRounding/WindowBg so platform windows can look identical to regular ones.
|
||||
if ((io.getConfigFlags() & ImGuiConfigFlags.ViewportsEnable) != 0) {
|
||||
final ImGuiStyle style = ImGui.getStyle();
|
||||
style.setWindowRounding(0.0f);
|
||||
style.setColor(ImGuiCol.WindowBg, ImGui.getColorU32(ImGuiCol.WindowBg, 1));
|
||||
}
|
||||
}
|
||||
|
||||
// Main application loop
|
||||
|
||||
Reference in new issue
Block a user