Skip to content

Commit 0831f69

Browse files
flxtext properties compile fix and set default window pos/size on inspector windows
1 parent 0fffa1d commit 0831f69

4 files changed

Lines changed: 27 additions & 4 deletions

File tree

source/funkin/backend/system/console/ConsoleUI.hx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ class ConsoleUI {
234234
if (!active) return;
235235

236236
if (settingsOpen.value) {
237-
ImGui.setNextWindowPos(Lib.application.window.x + Lib.application.window.width - 240, Lib.application.window.y, ImGuiCond.FirstUseEver);
237+
ImGui.setNextWindowPos(ImGuiUtil.getWindowSpaceX() + Lib.application.window.width - 240, ImGuiUtil.getWindowSpaceY(), ImGuiCond.FirstUseEver);
238238
ImGui.setNextWindowSize(240, 405, ImGuiCond.FirstUseEver);
239239
if (ImGui.begin("Console Settings", settingsOpen, 0)) {
240240
//ImGui.checkbox("Count duplicated output##Console Settings", countDuplicatedOutput); ImGui.setItemTooltip("Toggles if duplicated logs add a counter instead of displaying again");
@@ -259,7 +259,7 @@ class ConsoleUI {
259259
saveSettings();
260260
}
261261

262-
ImGui.setNextWindowPos(Lib.application.window.x, Lib.application.window.y + (Lib.application.window.height-250), ImGuiCond.FirstUseEver);
262+
ImGui.setNextWindowPos(ImGuiUtil.getWindowSpaceX(), ImGuiUtil.getWindowSpaceY() + (Lib.application.window.height-250), ImGuiCond.FirstUseEver);
263263
ImGui.setNextWindowSize(Lib.application.window.width, 250, ImGuiCond.FirstUseEver);
264264
ImGui.setNextWindowDockID(0, ImGuiCond.FirstUseEver);
265265
if (ImGui.begin("Console", null, ImGuiWindowFlags.NoScrollbar)) {

source/funkin/backend/system/console/inspector/ConsoleInspector.hx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package funkin.backend.system.console.inspector;
22

33
//WIP
44

5+
import openfl.Lib;
56
import flixel.FlxState;
67
import flixel.group.FlxSpriteGroup;
78
import funkin.backend.scripting.HScript;
@@ -22,6 +23,8 @@ import foxlite.FoxObject;
2223
import foxlite.FoxModel;
2324
#end
2425

26+
using funkin.backend.utils.ImGuiUtil;
27+
2528
typedef InspectorObject = {
2629
var obj:Dynamic;
2730
var name:String;
@@ -155,6 +158,8 @@ class ConsoleInspector {
155158

156159
FlxG.mouse.visible = true; //TODO: rework this, temp force on
157160

161+
ImGui.setNextWindowPos(ImGuiUtil.getWindowSpaceX(), ImGuiUtil.getWindowSpaceY(), ImGuiCond.FirstUseEver);
162+
ImGui.setNextWindowSize(300, Lib.application.window.height, ImGuiCond.FirstUseEver);
158163
if (ImGui.begin("Inspector")) {
159164
ImGui.separatorText("Tools/Gizmo");
160165
ImGui.indent();

source/funkin/backend/system/console/inspector/InspectorObjectProperties.hx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package funkin.backend.system.console.inspector;
22

3+
import openfl.Lib;
34
import flixel.text.FlxText;
45
import flixel.util.FlxColor;
56
import funkin.backend.system.console.inspector.ConsoleInspector.InspectorObject;
@@ -18,6 +19,8 @@ import foxlite.FoxObject;
1819
import foxlite.FoxModel;
1920
#end
2021

22+
using funkin.backend.utils.ImGuiUtil;
23+
2124
class InspectorObjectProperties {
2225

2326
#if IMGUI_ENABLED
@@ -48,6 +51,8 @@ class InspectorObjectProperties {
4851

4952
var selectedObject:Dynamic = objectData.obj;
5053

54+
ImGui.setNextWindowPos(ImGuiUtil.getWindowSpaceX() + Lib.application.window.width - 300, ImGuiUtil.getWindowSpaceY(), ImGuiCond.FirstUseEver);
55+
ImGui.setNextWindowSize(300, Lib.application.window.height, ImGuiCond.FirstUseEver);
5156
if (ImGui.begin("Object Properties")) {
5257
ImGui.text(objectData.name + " - " + objectData.type);
5358

@@ -203,7 +208,7 @@ class InspectorObjectProperties {
203208
ImGui.setNextItemWidth(wid);
204209

205210
var index = intPool.get();
206-
var list = ["NONE", "SHADOW", "SHADOW_XY", "OUTLINE", "OUTLINE_FAST"];
211+
var list = ["NONE", "SHADOW", "SHADOW_XY", "OUTLINE", "OUTLINE_FAST", "OUTLINE_CARDINAL"];
207212
switch(text.borderStyle) { //not that easy to automate due to args on SHADOW_XY
208213
case NONE:
209214
index.value = 0;
@@ -215,6 +220,8 @@ class InspectorObjectProperties {
215220
index.value = 3;
216221
case OUTLINE_FAST:
217222
index.value = 4;
223+
case OUTLINE_CARDINAL:
224+
index.value = 5;
218225
}
219226
if (ImGui.combo("##Border StyleborderStyle", index, list)) {
220227
switch(index.value) {
@@ -228,6 +235,8 @@ class InspectorObjectProperties {
228235
text.borderStyle = OUTLINE;
229236
case 4:
230237
text.borderStyle = OUTLINE_FAST;
238+
case 5:
239+
text.borderStyle = OUTLINE_CARDINAL;
231240
}
232241
}
233242

source/funkin/backend/utils/ImGuiUtil.hx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
package funkin.backend.utils;
22

33
import flixel.input.keyboard.FlxKey;
4+
import openfl.Lib;
45
#if IMGUI_ENABLED
5-
import lime.tools.imgui.ImGuiTypes.ImGuiKey;
6+
import lime.tools.imgui.ImGuiFlags;
7+
import lime.tools.imgui.ImGuiTypes;
68
#end
79

810
class ImGuiUtil {
@@ -114,5 +116,12 @@ class ImGuiUtil {
114116
}
115117
return ImGuiKey.None;
116118
}
119+
120+
public static function getWindowSpaceX() {
121+
return (ImGuiIO.configFlags & ImGuiConfigFlags.ViewportsEnable) != 0 ? Lib.application.window.x : 0;
122+
}
123+
public static function getWindowSpaceY() {
124+
return (ImGuiIO.configFlags & ImGuiConfigFlags.ViewportsEnable) != 0 ? Lib.application.window.y : 0;
125+
}
117126
#end
118127
}

0 commit comments

Comments
 (0)