Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix scales for most dialog/pop-ups for hi-dpi displays #780

Open
wants to merge 66 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
69c82a2
fix some dialog/pop-up scales on hi-dpi displays
williamchange Mar 17, 2025
1155d4d
fix pixels and polygon editor scales
williamchange Mar 17, 2025
d95f3a3
create library dialog and color picker scales fix
williamchange Mar 17, 2025
b7e37a2
scale fix for comment color pop-up & login dialog
williamchange Mar 17, 2025
be7fe76
fix comment color chooser popup location & scale
williamchange Mar 17, 2025
d3033e5
fix share material/node dialog scales
williamchange Mar 17, 2025
c00652d
fix node editor scale
williamchange Mar 17, 2025
0118b72
fix node desc. dialog scale
williamchange Mar 17, 2025
54d39e4
fix splines editor dialog scale
williamchange Mar 17, 2025
4afe9d7
fix lattice dialog scale
williamchange Mar 17, 2025
f2e838a
fix render counter menu location
williamchange Mar 17, 2025
d2da43a
fix pop-up menu location for hidpi displays
williamchange Mar 17, 2025
85e29e5
fix environment editor scale
williamchange Mar 18, 2025
88621af
Fix define aliases dialog scale
williamchange Mar 18, 2025
4425921
fix enum editor dialog scale
williamchange Mar 18, 2025
a26d4d7
fix guides color picker scale
williamchange Mar 18, 2025
4c8e074
fix new paint project dialog scale
williamchange Mar 18, 2025
ac7050c
fix paint layers config popup scale/pos
williamchange Mar 18, 2025
a283d07
fix graph tree(hierarchy) dialog scale
williamchange Mar 18, 2025
4035a09
fix paint layers add menu pos
williamchange Mar 18, 2025
6b27fd6
adjust min width so all controls are visible
williamchange Mar 19, 2025
8397547
fix about dialog scale
williamchange Mar 21, 2025
7acb89d
Fix gradient color picker pos/scale
williamchange Mar 23, 2025
9cc39f9
fix rename export dialog scale
williamchange Mar 23, 2025
abc5671
fix expression editor dialog scale
williamchange Mar 23, 2025
0c80f3c
Account for graphedit zoom lvl for node popups
williamchange Mar 23, 2025
2a89630
adjust min width so all controls are visible
williamchange Mar 25, 2025
6648af4
fix file dialog context menu popup pos
williamchange Mar 26, 2025
9bcb50c
fix export editor duplicate export dialog scale
williamchange Mar 26, 2025
36208cb
fix dialog scale from line_dialog's ready signal
williamchange Mar 26, 2025
87cabc1
connect ready signal
williamchange Mar 26, 2025
98f03bf
fix scales individually
williamchange Mar 26, 2025
319afe8
indent..
williamchange Mar 26, 2025
3df3d85
fix code editor context menu popup pos
williamchange Mar 26, 2025
aabff30
fix environment editor color picker scales
williamchange Mar 26, 2025
ed65b8a
fix export material dialog scale
williamchange Mar 27, 2025
71c6cba
fix filedialog popup scales
williamchange Mar 27, 2025
a8c6325
adjust overwrite dialog min width
williamchange Mar 28, 2025
ecf45c3
fix filedialog lineedit context menu pos
williamchange Mar 28, 2025
46986f5
minor format
williamchange Mar 28, 2025
191fd64
fix expression editor context menu pos
williamchange Mar 28, 2025
0938bd0
fix node editor LineEdit context menu pos
williamchange Mar 28, 2025
90cd5bf
node editor input list lineedits' context menu pos
williamchange Mar 28, 2025
d0b3997
fix node editor color param picker scale
williamchange Mar 28, 2025
08e7e7f
fix named param editor dialog scale
williamchange Mar 28, 2025
e82fc3e
small fix
williamchange Mar 28, 2025
d76fc16
splines editor pos
williamchange Mar 28, 2025
623a2a1
fix export editor custom script edit context pos
williamchange Mar 28, 2025
eb03829
fix export editor template context menu pos
williamchange Mar 28, 2025
69f3042
adjust export editor min height
williamchange Mar 28, 2025
0cc2206
fix mesh config popup scale when toggling linked
williamchange Mar 28, 2025
a185c7d
fix generated shader(debug) dialog scale
williamchange Mar 28, 2025
effa7a2
fix color popup pos from comment node
williamchange Mar 29, 2025
0d1d264
Merge branch 'master' into fix-dialog-scale
williamchange Mar 30, 2025
40ad36d
code editor content menu pos
williamchange Mar 30, 2025
545661e
Merge branch 'master' into fix-dialog-scale
williamchange Apr 1, 2025
9a358b4
fix animation export dialog scale
williamchange Apr 1, 2025
2686375
Fix TAA Export dialog scale
williamchange Apr 1, 2025
dfb13c3
fix tesselated checkbox container clipping
williamchange Apr 1, 2025
9843197
Fix linked btn clipping when toggling
williamchange Apr 1, 2025
a3b808b
Fix library panel filter context menu pos
williamchange Apr 1, 2025
d5ab879
try to follow gdscript style guide
williamchange Apr 2, 2025
5c1436b
Fix context menu pos in export editor
williamchange Apr 9, 2025
a025ee5
style
williamchange Apr 9, 2025
d021e8d
Fix line dialog context menu pos
williamchange Apr 9, 2025
8436f3d
signal connection
williamchange Apr 11, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions addons/material_maker/engine/nodes/gen_shader.gd
Original file line number Diff line number Diff line change
Expand Up @@ -806,6 +806,8 @@ func do_edit(node, edit_window_scene : PackedScene, tab : String = "") -> void:
edit_window.set_model_data(get_shader_model_for_edit())
edit_window.connect("node_changed", Callable(node, "update_shader_generator"))
edit_window.connect("popup_hide", Callable(edit_window, "queue_free"))
edit_window.get_window().content_scale_factor = mm_globals.main_window.get_window().content_scale_factor
edit_window.get_window().min_size = Vector2(950, 450) * edit_window.get_window().content_scale_factor
edit_window.popup_centered()
if tab != "":
edit_window.show_tab(tab)
Expand Down
7 changes: 6 additions & 1 deletion material_maker/globals.gd
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,12 @@ func parse_paste_data(data : String):
# Misc. UI functions

