Improve ui draw

This commit is contained in:
unknown
2019-06-02 01:52:17 +02:00
parent 7152f51c03
commit 59e402b6c9
5 changed files with 24 additions and 12 deletions
+15 -9
View File
@@ -115,7 +115,6 @@ class App extends iron.Trait {
color_wheel = image;
zui.Nodes.getEnumTexts = getEnumTexts;
zui.Nodes.mapEnum = mapEnum;
Zui.alwaysRedrawWindow = false;
uibox = new Zui({ font: f, scaleFactor: armory.data.Config.raw.window_scale });
iron.App.notifyOnInit(function() {
@@ -273,14 +272,19 @@ class App extends iron.Trait {
UINodes.inst.grid = null;
}
UITrait.inst.hwnd.redraws = 2;
UITrait.inst.hwnd1.redraws = 2;
UITrait.inst.hwnd2.redraws = 2;
UITrait.inst.headerHandle.redraws = 2;
UITrait.inst.toolbarHandle.redraws = 2;
UITrait.inst.statusHandle.redraws = 2;
UITrait.inst.menuHandle.redraws = 2;
UITrait.inst.workspaceHandle.redraws = 2;
redrawUI();
}
public static function redrawUI(draws = 2) {
UITrait.inst.hwnd.redraws = draws;
UITrait.inst.hwnd1.redraws = draws;
UITrait.inst.hwnd2.redraws = draws;
UITrait.inst.headerHandle.redraws = draws;
UITrait.inst.toolbarHandle.redraws = draws;
UITrait.inst.statusHandle.redraws = draws;
UITrait.inst.menuHandle.redraws = draws;
UITrait.inst.workspaceHandle.redraws = draws;
UINodes.inst.hwnd.redraws = 2; // Full redraw
}
static function update() {
@@ -336,6 +340,8 @@ class App extends iron.Trait {
}
if (showFiles || showBox) UIBox.update();
Zui.alwaysRedrawWindow = showMenu;
}
static function render(g:kha.graphics2.Graphics) {
+2 -2
View File
@@ -186,14 +186,14 @@ class RenderPathDeferred {
lastY = mouse.y;
if (!UITrait.inst.dirty()) {
if (mx != lastX || my != lastY || UITrait.inst.ddirty == 0 || mouse.locked) {
UITrait.inst.ddirty--;
if (mx != lastX || my != lastY || UITrait.inst.ddirty > -1 || mouse.locked) {
path.setTarget("");
path.bindTarget(taaFrame % 2 == 0 ? "taa" : "taa2", "tex");
ssaa4 ?
path.drawShader("shader_datas/supersample_resolve/supersample_resolve") :
path.drawShader("shader_datas/copy_pass/copy_pass");
if (UITrait.inst.brush3d) RenderPathPaint.commandsCursor();
if (UITrait.inst.ddirty == 0) UITrait.inst.ddirty--;
}
return;
}
+2
View File
@@ -195,6 +195,8 @@ class UIMenu {
}
else {
App.showMenu = false;
App.redrawUI(0);
UITrait.inst.ddirty = 0; // Tag cached viewport texture redraw
showMenuFirst = true;
menuCommands = null;
// arm.App.uienabled = true;
+4
View File
@@ -239,6 +239,7 @@ class UITrait extends iron.Trait {
public var statusHandle = new Handle({layout:Horizontal});
public var menuHandle = new Handle({layout:Horizontal});
public var workspaceHandle = new Handle({layout:Horizontal});
var lastCombo:Handle = null;
public var cameraControls = 1;
public var htab = Id.handle({position: 0});
@@ -789,6 +790,9 @@ class UITrait extends iron.Trait {
if (UITrait.inst.worktab.position == 1) {
Gizmo.update();
}
if (lastCombo != null) ddirty = 0;
lastCombo = ui.comboSelectedHandle;
}
function render(g:kha.graphics2.Graphics) {