#include "curve_editor_plugin.h"
#include "canvas_item_editor_plugin.h"
#include "core/input/input.h"
#include "core/math/geometry_2d.h"
#include "core/os/keyboard.h"
#include "editor/editor_interface.h"
#include "editor/editor_node.h"
#include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/editor_undo_redo_manager.h"
#include "editor/gui/editor_spin_slider.h"
#include "editor/themes/editor_scale.h"
#include "scene/gui/flow_container.h"
#include "scene/gui/menu_button.h"
#include "scene/gui/popup_menu.h"
#include "scene/gui/separator.h"
#include "scene/resources/image_texture.h"
CurveEdit::CurveEdit() { … }
void CurveEdit::_bind_methods() { … }
void CurveEdit::set_curve(Ref<Curve> p_curve) { … }
Ref<Curve> CurveEdit::get_curve() { … }
void CurveEdit::set_snap_enabled(bool p_enabled) { … }
void CurveEdit::set_snap_count(int p_snap_count) { … }
Size2 CurveEdit::get_minimum_size() const { … }
void CurveEdit::_notification(int p_what) { … }
void CurveEdit::gui_input(const Ref<InputEvent> &p_event) { … }
void CurveEdit::use_preset(int p_preset_id) { … }
void CurveEdit::_curve_changed() { … }
int CurveEdit::get_point_at(Vector2 p_pos) const { … }
CurveEdit::TangentIndex CurveEdit::get_tangent_at(Vector2 p_pos) const { … }
float CurveEdit::get_offset_without_collision(int p_current_index, float p_offset, bool p_prioritize_right) { … }
void CurveEdit::add_point(Vector2 p_pos) { … }
void CurveEdit::remove_point(int p_index) { … }
void CurveEdit::set_point_position(int p_index, Vector2 p_pos) { … }
void CurveEdit::set_point_tangents(int p_index, float p_left, float p_right) { … }
void CurveEdit::set_point_left_tangent(int p_index, float p_tangent) { … }
void CurveEdit::set_point_right_tangent(int p_index, float p_tangent) { … }
void CurveEdit::toggle_linear(int p_index, TangentIndex p_tangent) { … }
void CurveEdit::set_selected_index(int p_index) { … }
void CurveEdit::update_view_transform() { … }
Vector2 CurveEdit::get_tangent_view_pos(int p_index, TangentIndex p_tangent) const { … }
Vector2 CurveEdit::get_view_pos(Vector2 p_world_pos) const { … }
Vector2 CurveEdit::get_world_pos(Vector2 p_view_pos) const { … }
template <typename T>
static void plot_curve_accurate(const Curve &curve, float step, Vector2 scaling, T plot_func) { … }
struct CanvasItemPlotCurve { … };
void CurveEdit::_redraw() { … }
const int CurveEditor::DEFAULT_SNAP = …;
void CurveEditor::_set_snap_enabled(bool p_enabled) { … }
void CurveEditor::_set_snap_count(int p_snap_count) { … }
void CurveEditor::_on_preset_item_selected(int p_preset_id) { … }
void CurveEditor::set_curve(const Ref<Curve> &p_curve) { … }
void CurveEditor::_notification(int p_what) { … }
CurveEditor::CurveEditor() { … }
bool EditorInspectorPluginCurve::can_handle(Object *p_object) { … }
void EditorInspectorPluginCurve::parse_begin(Object *p_object) { … }
CurveEditorPlugin::CurveEditorPlugin() { … }
bool CurvePreviewGenerator::handles(const String &p_type) const { … }
Ref<Texture2D> CurvePreviewGenerator::generate(const Ref<Resource> &p_from, const Size2 &p_size, Dictionary &p_metadata) const { … }