static func popup_menu(menu : PopupMenu, parent : Control):
menu.popup(Rect2(parent.get_local_mouse_position()+parent.get_screen_position(), Vector2(0, 0)))
var zoom_fac = 1.0
if parent is GraphNode:
zoom_fac *= mm_globals.main_window.get_current_graph_edit().zoom

var content_scale_factor = mm_globals.main_window.get_window().content_scale_factor
menu.popup(Rect2(parent.get_local_mouse_position()*content_scale_factor*zoom_fac + parent.get_screen_position(), Vector2(0, 0)))

func set_tip_text(tip : String, timeout : float = 0.0, priority: int = 0):
main_window.set_tip_text(tip, timeout, priority)
Expand Down
5 changes: 5 additions & 0 deletions material_maker/main_window.gd
Original file line number Diff line number Diff line change
Expand Up @@ -839,6 +839,7 @@ func edit_save_selection() -> void:

func edit_preferences() -> void:
var dialog = load("res://material_maker/windows/preferences/preferences.tscn").instantiate()
dialog.content_scale_factor = mm_globals.main_window.get_window().content_scale_factor
dialog.edit_preferences(mm_globals.config)

func view_center() -> void:
Expand Down Expand Up @@ -888,6 +889,8 @@ func add_selection_to_library(index) -> void:
if selected_nodes.is_empty():
return
var dialog = preload("res://material_maker/windows/line_dialog/line_dialog.tscn").instantiate()
dialog.content_scale_factor = mm_globals.main_window.get_window().content_scale_factor
dialog.min_size = Vector2(250, 90) * dialog.content_scale_factor
add_child(dialog)
var current_item_name = ""
if library.is_inside_tree():
Expand All @@ -913,6 +916,8 @@ func create_menu_add_brush_to_library(menu : MMMenuManager.MenuBase) -> void:

