Files
godot-demo-projects/misc/graphics_tablet_input/graphics_tablet_input.tscn
A Thousand Ships 0343cedd48 General proofreading (#1262)
* General proofreading for grammar and spelling
* General formatting
* Addition of appropriate literals where appropriate, i.e. `&"foo"` for `StringName` cases and `^"foo/bar"` for `NodePath` cases
2025-10-11 01:39:59 -07:00

230 lines
8.3 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[gd_scene load_steps=13 format=3 uid="uid://ccuepidukgq0e"]
[ext_resource type="Script" uid="uid://b0fmcs80ffm3s" 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_0/id = 0
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.
Usually 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"]