From b9c8981e9c260bc8467132ed8ccd201f3ac8b1f6 Mon Sep 17 00:00:00 2001 From: luboslenco Date: Wed, 6 Mar 2019 15:51:51 +0100 Subject: [PATCH] View menu --- Bundled/icons/tool_gizmo.png | Bin 4929 -> 4940 bytes Sources/arm/ui/UITrait.hx | 170 +++++++++++++++++++---------------- 2 files changed, 95 insertions(+), 75 deletions(-) diff --git a/Bundled/icons/tool_gizmo.png b/Bundled/icons/tool_gizmo.png index 5da93213755f72820bccf2faa34042d18912ccad..7c38e1ab3d14b614aed5f8ac69fbf1d8c9df9245 100644 GIT binary patch delta 4919 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 delta 4908 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 diff --git a/Sources/arm/ui/UITrait.hx b/Sources/arm/ui/UITrait.hx index 7825d487..5c936a34 100644 --- a/Sources/arm/ui/UITrait.hx +++ b/Sources/arm/ui/UITrait.hx @@ -1007,79 +1007,95 @@ class UITrait extends iron.Trait { ui._y += 2; ui.imageScrollAlign = false; - var img1 = bundled.get("tool_draw.png"); - var img2 = bundled.get("tool_eraser.png"); - var img3 = bundled.get("tool_fill.png"); - var img4 = bundled.get("tool_bake.png"); - var img5 = bundled.get("tool_colorid.png"); - var img6 = bundled.get("tool_decal.png"); - var img7 = bundled.get("tool_text.png"); - var img8 = bundled.get("tool_shape.png"); - var img9 = bundled.get("tool_particle.png"); - var tool = ""; - - ui._x += 2; - if (brushType == 0) ui.rect(-1, -1, img1.width + 2, img1.height + 2, 0xff205d9c, 2); - if (ui.image(img1) == State.Started) selectTool(0); - if (ui.isHovered) ui.tooltip("Brush (B)"); - ui._x -= 2; - ui._y += 2; - - ui._x += 2; - if (brushType == 1) ui.rect(-1, -1, img1.width + 2, img1.height + 2, 0xff205d9c, 2); - if (ui.image(img2) == State.Started) selectTool(1); - if (ui.isHovered) ui.tooltip("Eraser (R)"); - ui._x -= 2; - ui._y += 2; - ui._x += 2; - if (brushType == 2) ui.rect(-1, -1, img1.width + 2, img1.height + 2, 0xff205d9c, 2); - if (ui.image(img3) == State.Started) selectTool(2); - if (ui.isHovered) ui.tooltip("Fill (G)"); - ui._x -= 2; - ui._y += 2; + if (UITrait.inst.worktab.position == 0) { + var img1 = bundled.get("tool_draw.png"); + var img2 = bundled.get("tool_eraser.png"); + var img3 = bundled.get("tool_fill.png"); + var img4 = bundled.get("tool_bake.png"); + var img5 = bundled.get("tool_colorid.png"); + var img6 = bundled.get("tool_decal.png"); + var img7 = bundled.get("tool_text.png"); + var img8 = bundled.get("tool_shape.png"); + var img9 = bundled.get("tool_particle.png"); + + ui._x += 2; + if (brushType == 0) ui.rect(-1, -1, img1.width + 2, img1.height + 2, 0xff205d9c, 2); + if (ui.image(img1) == State.Started) selectTool(0); + if (ui.isHovered) ui.tooltip("Brush (B)"); + ui._x -= 2; + ui._y += 2; + + ui._x += 2; + if (brushType == 1) ui.rect(-1, -1, img1.width + 2, img1.height + 2, 0xff205d9c, 2); + if (ui.image(img2) == State.Started) selectTool(1); + if (ui.isHovered) ui.tooltip("Eraser (R)"); + ui._x -= 2; + ui._y += 2; - ui._x += 2; - if (brushType == 3) ui.rect(-1, -1, img1.width + 2, img1.height + 2, 0xff205d9c, 2); - if (ui.image(img4) == State.Started) selectTool(3); - if (ui.isHovered) ui.tooltip("Bake (K)"); - ui._x -= 2; - ui._y += 2; + ui._x += 2; + if (brushType == 2) ui.rect(-1, -1, img1.width + 2, img1.height + 2, 0xff205d9c, 2); + if (ui.image(img3) == State.Started) selectTool(2); + if (ui.isHovered) ui.tooltip("Fill (G)"); + ui._x -= 2; + ui._y += 2; - ui._x += 2; - if (brushType == 4) ui.rect(-1, -1, img1.width + 2, img1.height + 2, 0xff205d9c, 2); - if (ui.image(img5) == State.Started) selectTool(4); - if (ui.isHovered) ui.tooltip("Color ID (F)"); - ui._x -= 2; - ui._y += 2; + ui._x += 2; + if (brushType == 3) ui.rect(-1, -1, img1.width + 2, img1.height + 2, 0xff205d9c, 2); + if (ui.image(img4) == State.Started) selectTool(3); + if (ui.isHovered) ui.tooltip("Bake (K)"); + ui._x -= 2; + ui._y += 2; - ui._x += 2; - if (brushType == 5) ui.rect(-1, -1, img1.width + 2, img1.height + 2, 0xff205d9c, 2); - if (ui.image(img6) == State.Started) selectTool(5); - if (ui.isHovered) ui.tooltip("Decal (L)"); - ui._x -= 2; - ui._y += 2; + ui._x += 2; + if (brushType == 4) ui.rect(-1, -1, img1.width + 2, img1.height + 2, 0xff205d9c, 2); + if (ui.image(img5) == State.Started) selectTool(4); + if (ui.isHovered) ui.tooltip("Color ID (F)"); + ui._x -= 2; + ui._y += 2; - ui._x += 2; - if (brushType == 6) ui.rect(-1, -1, img1.width + 2, img1.height + 2, 0xff205d9c, 2); - if (ui.image(img7) == State.Started) selectTool(6); - if (ui.isHovered) ui.tooltip("Text (T)"); - ui._x -= 2; - ui._y += 2; + ui._x += 2; + if (brushType == 5) ui.rect(-1, -1, img1.width + 2, img1.height + 2, 0xff205d9c, 2); + if (ui.image(img6) == State.Started) selectTool(5); + if (ui.isHovered) ui.tooltip("Decal (L)"); + ui._x -= 2; + ui._y += 2; - ui._x += 2; - if (brushType == 7) ui.rect(-1, -1, img1.width + 2, img1.height + 2, 0xff205d9c, 2); - if (ui.image(img8) == State.Started) selectTool(7); - if (ui.isHovered) ui.tooltip("Shape (H)"); - ui._x -= 2; - ui._y += 2; + ui._x += 2; + if (brushType == 6) ui.rect(-1, -1, img1.width + 2, img1.height + 2, 0xff205d9c, 2); + if (ui.image(img7) == State.Started) selectTool(6); + if (ui.isHovered) ui.tooltip("Text (T)"); + ui._x -= 2; + ui._y += 2; - ui._x += 2; - if (brushType == 8) ui.rect(-1, -1, img1.width + 2, img1.height + 2, 0xff205d9c, 2); - if (ui.image(img9) == State.Started) selectTool(8); - if (ui.isHovered) ui.tooltip("Particle (P)"); - ui._x -= 2; - ui._y += 2; + ui._x += 2; + if (brushType == 7) ui.rect(-1, -1, img1.width + 2, img1.height + 2, 0xff205d9c, 2); + if (ui.image(img8) == State.Started) selectTool(7); + if (ui.isHovered) ui.tooltip("Shape (H)"); + ui._x -= 2; + ui._y += 2; + + ui._x += 2; + if (brushType == 8) ui.rect(-1, -1, img1.width + 2, img1.height + 2, 0xff205d9c, 2); + if (ui.image(img9) == State.Started) selectTool(8); + if (ui.isHovered) ui.tooltip("Particle (P)"); + ui._x -= 2; + ui._y += 2; + } + else if (UITrait.inst.worktab.position == 1) { + + loadBundled(["tool_gizmo.png"], function() { + + var img1 = bundled.get("tool_gizmo.png"); + + ui._x += 2; + if (brushType == 0) ui.rect(-1, -1, img1.width + 2, img1.height + 2, 0xff205d9c, 2); + if (ui.image(img1) == State.Started) selectTool(0); + if (ui.isHovered) ui.tooltip("Gizmo (G)"); + ui._x -= 2; + ui._y += 2; + }); + } ui.imageScrollAlign = true; } @@ -1112,7 +1128,10 @@ class UITrait extends iron.Trait { if (ui.window(Id.handle({layout:Horizontal}), panelx, 0, kha.System.windowWidth() - windowW - menubarw, Std.int((ui.t.ELEMENT_H + 2) * ui.SCALE))) { ui.tab(worktab, "Paint"); ui.tab(worktab, "Scene"); - if (worktab.changed) ddirty = 2; + if (worktab.changed) { + ddirty = 2; + toolbarHandle.redraws = 2; + } } var panelx = iron.App.x(); @@ -1240,13 +1259,6 @@ class UITrait extends iron.Trait { ddirty = 2; } - ui.t.FILL_BUTTON_BG = false; - if (ui.button("Default")) { - ViewportUtil.resetViewport(); - ViewportUtil.scaleToBounds(); - } - ui.t.FILL_BUTTON_BG = true; - if (messageTimer > 0) { var _w = ui._w; ui._w = Std.int(ui.ops.font.width(ui.fontSize, message) + 50 * ui.SCALE); @@ -2217,7 +2229,7 @@ class UITrait extends iron.Trait { var menuButtonW = Std.int(ui.ELEMENT_W() * 0.5); var px = panelx + menuButtonW * menuCategory; var py = headerh; - var menuItems = [5, 2, 0, 0]; + var menuItems = [5, 2, 7, 0]; var ph = 24 * menuItems[menuCategory] * ui.SCALE; ui.end(false); @@ -2253,6 +2265,14 @@ class UITrait extends iron.Trait { // ui.button("Preferences...", Left); } else if (menuCategory == 2) { + + if (ui.button("Reset", Left, "0")) { ViewportUtil.resetViewport(); ViewportUtil.scaleToBounds(); } + if (ui.button("Front", Left, "1")) { ViewportUtil.setView(0, -3, 0, Math.PI / 2, 0, 0); } + if (ui.button("Back", Left, "Ctrl+1")) { ViewportUtil.setView(0, 3, 0, Math.PI / 2, 0, Math.PI); } + if (ui.button("Right", Left, "3")) { ViewportUtil.setView(3, 0, 0, Math.PI / 2, 0, Math.PI / 2); } + if (ui.button("Left", Left, "Ctrl+3")) { ViewportUtil.setView(-3, 0, 0, Math.PI / 2, 0, -Math.PI / 2); } + if (ui.button("Top", Left, "7")) { ViewportUtil.setView(0, 0, 3, 0, 0, 0); } + if (ui.button("Bottom", Left, "Ctrl+7")) { ViewportUtil.setView(0, 0, -3, Math.PI, 0, Math.PI); } // ui.button("Show Envmap", Left); // ui.button("Show Grid", Left); // ui.button("Wireframe", Left);