func add_brush_to_library(index) -> void:
var dialog = preload("res://material_maker/windows/line_dialog/line_dialog.tscn").instantiate()
dialog.content_scale_factor = mm_globals.main_window.get_window().content_scale_factor
dialog.min_size = Vector2(250, 90) * dialog.content_scale_factor
add_child(dialog)
var status = await dialog.enter_text("New library element", "Select a name for the new library element", brushes.get_selected_item_name())
if ! status.ok:
Expand Down
2 changes: 2 additions & 0 deletions material_maker/nodes/base.gd
Original file line number Diff line number Diff line change
Expand Up @@ -415,6 +415,8 @@ func _on_menu_id_pressed(id : int) -> void:
status.append({ ok=false, message="The following outputs do not have a short and a long description: "+", ".join(bad) })
# Show warning dialog
var dialog = preload("res://material_maker/tools/share/share_node_dialog.tscn").instantiate()
dialog.content_scale_factor = mm_globals.main_window.get_window().content_scale_factor
dialog.min_size = Vector2(600, 400) * dialog.content_scale_factor
var result = await dialog.ask(status)
if result != "ok":
return
Expand Down
11 changes: 9 additions & 2 deletions material_maker/nodes/comment/comment.gd
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,10 @@ func _on_text_focus_exited():
func _on_change_color_pressed():
var light_theme = "light" in mm_globals.main_window.theme.resource_path
accept_event()
$Popup.position = get_local_mouse_position()+get_screen_position()
var content_scale_factor = mm_globals.main_window.get_window().content_scale_factor
$Popup.get_window().content_scale_factor = content_scale_factor
$Popup.get_window().min_size = $Popup.get_window().get_contents_minimum_size() * content_scale_factor
$Popup.position = get_global_mouse_position() * content_scale_factor
$Popup.popup()
var corrected_color = pallette_colors.duplicate(true)
if !light_theme:
Expand Down Expand Up @@ -173,7 +176,11 @@ func _on_ColorChooser_gui_input(event: InputEvent) -> void:
if event is InputEventMouseButton and event.pressed and event.button_index == MOUSE_BUTTON_LEFT:
accept_event()
$Popup.hide()
$PopupSelector.popup(Rect2(event.global_position, Vector2(0, 0)))
var content_scale_factor = mm_globals.main_window.get_window().content_scale_factor
$PopupSelector.get_window().content_scale_factor = content_scale_factor
$PopupSelector.get_window().min_size = $PopupSelector.get_window().get_contents_minimum_size() * content_scale_factor
$PopupSelector.get_window().position = get_global_mouse_position() * content_scale_factor
$PopupSelector.popup()
$PopupSelector/PanelContainer/ColorPicker.color = generator.color
if not $PopupSelector/PanelContainer/ColorPicker.color_changed.is_connected(self.set_color):
$PopupSelector/PanelContainer/ColorPicker.color_changed.connect(self.set_color)
Expand Down
4 changes: 4 additions & 0 deletions material_maker/nodes/debug/debug_popup.gd
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ var src_code

const GENFUNCTIONS : Array = [ "generate_shadertoy", "generate_godot_canvasitem", "generate_godot_spatial" ]

func _on_ready() -> void:
content_scale_factor = mm_globals.main_window.get_window().content_scale_factor
min_size = Vector2(500 ,500) * content_scale_factor

func show_code(s) -> void:
src_code = s
_on_ShaderType_item_selected(0)
Expand Down
5 changes: 3 additions & 2 deletions material_maker/nodes/debug/debug_popup.tscn
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[gd_scene load_steps=5 format=3 uid="uid://bay8he3yeaj1q"]

