Files
armorpaint/Sources/arm/ui/UIToolbar.hx
T
2020-04-27 15:32:02 +02:00

103 lines
3.1 KiB
Haxe

package arm.ui;
import kha.System;
import zui.Zui;
import arm.Enums;
class UIToolbar {
public static var inst: UIToolbar;
public static inline var defaultToolbarW = 54;
public var toolbarHandle = new Handle();
public var toolbarw = defaultToolbarW;
public var toolNames = [
tr("Brush"),
tr("Eraser"),
tr("Fill"),
tr("Decal"),
tr("Text"),
tr("Clone"),
tr("Blur"),
tr("Particle"),
tr("ColorID"),
tr("Picker")
];
public function new() {
inst = this;
}
@:access(zui.Zui)
public function renderUI(g: kha.graphics2.Graphics) {
var ui = UISidebar.inst.ui;
if (ui.window(toolbarHandle, 0, UIHeader.inst.headerh, toolbarw, System.windowHeight() - UIHeader.inst.headerh)) {
ui._y += 2;
ui.imageScrollAlign = false;
var img = Res.get("icons.k");
var imgw = ui.SCALE() > 1 ? 100 : 50;
if (UIHeader.inst.worktab.position == SpacePaint) {
var keys = [
"(" + Config.keymap.tool_brush + ")",
"(" + Config.keymap.tool_eraser + ")",
"(" + Config.keymap.tool_fill + ")",
"(" + Config.keymap.tool_decal + ")",
"(" + Config.keymap.tool_text + ")",
"(" + Config.keymap.tool_clone + ") - " + tr("Hold") + " (" + Config.keymap.set_clone_source + ") " + tr("to set source"),
"(" + Config.keymap.tool_blur + ")",
"(" + Config.keymap.tool_particle + ")",
"(" + Config.keymap.tool_colorid + ")",
"(" + Config.keymap.tool_picker + ")"
];
for (i in 0...toolNames.length) {
ui._x += 2;
if (Context.tool == i) ui.rect(-1, -1, 50 + 2, 50 + 2, ui.t.HIGHLIGHT_COL, 2);
if (ui.image(img, -1, null, i * imgw, 0, imgw, imgw) == State.Started) Context.selectTool(i);
if (ui.isHovered) ui.tooltip(toolNames[i] + " " + keys[i]);
ui._x -= 2;
ui._y += 2;
}
}
else if (UIHeader.inst.worktab.position == SpaceMaterial) {
ui._x += 2;
if (Context.tool == ToolGizmo) ui.rect(-1, -1, 50 + 2, 50 + 2, ui.t.HIGHLIGHT_COL, 2);
if (ui.image(img, -1, null, imgw * 10, 0, imgw, imgw) == State.Started) Context.selectTool(ToolGizmo);
if (ui.isHovered) ui.tooltip(tr("Gizmo") + " (G)");
ui._x -= 2;
ui._y += 2;
ui._x += 2;
if (Context.tool == ToolPicker) ui.rect(-1, -1, 50 + 2, 50 + 2, ui.t.HIGHLIGHT_COL, 2);
if (ui.image(img, -1, null, imgw * 9, 0, imgw, imgw) == State.Started) Context.selectTool(ToolPicker);
if (ui.isHovered) ui.tooltip(tr("Picker") + " (V)");
ui._x -= 2;
ui._y += 2;
}
else if (UIHeader.inst.worktab.position == SpaceBake) {
ui._x += 2;
if (Context.tool == ToolBake) ui.rect(-1, -1, 50 + 2, 50 + 2, ui.t.HIGHLIGHT_COL, 2);
if (ui.image(img, -1, null, imgw * 11, 0, imgw, imgw) == State.Started) Context.selectTool(ToolBake);
if (ui.isHovered) ui.tooltip(tr("Bake") + " (K)");
ui._x -= 2;
ui._y += 2;
}
else if (UIHeader.inst.worktab.position == SpaceRender) {
ui._x += 2;
if (Context.tool == ToolGizmo) ui.rect(-1, -1, 50 + 2, 50 + 2, ui.t.HIGHLIGHT_COL, 2);
if (ui.image(img, -1, null, imgw * 10, 0, imgw, imgw) == State.Started) Context.selectTool(ToolGizmo);
if (ui.isHovered) ui.tooltip(tr("Gizmo") + " (G)");
ui._x -= 2;
ui._y += 2;
}
ui.imageScrollAlign = true;
}
}
}