Track lines

This commit is contained in:
2025-02-16 18:32:59 +01:00
parent 396988aa9a
commit 49dff3c8f1
3 changed files with 12 additions and 3 deletions

View File

@@ -9,7 +9,7 @@ extends Container
@export var time_interval: float = 1000.0 # 1 second @export var time_interval: float = 1000.0 # 1 second
@export var grid_space_ms: float = 250 # 0.25 seconds @export var grid_space_ms: float = 250 # 0.25 seconds
@export var label_interval_ms: float = 1000.0 # 1 second @export var label_interval_ms: float = 1000.0 # 1 second
@export var line_thickness: int = 1 @export var line_thickness: int = 2
@export var major_line_step: int = 4 @export var major_line_step: int = 4
@export var cursor_width: int = 8 @export var cursor_width: int = 8
@export var zoom: float = 1.0 @export var zoom: float = 1.0
@@ -76,16 +76,23 @@ func _draw():
var start := (time_offset / pixels_per_unit) - 1 var start := (time_offset / pixels_per_unit) - 1
var end := start + (screen_width / pixels_per_unit) + 2 var end := start + (screen_width / pixels_per_unit) + 2
# measure lines
for t in range(int(start), int(end) + 1): for t in range(int(start), int(end) + 1):
var x := t * pixels_per_unit - time_offset var x := t * pixels_per_unit - time_offset
if x >= 0 and x <= screen_width: if x >= 0 and x <= screen_width:
if t % 4 == 0: if t % 4 == 0:
draw_line(Vector2(x, 28.0), Vector2(x, size.y), primary_color, 2) draw_line(Vector2(x, 28.0), Vector2(x, size.y), primary_color, line_thickness)
var time = t * int(time_interval) var time = t * int(time_interval)
draw_string(font, Vector2(x - time_label_offset_x, time_label_offset_y), format_time_ms_minutes(time), HORIZONTAL_ALIGNMENT_CENTER, -1, font_size, primary_color) draw_string(font, Vector2(x - time_label_offset_x, time_label_offset_y), format_time_ms_minutes(time), HORIZONTAL_ALIGNMENT_CENTER, -1, font_size, primary_color)
else: else:
draw_line(Vector2(x, 28.0), Vector2(x, timeline_y), secondary_color, 1) draw_line(Vector2(x, 28.0), Vector2(x, timeline_y), secondary_color, line_thickness)
pass
# track lines
for t in track_list.get_children():
draw_line(Vector2(0.0, t.global_position.y - global_position.y + t.size.y), Vector2(size.x, t.global_position.y - global_position.y + t.size.y), secondary_color, line_thickness)
pass
queue_sort() queue_sort()
pass pass

View File

@@ -162,6 +162,7 @@ custom_minimum_size = Vector2(128, 74)
[node name="Timeline" parent="VBoxContainer/VSplitContainer/HSplitContainer" node_paths=PackedStringArray("track_list") instance=ExtResource("7_xu70y")] [node name="Timeline" parent="VBoxContainer/VSplitContainer/HSplitContainer" node_paths=PackedStringArray("track_list") instance=ExtResource("7_xu70y")]
layout_mode = 2 layout_mode = 2
track_list = NodePath("../LeftDock/Tracks/VBoxContainer/TrackList") track_list = NodePath("../LeftDock/Tracks/VBoxContainer/TrackList")
line_thickness = 1
[node name="BottomDock" type="Container" parent="VBoxContainer/VSplitContainer"] [node name="BottomDock" type="Container" parent="VBoxContainer/VSplitContainer"]
visible = false visible = false

View File

@@ -13,6 +13,7 @@ grow_vertical = 2
size_flags_horizontal = 3 size_flags_horizontal = 3
size_flags_vertical = 3 size_flags_vertical = 3
script = ExtResource("1_h2mev") script = ExtResource("1_h2mev")
line_thickness = 1
end_time = 4000.0 end_time = 4000.0
[node name="ScrollBar" type="HScrollBar" parent="."] [node name="ScrollBar" type="HScrollBar" parent="."]