[ext_resource type="Script" path="res://material_maker/nodes/debug/debug_popup.gd" id="1"]
[ext_resource type="Script" uid="uid://knk1qxod1t7o" path="res://material_maker/nodes/debug/debug_popup.gd" id="1"]
[ext_resource type="PackedScene" uid="uid://ddgb7ul6fncx8" path="res://material_maker/widgets/code_editor/code_editor.tscn" id="2_tw3os"]

[sub_resource type="Shader" id="2"]
Expand All @@ -27,8 +27,8 @@ layout_mode = 2

[node name="ShaderType" type="OptionButton" parent="VBoxContainer/HBoxContainer"]
layout_mode = 2
item_count = 4
selected = 0
item_count = 4
popup/item_0/text = "Shadertoy"
popup/item_0/id = 0
popup/item_1/text = "Godot Canvas item"
Expand All @@ -54,5 +54,6 @@ layout_mode = 2
size_flags_vertical = 3

[connection signal="close_requested" from="." to="." method="queue_free"]
[connection signal="ready" from="." to="." method="_on_ready"]
[connection signal="item_selected" from="VBoxContainer/HBoxContainer/ShaderType" to="." method="_on_ShaderType_item_selected"]
[connection signal="pressed" from="VBoxContainer/HBoxContainer/CopyToClipboard" to="." method="_on_CopyToClipboard_pressed"]
3 changes: 2 additions & 1 deletion material_maker/nodes/remote/named_parameter_dialog.gd
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ extends Window
signal return_values(values)

func _ready():
pass # Replace with function body.
content_scale_factor = mm_globals.main_window.get_window().content_scale_factor
min_size = Vector2(450, 60) * content_scale_factor

func _on_OK_pressed() -> void:
emit_signal("return_values", { min=$VBoxContainer/float/Min.value, max=$VBoxContainer/float/Max.value, step=$VBoxContainer/float/Step.value, default=$VBoxContainer/float/Default.value} )
Expand Down
2 changes: 1 addition & 1 deletion material_maker/panels/layers/layer_config_popup.gd
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ func configure_layer(layers : Node, l : Object) -> void:
$GridContainer/Normal.set_value(l.normal_alpha)
$GridContainer/Depth.set_value(l.depth_alpha)
$GridContainer/Occlusion.set_value(l.occlusion_alpha)
popup(Rect2($GridContainer.get_global_mouse_position(), $GridContainer.get_minimum_size()))
popup(Rect2($GridContainer.get_global_mouse_position() * content_scale_factor, $GridContainer.get_minimum_size()))

func _on_LayerConfigPopup_popup_hide():
queue_free()
Expand Down
5 changes: 4 additions & 1 deletion material_maker/panels/layers/layers.gd
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ func _on_Add_pressed():
menu.connect("id_pressed", Callable(self, "_on_add_layer_menu"))
menu.connect("id_pressed", Callable(menu, "queue_free"))
menu.connect("popup_hide", Callable(menu, "queue_free"))
menu.popup(Rect2(Vector2(button_rect.position.x, button_rect.end.y), Vector2(0, 0)))
menu.popup(Rect2(Vector2(button_rect.position.x, button_rect.end.y) *
mm_globals.main_window.get_window().content_scale_factor, Vector2(0, 0)))

func _on_add_layer_menu(id):
layers.add_layer(id)
Expand Down Expand Up @@ -59,5 +60,7 @@ func _on_Config_pressed():
if layer.get_layer_type() == MMLayer.LAYER_MASK:
return
var popup = preload("res://material_maker/panels/layers/layer_config_popup.tscn").instantiate()
popup.content_scale_factor = mm_globals.main_window.get_window().content_scale_factor
popup.min_size = Vector2(228, 245) * popup.content_scale_factor
add_child(popup)
popup.configure_layer(layers, current.get_meta("layer"))
3 changes: 2 additions & 1 deletion material_maker/panels/library/create_lib_dialog.gd
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ signal return_info(status)


func _ready():
content_scale_factor = mm_globals.main_window.get_window().content_scale_factor
%FilePickerButton.set_mode(FileDialog.FILE_MODE_OPEN_DIR)
%FilePickerButton.icon = get_parent().get_theme_icon("folder", "MM_Icons")
popup_centered()
Expand Down Expand Up @@ -67,5 +68,5 @@ func enter_info(value : String = "") -> Dictionary:
return result

