Rollercoaster-Derivatives/addons/easy_charts/control_charts/plotters/function_plotter.gd

33 lines
839 B
GDScript

extends Control
class_name FunctionPlotter
var function: Function
var x_domain: Dictionary
var y_domain: Dictionary
func _init(function: Function) -> void:
self.function = function
func _ready() -> void:
set_process_input(get_chart_properties().interactive)
func update_values(x_domain: Dictionary, y_domain: Dictionary) -> void:
self.visible = self.function.get_visibility()
if not self.function.get_visibility():
return
self.x_domain = x_domain
self.y_domain = y_domain
queue_redraw()
func _draw() -> void:
return
func get_box() -> Rect2:
return get_parent().get_parent().get_plot_box()
func get_chart_properties() -> ChartProperties:
return get_parent().get_parent().chart_properties
func get_relative_position(position: Vector2) -> Vector2:
return position - global_position