123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229 |
- [gd_scene load_steps=13 format=3 uid="uid://dxpettbof8pr8"]
- [ext_resource type="Script" uid="uid://c8j1v1pxecy0q" path="res://graphics_tablet_input.gd" id="1_fhuxi"]
- [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_0pp2f"]
- content_margin_left = 12.0
- content_margin_top = 12.0
- content_margin_right = 12.0
- content_margin_bottom = 12.0
- bg_color = Color(0.223529, 0.223529, 0.223529, 1)
- [sub_resource type="InputEventAction" id="InputEventAction_spbge"]
- action = &"undo_last_line"
- [sub_resource type="Shortcut" id="Shortcut_3mcds"]
- events = [SubResource("InputEventAction_spbge")]
- [sub_resource type="InputEventAction" id="InputEventAction_7n722"]
- action = &"clear_all_lines"
- [sub_resource type="Shortcut" id="Shortcut_5wv4g"]
- events = [SubResource("InputEventAction_7n722")]
- [sub_resource type="InputEventAction" id="InputEventAction_y8lr1"]
- action = &"change_line_color"
- [sub_resource type="Shortcut" id="Shortcut_1nmmy"]
- events = [SubResource("InputEventAction_y8lr1")]
- [sub_resource type="InputEventAction" id="InputEventAction_0l3by"]
- action = &"toggle_pressure_sensitive"
- [sub_resource type="Shortcut" id="Shortcut_mnr5q"]
- events = [SubResource("InputEventAction_0l3by")]
- [sub_resource type="InputEventAction" id="InputEventAction_4p65y"]
- action = &"toggle_tilt_vector"
- [sub_resource type="Shortcut" id="Shortcut_231fk"]
- events = [SubResource("InputEventAction_4p65y")]
- [node name="ColorRect" type="ColorRect"]
- anchors_preset = 15
- anchor_right = 1.0
- anchor_bottom = 1.0
- grow_horizontal = 2
- grow_vertical = 2
- mouse_default_cursor_shape = 3
- script = ExtResource("1_fhuxi")
- [node name="CanvasLayer" type="CanvasLayer" parent="."]
- [node name="PanelContainer" type="PanelContainer" parent="CanvasLayer"]
- offset_right = 264.0
- offset_bottom = 648.0
- size_flags_horizontal = 0
- theme_override_styles/panel = SubResource("StyleBoxFlat_0pp2f")
- [node name="Options" type="VBoxContainer" parent="CanvasLayer/PanelContainer"]
- custom_minimum_size = Vector2(240, 0)
- layout_mode = 2
- size_flags_horizontal = 0
- theme_override_constants/separation = 10
- [node name="UndoLastLine" type="Button" parent="CanvasLayer/PanelContainer/Options"]
- unique_name_in_owner = true
- layout_mode = 2
- disabled = true
- shortcut = SubResource("Shortcut_3mcds")
- text = "Undo Last Line"
- [node name="ClearAllLines" type="Button" parent="CanvasLayer/PanelContainer/Options"]
- unique_name_in_owner = true
- layout_mode = 2
- disabled = true
- shortcut = SubResource("Shortcut_5wv4g")
- text = "Clear All Lines"
- [node name="HSeparator" type="HSeparator" parent="CanvasLayer/PanelContainer/Options"]
- layout_mode = 2
- [node name="LineColor" type="HBoxContainer" parent="CanvasLayer/PanelContainer/Options"]
- layout_mode = 2
- theme_override_constants/separation = 10
- [node name="Label" type="Label" parent="CanvasLayer/PanelContainer/Options/LineColor"]
- layout_mode = 2
- text = "Line Color"
- [node name="ColorPickerButton" type="ColorPickerButton" parent="CanvasLayer/PanelContainer/Options/LineColor"]
- custom_minimum_size = Vector2(0, 30)
- layout_mode = 2
- size_flags_horizontal = 3
- shortcut = SubResource("Shortcut_1nmmy")
- [node name="LineWidth" type="HBoxContainer" parent="CanvasLayer/PanelContainer/Options"]
- layout_mode = 2
- tooltip_text = "(-: Decrease, +: Increase)"
- theme_override_constants/separation = 10
- [node name="Label" type="Label" parent="CanvasLayer/PanelContainer/Options/LineWidth"]
- layout_mode = 2
- text = "Line Width"
- [node name="HSlider" type="HSlider" parent="CanvasLayer/PanelContainer/Options/LineWidth"]
- layout_mode = 2
- size_flags_horizontal = 3
- size_flags_vertical = 4
- min_value = 0.5
- max_value = 20.0
- step = 0.5
- value = 3.0
- [node name="Value" type="Label" parent="CanvasLayer/PanelContainer/Options/LineWidth"]
- custom_minimum_size = Vector2(35, 0)
- layout_mode = 2
- text = "3.0"
- horizontal_alignment = 1
- [node name="PressureSensitive" type="CheckButton" parent="CanvasLayer/PanelContainer/Options"]
- layout_mode = 2
- tooltip_text = "If enabled, modulates line width according to pen pressure.
- This has no effect if drawing with a mouse or a tablet
- without pen pressure support."
- button_pressed = true
- shortcut = SubResource("Shortcut_mnr5q")
- text = "Pressure-Sensitive"
- [node name="ShowTiltVector" type="CheckButton" parent="CanvasLayer/PanelContainer/Options"]
- layout_mode = 2
- tooltip_text = "If enabled, shows a visual representation of the tilt vector
- reported by the graphics tablet. Tilt is not supported by all
- graphics tablets."
- button_pressed = true
- shortcut = SubResource("Shortcut_231fk")
- text = "Show Tilt Vector"
- [node name="HSeparator2" type="HSeparator" parent="CanvasLayer/PanelContainer/Options"]
- layout_mode = 2
- [node name="MSAA" type="HBoxContainer" parent="CanvasLayer/PanelContainer/Options"]
- layout_mode = 2
- theme_override_constants/separation = 10
- [node name="Label" type="Label" parent="CanvasLayer/PanelContainer/Options/MSAA"]
- layout_mode = 2
- text = "MSAA 2D"
- [node name="OptionButton" type="OptionButton" parent="CanvasLayer/PanelContainer/Options/MSAA"]
- layout_mode = 2
- selected = 3
- item_count = 4
- popup/item_0/text = "Disabled"
- popup/item_1/text = "2×"
- popup/item_1/id = 1
- popup/item_2/text = "4×"
- popup/item_2/id = 2
- popup/item_3/text = "8×"
- popup/item_3/id = 3
- [node name="MaxFPS" type="HBoxContainer" parent="CanvasLayer/PanelContainer/Options"]
- layout_mode = 2
- theme_override_constants/separation = 10
- [node name="Label" type="Label" parent="CanvasLayer/PanelContainer/Options/MaxFPS"]
- layout_mode = 2
- text = "Max FPS"
- [node name="HSlider" type="HSlider" parent="CanvasLayer/PanelContainer/Options/MaxFPS"]
- layout_mode = 2
- size_flags_horizontal = 3
- size_flags_vertical = 4
- min_value = 10.0
- max_value = 240.0
- step = 5.0
- value = 145.0
- [node name="Value" type="Label" parent="CanvasLayer/PanelContainer/Options/MaxFPS"]
- custom_minimum_size = Vector2(35, 0)
- layout_mode = 2
- text = "145"
- horizontal_alignment = 1
- [node name="VSync" type="CheckButton" parent="CanvasLayer/PanelContainer/Options"]
- layout_mode = 2
- tooltip_text = "Disable V-Sync to achieve lower input latency.
- Note that Android, iOS and Web platforms enforce
- V-Sync at a system level with no reliable way to disable it."
- text = "V-Sync"
- [node name="InputAccumulation" type="CheckButton" parent="CanvasLayer/PanelContainer/Options"]
- layout_mode = 2
- tooltip_text = "If enabled, inputs are collected and merged into a single input event on every rendered frame.
- By default, this is enabled in Godot, but this project disables it by default.
- This should be left disabled for drawing apps that expect precise input,
- as lines can become visibly jagged otherwise."
- text = "Input Accumulation"
- [node name="Spacer" type="Control" parent="CanvasLayer/PanelContainer/Options"]
- layout_mode = 2
- size_flags_vertical = 3
- [node name="TabletInfo" type="Label" parent="CanvasLayer/PanelContainer/Options"]
- unique_name_in_owner = true
- modulate = Color(1, 1, 1, 0.67451)
- layout_mode = 2
- text = "Pressure: 0.000
- Tilt: (0.000, 0.000)
- Inverted pen: No"
- [node name="TabletDriver" type="Label" parent="CanvasLayer/PanelContainer/Options"]
- unique_name_in_owner = true
- modulate = Color(1, 1, 1, 0.501961)
- layout_mode = 2
- text = "Tablet driver: <driver>"
- [connection signal="pressed" from="CanvasLayer/PanelContainer/Options/UndoLastLine" to="." method="_on_undo_last_line_pressed"]
- [connection signal="pressed" from="CanvasLayer/PanelContainer/Options/ClearAllLines" to="." method="_on_clear_all_lines_pressed"]
- [connection signal="color_changed" from="CanvasLayer/PanelContainer/Options/LineColor/ColorPickerButton" to="." method="_on_line_color_changed"]
- [connection signal="value_changed" from="CanvasLayer/PanelContainer/Options/LineWidth/HSlider" to="." method="_on_line_width_value_changed"]
- [connection signal="toggled" from="CanvasLayer/PanelContainer/Options/PressureSensitive" to="." method="_on_pressure_sensitive_toggled"]
- [connection signal="toggled" from="CanvasLayer/PanelContainer/Options/ShowTiltVector" to="." method="_on_show_tilt_vector_toggled"]
- [connection signal="item_selected" from="CanvasLayer/PanelContainer/Options/MSAA/OptionButton" to="." method="_on_msaa_item_selected"]
- [connection signal="value_changed" from="CanvasLayer/PanelContainer/Options/MaxFPS/HSlider" to="." method="_on_max_fps_value_changed"]
- [connection signal="toggled" from="CanvasLayer/PanelContainer/Options/VSync" to="." method="_on_v_sync_toggled"]
- [connection signal="toggled" from="CanvasLayer/PanelContainer/Options/InputAccumulation" to="." method="_on_input_accumulation_toggled"]
|