func _on_VBoxContainer_minimum_size_changed():
min_size = $MarginContainer.get_combined_minimum_size()
min_size = $MarginContainer.get_combined_minimum_size() * content_scale_factor
max_size = Vector2(max_size.x, $MarginContainer.get_minimum_size().y)
9 changes: 9 additions & 0 deletions material_maker/panels/library/library.gd
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,13 @@ const MINIMUM_ITEM_HEIGHT : int = 30
const MENU_CREATE_LIBRARY : int = 1000
const MENU_LOAD_LIBRARY : int = 1001

func _context_menu_about_to_popup(context_menu : PopupMenu) -> void:
context_menu.position = get_window().position+ Vector2i(
get_global_mouse_position() * get_window().content_scale_factor)

func _ready() -> void:
%Filter.get_menu().about_to_popup.connect(
_context_menu_about_to_popup.bind(%Filter.get_menu()))
# Setup tree
tree.set_column_expand(0, true)
tree.set_column_expand(1, false)
Expand Down Expand Up @@ -330,6 +335,8 @@ func _on_PopupMenu_index_pressed(index):
match index:
0: # Rename
var dialog = preload("res://material_maker/windows/line_dialog/line_dialog.tscn").instantiate()
dialog.content_scale_factor = mm_globals.main_window.get_window().content_scale_factor
dialog.min_size = Vector2(250, 90) * dialog.content_scale_factor
add_child(dialog)
var status = await dialog.enter_text("Rename item", "Enter the new name for this item", item_path)
if status.ok:
Expand All @@ -346,6 +353,8 @@ func _on_PopupMenu_index_pressed(index):
4: # Define aliases
var aliases = library_manager.get_aliases(item_path)
var dialog = preload("res://material_maker/windows/line_dialog/line_dialog.tscn").instantiate()
dialog.content_scale_factor = mm_globals.main_window.get_window().content_scale_factor
dialog.min_size = Vector2(400, 90) * dialog.content_scale_factor
add_child(dialog)
var status = await dialog.enter_text("Library item aliases", "Updated aliases for "+item_path, aliases)
if ! status.ok:
Expand Down
4 changes: 4 additions & 0 deletions material_maker/panels/preview_2d/preview_2d_panel.gd
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,10 @@ const POSTPROCESS_OPTIONS : Array = [


func _ready():
var content_scale_factor = mm_globals.get_window().content_scale_factor
%GuidesColor.get_popup().content_scale_factor = content_scale_factor
%GuidesColor.get_popup().min_size = %GuidesColor.get_popup().get_contents_minimum_size() * content_scale_factor

clear()
reset_view()
if mm_globals.has_config("preview"+config_var_suffix+"_view_mode"):
Expand Down
6 changes: 4 additions & 2 deletions material_maker/panels/preview_3d/mesh_config_popup.gd
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ extends PopupPanel
var mesh : MeshInstance3D

func _ready() -> void:
content_scale_factor = mm_globals.main_window.get_window().content_scale_factor
min_size = get_contents_minimum_size() * content_scale_factor
%ScaleLinked.icon = get_theme_icon("link", "MM_Icons")

func configure_mesh(m : MeshInstance3D) -> void:
Expand Down Expand Up @@ -32,13 +34,13 @@ func configure_mesh(m : MeshInstance3D) -> void:
%Parameters.add_child(float_edit)
float_edit.value_changed.connect(mesh.set_parameter.bind(p.name))

popup(Rect2(get_mouse_position(), $VBoxContainer.get_minimum_size()))
popup(Rect2(get_mouse_position()*content_scale_factor, $VBoxContainer.get_minimum_size()*content_scale_factor))


func _on_scale_linked_toggled(toggled_on: bool) -> void:
%UV_Scale_Y.visible = not toggled_on
_on_UV_value_changed(%UV_Scale_X.value)
size = $VBoxContainer.get_minimum_size()
size = ($VBoxContainer.get_minimum_size() + Vector2(10,0)) * content_scale_factor


func _on_MeshConfiguration_popup_hide():
Expand Down
7 changes: 3 additions & 4 deletions material_maker/panels/preview_3d/mesh_config_popup.tscn
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,8 @@
[ext_resource type="Script" uid="uid://blmq2gm7dwr3k" path="res://material_maker/panels/preview_3d/mesh_config_popup.gd" id="2"]

[node name="MeshConfiguration" type="PopupPanel"]
transparent_bg = true
size = Vector2i(259, 128)
visible = true
transparent = true
script = ExtResource("2")

[node name="VBoxContainer" type="VBoxContainer" parent="."]
Expand All @@ -16,8 +14,8 @@ anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 4.0
offset_top = 4.0
offset_right = 255.0
offset_bottom = 124.0
offset_right = -4.0
offset_bottom = -4.0

[node name="Panel" type="PanelContainer" parent="VBoxContainer"]
layout_mode = 2
Expand Down Expand Up @@ -84,6 +82,7 @@ text = "Tesselated"
[node name="Tesselated" type="CheckBox" parent="VBoxContainer/Parameters"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 0
tooltip_text = "If tesselation is enabled, the mesh will be subdivided, which is necessary for materials that use vertex displacement."

[connection signal="popup_hide" from="." to="." method="_on_MeshConfiguration_popup_hide"]
Expand Down
3 changes: 2 additions & 1 deletion material_maker/tools/share/login_dialog.gd
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ signal return_status(status)


func _ready():
content_scale_factor = mm_globals.main_window.get_window().content_scale_factor
await get_tree().process_frame
_on_MarginContainer_minimum_size_changed()

Expand Down Expand Up @@ -35,7 +36,7 @@ func ask(user : String, password : String) -> Dictionary:
return {}

func _on_MarginContainer_minimum_size_changed():
size = $MarginContainer.get_minimum_size()
size = $MarginContainer.get_minimum_size() * content_scale_factor

func _on_RegisterButton_pressed():
OS.shell_open(MMPaths.WEBSITE_ADDRESS+"/register")
2 changes: 2 additions & 0 deletions material_maker/tools/share/share_button.gd
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,8 @@ func find_in_parameter_values(node : Dictionary, keywords : Array) -> bool:
func send_asset(asset_type : String, asset_data : Dictionary, preview_textures : Array[Texture2D], preview_texture_names : Array[String] = []) -> void:
var data : Dictionary = { type=asset_type, previews=preview_textures, preview_names=preview_texture_names, licenses=licenses, my_assets=my_assets }
var upload_dialog = load("res://material_maker/tools/share/upload_dialog.tscn").instantiate()
upload_dialog.content_scale_factor = mm_globals.main_window.get_window().content_scale_factor
upload_dialog.min_size = Vector2(600, 500) * upload_dialog.content_scale_factor
var asset_info = await upload_dialog.ask(data)
if asset_info.is_empty():
return
Expand Down
5 changes: 5 additions & 0 deletions material_maker/widgets/code_editor/code_editor.gd
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,13 @@ const FUNCTIONS : Array[String] = [ "radians", "degrees", "sin", "cos", "tan", "
"smoothstep", "length", "distance", "dot", "cross",
"normalize" ]

func _context_menu_about_to_popup() -> void:
var content_scale_factor = mm_globals.main_window.get_window().content_scale_factor
get_menu().position = get_window().position + Vector2i(
get_global_mouse_position() * content_scale_factor)

func _ready():
get_menu().about_to_popup.connect(_context_menu_about_to_popup)
for t in KEYWORDS:
syntax_highlighter.add_keyword_color(t, Color(1.0, 0.6, 0.6))
for t in TYPES:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ signal color_changed_undo(c, previous)


func _ready():
get_popup().content_scale_factor = mm_globals.main_window.get_window().content_scale_factor
get_popup().min_size = get_popup().get_contents_minimum_size() * get_popup().content_scale_factor
custom_minimum_size = Vector2(24, 24)
connect("color_changed",Callable(self,"on_color_changed"))
connect("picker_created",Callable(self,"on_picker_created"))
Expand Down
3 changes: 3 additions & 0 deletions material_maker/widgets/curve_edit/curve_edit.gd
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ func set_value(v) -> void:

func _on_CurveEdit_pressed():
var dialog = preload("res://material_maker/widgets/curve_edit/curve_dialog.tscn").instantiate()
var content_scale_factor = mm_globals.main_window.get_window().content_scale_factor
dialog.content_scale_factor = content_scale_factor
dialog.min_size = Vector2(500, 500)*content_scale_factor
mm_globals.main_window.add_dialog(dialog)
dialog.connect("curve_changed",Callable(self,"on_value_changed"))
var new_curve = await dialog.edit_curve(value)
Expand Down
2 changes: 2 additions & 0 deletions material_maker/widgets/desc_button/desc_button.gd
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ func update_tooltip() -> void:

func _on_Button_pressed() -> void:
var dialog = preload("res://material_maker/windows/desc_dialog/desc_dialog.tscn").instantiate()
dialog.content_scale_factor = mm_globals.main_window.get_window().content_scale_factor
dialog.min_size = Vector2(350, 150) * dialog.content_scale_factor
add_child(dialog)
var result = await dialog.edit_descriptions(description_type, short_description, long_description)
short_description = result[0]
Expand Down
10 changes: 9 additions & 1 deletion material_maker/widgets/float_edit/expression_editor.gd
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,16 @@ var accept_empty : bool = false
@onready var editor = $MarginContainer/VBoxContainer/TextEdit
@onready var parser = load("res://addons/material_maker/parser/glsl_parser.gd").new()

func _context_menu_about_to_popup(context_menu):
context_menu.position = get_window().position + Vector2i(
get_mouse_position() * mm_globals.main_window.get_window().content_scale_factor)

func _ready():
pass # Replace with function body.
content_scale_factor = mm_globals.main_window.get_window().content_scale_factor
min_size = Vector2(300, 100) * content_scale_factor

editor.get_menu().about_to_popup.connect(
_context_menu_about_to_popup.bind(editor.get_menu()))

func edit_parameter(wt : String, value : String, o : Object, m : String, ep : Array = [], ae : bool = false):
object = o
Expand Down
9 changes: 7 additions & 2 deletions material_maker/widgets/gradient_editor/gradient_edit.gd
Original file line number Diff line number Diff line change
Expand Up @@ -117,10 +117,15 @@ func select_color(cursor:GradientEditCursor) -> void:
var color_picker := color_picker_popup.get_node("ColorPicker")
color_picker.color = cursor.color
color_picker.color_changed.connect(cursor.set_cursor_color)

var content_scale_factor = mm_globals.main_window.get_window().content_scale_factor
color_picker_popup.content_scale_factor = content_scale_factor
color_picker_popup.min_size = color_picker_popup.get_contents_minimum_size() * content_scale_factor

var _scale := get_global_transform().get_scale()
color_picker_popup.position.x = global_position.x + size.x*_scale.x + 10
color_picker_popup.position.y = global_position.y

color_picker_popup.position.x = (global_position.x + size.x*_scale.x) * content_scale_factor
color_picker_popup.position.y = global_position.y * content_scale_factor
color_picker_popup.position += get_window().position

color_picker_popup.popup_hide.connect(color_picker_popup.queue_free)
Expand Down
4 changes: 4 additions & 0 deletions material_maker/widgets/graph_tree/graph_tree.gd
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ signal item_icon_double_clicked(generator)

@onready var tree = $Tree

func _ready() -> void:
content_scale_factor = mm_globals.main_window.get_window().content_scale_factor
min_size = Vector2(500, 500) * content_scale_factor

func init(graph_name : String, generator : MMGenGraph) -> void:
tree.clear()
var root : TreeItem = tree.create_item(null)
Expand Down
Loading