18 lines
417 B
GDScript3
Raw Normal View History

2024-11-05 15:03:40 -07:00
@tool
class_name Arc extends Control
const BASE_POINTS := 64
@export var gap_angle := 0.1
@export var width := 1.0
@export var antialiased := true
@export var color: Color
func _draw() -> void:
var radius: float = minf(size.x, size.y) / 2.0
var point_count: int = int(BASE_POINTS * (TAU - gap_angle) / TAU)
draw_arc(
Vector2(radius, radius), radius, gap_angle, TAU, point_count, color, width, antialiased
)