summaryrefslogtreecommitdiffstats
path: root/editor/animation_track_editor.h
diff options
context:
space:
mode:
Diffstat (limited to 'editor/animation_track_editor.h')
-rw-r--r--editor/animation_track_editor.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/editor/animation_track_editor.h b/editor/animation_track_editor.h
index d0da7b0062..f449b51b81 100644
--- a/editor/animation_track_editor.h
+++ b/editor/animation_track_editor.h
@@ -182,6 +182,9 @@ class AnimationTimelineEdit : public Range {
virtual void gui_input(const Ref<InputEvent> &p_event) override;
void _track_added(int p_track);
+ float _get_zoom_scale(double p_zoom_value) const;
+ void _scroll_to_start();
+
protected:
static void _bind_methods();
void _notification(int p_what);
@@ -197,6 +200,7 @@ public:
void set_track_edit(AnimationTrackEdit *p_track_edit);
void set_zoom(Range *p_zoom);
Range *get_zoom() const { return zoom; }
+ void auto_fit();
void set_play_position(float p_pos);
float get_play_position() const;
@@ -286,9 +290,11 @@ class AnimationTrackEdit : public Control {
mutable int dropping_at = 0;
float insert_at_pos = 0.0f;
bool moving_selection_attempt = false;
+ bool moving_selection_effective = false;
+ float moving_selection_pivot = 0.0f;
+ float moving_selection_mouse_begin_x = 0.0f;
int select_single_attempt = -1;
bool moving_selection = false;
- float moving_selection_from_ofs = 0.0f;
bool in_group = false;
AnimationTrackEditor *editor = nullptr;
@@ -404,6 +410,8 @@ class AnimationTrackEditor : public VBoxContainer {
Button *snap = nullptr;
Button *bezier_edit_icon = nullptr;
OptionButton *snap_mode = nullptr;
+ Button *auto_fit = nullptr;
+ Button *auto_fit_bezier = nullptr;
Button *imported_anim_warning = nullptr;
void _show_imported_anim_warning();
@@ -579,18 +587,21 @@ class AnimationTrackEditor : public VBoxContainer {
void _cleanup_animation(Ref<Animation> p_animation);
- void _anim_duplicate_keys(float p_ofs, int p_track);
+ void _anim_duplicate_keys(float p_ofs, bool p_ofs_valid, int p_track);
void _anim_copy_keys(bool p_cut);
bool _is_track_compatible(int p_target_track_idx, Variant::Type p_source_value_type, Animation::TrackType p_source_track_type);
- void _anim_paste_keys(float p_ofs, int p_track);
+ void _anim_paste_keys(float p_ofs, bool p_ofs_valid, int p_track);
void _view_group_toggle();
Button *view_group = nullptr;
Button *selected_filter = nullptr;
+ void _auto_fit();
+ void _auto_fit_bezier();
+
void _selection_changed();
ConfirmationDialog *track_copy_dialog = nullptr;