2
0
luboslenco 1 жил өмнө
parent
commit
c895a01dc8

+ 0 - 20
armorpaint/sources/tab_layers.ts

@@ -743,7 +743,6 @@ function tab_layers_draw_layer_context_menu(l: slot_layer_t, mini: bool) {
 		if (mini) {
 			let visible_handle: ui_handle_t = ui_handle(__ID__);
 			visible_handle.selected = l.visible;
-			ui_menu_fill(ui);
 			ui_check(visible_handle, tr("Visible"));
 			if (visible_handle.changed) {
 				tab_layers_layer_toggle_visible(l);
@@ -751,13 +750,11 @@ function tab_layers_draw_layer_context_menu(l: slot_layer_t, mini: bool) {
 			}
 
 			if (!slot_layer_is_group(l)) {
-				ui_menu_fill(ui);
 				if (tab_layers_combo_blending(ui, l, true).changed) {
 					ui_menu_keep_open = true;
 				}
 			}
 			if (slot_layer_is_layer(l)) {
-				ui_menu_fill(ui);
 				if (tab_layers_combo_object(ui, l, true).changed) {
 					ui_menu_keep_open = true;
 				}
@@ -879,7 +876,6 @@ function tab_layers_draw_layer_context_menu(l: slot_layer_t, mini: bool) {
 			});
 		}
 
-		ui_menu_fill(ui);
 		ui_menu_align(ui);
 		let layer_opac_handle: ui_handle_t = ui_nest(ui_handle(__ID__), l.id);
 		layer_opac_handle.value = l.mask_opacity;
@@ -894,7 +890,6 @@ function tab_layers_draw_layer_context_menu(l: slot_layer_t, mini: bool) {
 		}
 
 		if (!slot_layer_is_group(l)) {
-			ui_menu_fill(ui);
 			ui_menu_align(ui);
 			let res_handle_changed_last: bool = base_res_handle.changed;
 			///if (arm_android || arm_ios)
@@ -915,7 +910,6 @@ function tab_layers_draw_layer_context_menu(l: slot_layer_t, mini: bool) {
 			ui_draw_string(tr("Res"), -1, 0, ui_align_t.RIGHT, true);
 			_ui_end_element();
 
-			ui_menu_fill(ui);
 			ui_menu_align(ui);
 			///if (arm_android || arm_ios)
 			let bits_items: string[] = ["8bit"];
@@ -931,7 +925,6 @@ function tab_layers_draw_layer_context_menu(l: slot_layer_t, mini: bool) {
 		}
 
 		if (l.fill_layer != null) {
-			ui_menu_fill(ui);
 			ui_menu_align(ui);
 			let scale_handle: ui_handle_t = ui_nest(ui_handle(__ID__), l.id);
 			scale_handle.value = l.scale;
@@ -945,7 +938,6 @@ function tab_layers_draw_layer_context_menu(l: slot_layer_t, mini: bool) {
 				ui_menu_keep_open = true;
 			}
 
-			ui_menu_fill(ui);
 			ui_menu_align(ui);
 			let angle_handle: ui_handle_t = ui_nest(ui_handle(__ID__), l.id);
 			angle_handle.value = l.angle;
@@ -960,7 +952,6 @@ function tab_layers_draw_layer_context_menu(l: slot_layer_t, mini: bool) {
 				ui_menu_keep_open = true;
 			}
 
-			ui_menu_fill(ui);
 			ui_menu_align(ui);
 			let uv_type_handle: ui_handle_t = ui_nest(ui_handle(__ID__), l.id);
 			uv_type_handle.position = l.uv_type;
@@ -1000,27 +991,16 @@ function tab_layers_draw_layer_context_menu(l: slot_layer_t, mini: bool) {
 			height_blend_handle.selected = l.paint_height_blend;
 			emis_handle.selected = l.paint_emis;
 			subs_handle.selected = l.paint_subs;
-			ui_menu_fill(ui);
 			l.paint_base = ui_check(base_handle, tr("Base Color"));
-			ui_menu_fill(ui);
 			l.paint_opac = ui_check(opac_handle, tr("Opacity"));
-			ui_menu_fill(ui);
 			l.paint_nor = ui_check(nor_handle, tr("Normal"));
-			ui_menu_fill(ui);
 			l.paint_nor_blend = ui_check(nor_blend_handle, tr("Normal Blending"));
-			ui_menu_fill(ui);
 			l.paint_occ = ui_check(occ_handle, tr("Occlusion"));
-			ui_menu_fill(ui);
 			l.paint_rough = ui_check(rough_handle, tr("Roughness"));
-			ui_menu_fill(ui);
 			l.paint_met = ui_check(met_handle, tr("Metallic"));
-			ui_menu_fill(ui);
 			l.paint_height = ui_check(height_handle, tr("Height"));
-			ui_menu_fill(ui);
 			l.paint_height_blend = ui_check(height_blend_handle, tr("Height Blending"));
-			ui_menu_fill(ui);
 			l.paint_emis = ui_check(emis_handle, tr("Emission"));
-			ui_menu_fill(ui);
 			l.paint_subs = ui_check(subs_handle, tr("Subsurface"));
 			if (base_handle.changed ||
 				opac_handle.changed ||

+ 0 - 9
base/sources/tab_materials.ts

@@ -238,23 +238,14 @@ function tab_materials_draw_slots(mini: bool) {
 						subs_handle.selected = m.paint_subs;
 					}
 
-					ui_menu_fill(ui);
 					m.paint_base = ui_check(base_handle, tr("Base Color"));
-					ui_menu_fill(ui);
 					m.paint_opac = ui_check(opac_handle, tr("Opacity"));
-					ui_menu_fill(ui);
 					m.paint_nor = ui_check(nor_handle, tr("Normal"));
-					ui_menu_fill(ui);
 					m.paint_occ = ui_check(occ_handle, tr("Occlusion"));
-					ui_menu_fill(ui);
 					m.paint_rough = ui_check(rough_handle, tr("Roughness"));
-					ui_menu_fill(ui);
 					m.paint_met = ui_check(met_handle, tr("Metallic"));
-					ui_menu_fill(ui);
 					m.paint_height = ui_check(height_handle, tr("Height"));
-					ui_menu_fill(ui);
 					m.paint_emis = ui_check(emis_handle, tr("Emission"));
-					ui_menu_fill(ui);
 					m.paint_subs = ui_check(subs_handle, tr("Subsurface"));
 					if (base_handle.changed ||
 						opac_handle.changed ||

+ 6 - 5
base/sources/ui_base.ts

@@ -658,11 +658,11 @@ function ui_base_update() {
 				viewport_zoom(-0.2);
 			}
 			else if (operator_shortcut(map_get(config_keymap, "viewport_mode"))) {
-
+				base_ui_menu.is_key_pressed = false;
 				ui_menu_draw(function (ui: ui_t) {
 					let mode_handle: ui_handle_t = ui_handle(__ID__);
 					mode_handle.position = context_raw.viewport_mode;
-					ui_text(tr("Viewport Mode"), ui_align_t.RIGHT, ui.ops.theme.HIGHLIGHT_COL);
+					ui_text(tr("Viewport Mode"), ui_align_t.RIGHT);
 					let modes: string[] = [
 						tr("Lit"),
 						tr("Base Color"),
@@ -710,7 +710,9 @@ function ui_base_update() {
 			}
 		}
 
-		if (operator_shortcut(map_get(config_keymap, "operator_search"))) ui_base_operator_search();
+		if (operator_shortcut(map_get(config_keymap, "operator_search"))) {
+			ui_base_operator_search();
+		}
 	}
 
 	if (context_raw.brush_can_lock || context_raw.brush_locked) {
@@ -908,9 +910,8 @@ function ui_base_operator_search() {
 	_ui_base_operator_search_first = true;
 
 	ui_menu_draw(function (ui: ui_t) {
+		ui_menu_h = ui_ELEMENT_H(ui) * 8;
 		let search_handle: ui_handle_t = ui_handle(__ID__);
-
-		ui_fill(0, 0, ui._w / ui_SCALE(ui), ui.ops.theme.ELEMENT_H * 8, ui.ops.theme.SEPARATOR_COL);
 		let search: string = ui_text_input(search_handle, "", ui_align_t.LEFT, true, true);
 		ui.changed = false;
 		if (_ui_base_operator_search_first) {

+ 3 - 30
base/sources/ui_menu.ts

@@ -170,7 +170,6 @@ function ui_menu_render() {
 
 			ui.changed = false;
 
-			ui_menu_fill(ui);
 			let p: world_data_t = scene_world;
 			let env_handle: ui_handle_t = ui_handle(__ID__);
 			env_handle.value = p.strength;
@@ -180,7 +179,6 @@ function ui_menu_render() {
 				context_raw.ddirty = 2;
 			}
 
-			ui_menu_fill(ui);
 			let enva_handle: ui_handle_t = ui_handle(__ID__);
 			enva_handle.value = context_raw.envmap_angle / math_pi() * 180.0;
 			if (enva_handle.value < 0) {
@@ -203,7 +201,6 @@ function ui_menu_render() {
 			if (scene_lights.length > 0) {
 				let light: light_object_t = scene_lights[0];
 
-				ui_menu_fill(ui);
 				let lhandle: ui_handle_t = ui_handle(__ID__);
 				let scale: f32 = 1333;
 				lhandle.value = light.data.strength / scale;
@@ -214,7 +211,6 @@ function ui_menu_render() {
 					context_raw.ddirty = 2;
 				}
 
-				ui_menu_fill(ui);
 				light = scene_lights[0];
 				let lahandle: ui_handle_t = ui_handle(__ID__);
 				lahandle.value = context_raw.light_angle / math_pi() * 180;
@@ -240,7 +236,6 @@ function ui_menu_render() {
 					context_raw.ddirty = 2;
 				}
 
-				ui_menu_fill(ui);
 				let sxhandle: ui_handle_t = ui_handle(__ID__);
 				sxhandle.value = light.data.size;
 				ui_menu_align(ui);
@@ -251,7 +246,6 @@ function ui_menu_render() {
 			}
 
 			///if (is_paint || is_sculpt)
-			ui_menu_fill(ui);
 			let split_view_handle: ui_handle_t = ui_handle(__ID__);
 			if (split_view_handle.init) {
 				split_view_handle.selected = context_raw.split_view;
@@ -263,7 +257,6 @@ function ui_menu_render() {
 			///end
 
 			///if is_lab
-			ui_menu_fill(ui);
 			let brush_scale_handle: ui_handle_t = ui_handle(__ID__);
 			if (brush_scale_handle.init) {
 				brush_scale_handle.value = context_raw.brush_scale;
@@ -279,7 +272,6 @@ function ui_menu_render() {
 			}
 			///end
 
-			ui_menu_fill(ui);
 			let cull_handle: ui_handle_t = ui_handle(__ID__);
 			if (cull_handle.init) {
 				cull_handle.selected = context_raw.cull_backfaces;
@@ -289,7 +281,6 @@ function ui_menu_render() {
 				make_material_parse_mesh_material();
 			}
 
-			ui_menu_fill(ui);
 			let filter_handle: ui_handle_t = ui_handle(__ID__);
 			if (filter_handle.init) {
 				filter_handle.selected = context_raw.texture_filter;
@@ -301,7 +292,6 @@ function ui_menu_render() {
 			}
 
 			///if (is_paint || is_sculpt)
-			ui_menu_fill(ui);
 			context_raw.draw_wireframe = ui_check(context_raw.wireframe_handle, " " + tr("Wireframe"));
 			if (context_raw.wireframe_handle.changed) {
 				let current: image_t = _g2_current;
@@ -313,14 +303,12 @@ function ui_menu_render() {
 			///end
 
 			///if is_paint
-			ui_menu_fill(ui);
 			context_raw.draw_texels = ui_check(context_raw.texels_handle, " " + tr("Texels"));
 			if (context_raw.texels_handle.changed) {
 				make_material_parse_mesh_material();
 			}
 			///end
 
-			ui_menu_fill(ui);
 			let compass_handle: ui_handle_t = ui_handle(__ID__);
 			if (compass_handle.init) {
 				compass_handle.selected = context_raw.show_compass;
@@ -330,14 +318,12 @@ function ui_menu_render() {
 				context_raw.ddirty = 2;
 			}
 
-			ui_menu_fill(ui);
 			context_raw.show_envmap = ui_check(context_raw.show_envmap_handle, " " + tr("Envmap"));
 			if (context_raw.show_envmap_handle.changed) {
 				context_load_envmap();
 				context_raw.ddirty = 2;
 			}
 
-			ui_menu_fill(ui);
 			context_raw.show_envmap_blur = ui_check(context_raw.show_envmap_blur_handle, " " + tr("Blur Envmap"));
 			if (context_raw.show_envmap_blur_handle.changed) {
 				context_raw.ddirty = 2;
@@ -385,7 +371,6 @@ function ui_menu_render() {
 			///end
 
 			for (let i: i32 = 0; i < modes.length; ++i) {
-				ui_menu_fill(ui);
 				let shortcut: string = config_raw.touch_ui ? "" : map_get(config_keymap, "viewport_mode") + ", " + shortcuts[i];
 				ui_radio(mode_handle, i, modes[i], shortcut);
 			}
@@ -450,7 +435,6 @@ function ui_menu_render() {
 			}
 			// menuSeparator(ui);
 
-			ui_menu_fill(ui);
 			let cam: camera_object_t = scene_camera;
 			context_raw.fov_handle = ui_handle(__ID__);
 			if (context_raw.fov_handle.init) {
@@ -462,7 +446,6 @@ function ui_menu_render() {
 				viewport_update_camera_type(context_raw.camera_type);
 			}
 
-			ui_menu_fill(ui);
 			ui_menu_align(ui);
 			let camera_controls_handle: ui_handle_t = ui_handle(__ID__);
 			camera_controls_handle.position = context_raw.camera_controls;
@@ -479,7 +462,6 @@ function ui_menu_render() {
 				ui_tooltip(orbit_and_rotate_tooltip + "\n\n" + fly_tooltip);
 			}
 
-			ui_menu_fill(ui);
 			ui_menu_align(ui);
 			let camera_type_items: string[] = [tr("Perspective"), tr("Orthographic")];
 			context_raw.camera_type = ui_inline_radio(context_raw.cam_handle, camera_type_items, ui_align_t.LEFT);
@@ -694,12 +676,6 @@ function ui_menu_fit_to_screen() {
 	}
 }
 
-function ui_menu_fill(ui: ui_t) {
-	g2_set_color(ui.ops.theme.SEPARATOR_COL);
-	g2_fill_rect(ui._x, ui._y, ui._w, ui_ELEMENT_H(ui) + 1);
-	g2_set_color(0xffffffff);
-}
-
 function ui_menu_separator(ui: ui_t) {
 	ui._y++;
 	if (config_raw.touch_ui) {
@@ -711,7 +687,6 @@ function ui_menu_separator(ui: ui_t) {
 }
 
 function ui_menu_button(ui: ui_t, text: string, label: string = ""): bool {
-	ui_menu_fill(ui);
 	if (config_raw.touch_ui) {
 		label = "";
 	}
@@ -732,14 +707,12 @@ function ui_menu_align(ui: ui_t) {
 }
 
 function ui_menu_start(ui: ui_t) {
-	ui_draw_shadow(ui._x, ui._y - 4, ui._w, ui_menu_h + 8);
-	// Round top
+	ui_draw_shadow(ui._x, ui._y, ui._w, ui_menu_h);
+
 	g2_set_color(ui.ops.theme.SEPARATOR_COL);
-	ui_draw_rect(true, ui._x, ui._y - 4, ui._w, 8);
+	ui_draw_rect(true, ui._x, ui._y, ui._w, ui_menu_h);
 	g2_set_color(0xffffffff);
 }
 
 function ui_menu_end(ui: ui_t) {
-	ui_draw_round_bottom(ui._x, ui._y, ui._w);
-	g2_set_color(0xffffffff);
 }

+ 4 - 7
base/sources/ui_nodes.ts

@@ -583,7 +583,9 @@ function ui_nodes_update() {
 	}
 
 	// Node search popup
-	if (operator_shortcut(map_get(config_keymap, "node_search"))) ui_nodes_node_search();
+	if (operator_shortcut(map_get(config_keymap, "node_search"))) {
+		ui_nodes_node_search();
+	}
 	if (ui_nodes_node_search_spawn != null) {
 		ui_nodes_ui.input_x = mouse_x; // Fix inputDX after popup removal
 		ui_nodes_ui.input_y = mouse_y;
@@ -610,12 +612,8 @@ function ui_nodes_node_search(x: i32 = -1, y: i32 = -1, done: ()=>void = null) {
 	_ui_nodes_node_search_done = done;
 
 	ui_menu_draw(function (ui: ui_t) {
+		ui_menu_h = ui_ELEMENT_H(ui) * 8;
 		let search_handle: ui_handle_t = ui_handle(__ID__);
-
-		g2_set_color(ui.ops.theme.SEPARATOR_COL);
-		ui_draw_rect(true, ui._x, ui._y, ui._w, ui_ELEMENT_H(ui) * 8);
-		g2_set_color(0xffffffff);
-
 		let search: string = to_lower_case(ui_text_input(search_handle, "", ui_align_t.LEFT, true, true));
 		ui.changed = false;
 		if (_ui_nodes_node_search_first) {
@@ -1261,7 +1259,6 @@ function ui_nodes_render() {
 				ui_fill(0, 1, ui_nodes_ui._w / ui_SCALE(ui_nodes_ui), ui_nodes_ui.ops.theme.BUTTON_H + 2, ui_nodes_ui.ops.theme.ACCENT_COL);
 				ui_fill(1, 1, ui_nodes_ui._w / ui_SCALE(ui_nodes_ui) - 2, ui_nodes_ui.ops.theme.BUTTON_H + 1, ui_nodes_ui.ops.theme.SEPARATOR_COL);
 				ui_nodes_ui.enabled = ui_nodes_can_place_group(g.canvas.name);
-				ui_menu_fill(ui_nodes_ui);
 				let row: f32[] = [5 / 6, 1 / 6];
 				ui_row(row);
 				if (ui_button(config_button_spacing + g.canvas.name, ui_align_t.LEFT)) {