X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Ftrackcanvas.h;h=15f8db630e6233c13506fde87251866c11c8cc38;hp=490b67b151419ecca3607097cf103c4bd29d6928;hb=4d76ed2e81154119f8335aeb70724468e08dbb94;hpb=3a7f190f52e534135f81fa84ec7be5a5beac257b diff --git a/cinelerra-5.1/cinelerra/trackcanvas.h b/cinelerra-5.1/cinelerra/trackcanvas.h index 490b67b1..15f8db63 100644 --- a/cinelerra-5.1/cinelerra/trackcanvas.h +++ b/cinelerra-5.1/cinelerra/trackcanvas.h @@ -71,7 +71,8 @@ public: void draw_highlighting(); void draw_keyframe_reticle(); int draw_hairline(Auto *auto_keyframe, int color, int show); - void draw_bline(int x1, int y1, int x2, int y2, BC_Pixmap *pixmap=0); + void draw_speed_highlight(); + void draw_speed_track(Track *track); // User can either call draw or draw_overlays to copy a fresh // canvas and just draw the overlays over it @@ -100,41 +101,18 @@ public: void draw_automation(); void draw_hard_edges(); void draw_inout_points(); - void draw_auto(Auto *current, - int x, - int y, - int center_pixel, - int zoom_track); + void draw_auto(Auto *current, int x, int y, + int center_pixel, int data_h); void draw_floatauto(FloatAuto *current, - int x, - int y, - int in_x, - int in_y, - int out_x, - int out_y, - int center_pixel, - int zoom_track, - int color); - int test_auto(Auto *current, - int x, - int y, - int center_pixel, - int zoom_track, - int cursor_x, - int cursor_y, - int buttonpress); - int test_floatauto(FloatAuto *current, - int x, - int y, - int in_x, - int in_y, - int out_x, - int out_y, - int center_pixel, - int zoom_track, - int cursor_x, - int cursor_y, - int buttonpress, + int x_offset, int center_pixel, int data_h, int color, + double unit_start, double zoom_units, double yscale, + int autogrouptype); + int test_auto(Auto *current, int x, int y, + int center_pixel, int data_h, + int cursor_x, int cursor_y, int buttonpress); + int test_floatauto(FloatAuto *current, int buttonpress, + int center_pixel, int data_h, int cursor_x, int cursor_y, + double unit_start, double zoom_units, double yscale, int autogrouptype); void draw_floatline(int center_pixel, FloatAuto *previous, @@ -236,24 +214,13 @@ public: // if reference is nonzero and a FloatAuto, // the result is made relative to the value in reference. float percentage_to_value(float percentage, - int is_toggle, - Auto *reference, - int autogrouptype); - + int is_toggle, Auto *reference, int autogrouptype); // Get x and y of a FloatAuto relative to center_pixel - void calculate_auto_position(double *x, - double *y, - double *in_x, - double *in_y, - double *out_x, - double *out_y, - Auto *current, - double unit_start, - double zoom_units, - double yscale, - int autogrouptype); - - void fill_ganged_autos(int all, float change, Track *skip, FloatAuto *fauto); + void calculate_auto_position(int edge, double *x, double *y, + double *in_x, double *in_y, double *out_x, double *out_y, + Auto *current, double unit_start, double zoom_units, + double yscale, int autogrouptype); + void fill_ganged_autos(int gang, float change, Track *skip, FloatAuto *fauto); void update_ganged_autos(float change, Track *skip, FloatAuto *fauto); void clear_ganged_autos(); @@ -283,53 +250,28 @@ public: int ibeam_mode(); // Get edit and handle the cursor is over - int do_edit_handles(int cursor_x, - int cursor_y, - int button_press, - int &rerender, - int &update_overlay, - int &new_cursor, - int &update_cursor); + int do_edit_handles(int cursor_x, int cursor_y, int button_press, + int &rerender, int &update_overlay, int &new_cursor, int &update_cursor); // Get plugin and handle the cursor if over - int do_plugin_handles(int cursor_x, - int cursor_y, - int button_press, - int &rerender, - int &update_overlay, - int &new_cursor, - int &update_cursor); + int do_plugin_handles(int cursor_x, int cursor_y, int button_press, + int &rerender, int &update_overlay, int &new_cursor, int &update_cursor); + int do_transition_handles(int cursor_x, int cursor_y, int button_press, + int &rerender, int &update_overlay, int &new_cursor, int &update_cursor); + int drag_transition_handle(double position); // Get edit the cursor is over - int do_edits(int cursor_x, - int cursor_y, - int button_press, - int drag_start, - int &redraw, - int &rerender, - int &new_cursor, - int &update_cursor); + int do_edits(int cursor_x, int cursor_y, int button_press, + int drag_start, int &redraw, int &rerender, int &new_cursor, int &update_cursor); int do_tracks(int cursor_x, int cursor_y, int button_press); int test_track_group(EDL *group, Track *first_track, double &pos); int edit_intersects(Track *track, Edit *src_edit, double &pos); int test_resources(int cursor_x, int cursor_y); - int do_plugins(int cursor_x, - int cursor_y, - int drag_start, - int button_press, - int &redraw, - int &rerender); - int do_transitions(int cursor_x, - int cursor_y, - int button_press, - int &new_cursor, - int &update_cursor); - void draw_cropped_line(int x1, - int y1, - int x2, - int y2, - int min_y, - int max_y); + int do_plugins(int cursor_x, int cursor_y, int drag_start, int button_press, + int &redraw, int &rerender); + int do_transitions(int cursor_x, int cursor_y, int button_press, + int &new_cursor, int &update_cursor); + void draw_cropped_line(int x1, int y1, int x2, int y2, int min_y, int max_y); int button_press_event(); int button_release_event(); int cursor_update(int in_motion); @@ -352,6 +294,7 @@ public: int64_t drop_plugin_position(PluginSet *plugin_set, Plugin *moved_plugin); void end_edithandle_selection(); void end_pluginhandle_selection(); + void end_transnhandle_selection(); // Number of seconds spanned by the trackcanvas double time_visible(); void update_drag_handle(); @@ -365,9 +308,9 @@ public: // Update status bar to reflect drag operation void update_drag_caption(); + void drag_edit_select(Edit *over_edit, int select, int draw); int get_title_h(); - int resource_h(); // Display hourglass if timer expired void test_timer();