X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Ftrackcanvas.h;h=d08b420a0163f0859b5403a52a6dc20cbff591cb;hb=22c6251d37911a11e322bf7518e6a992ea0bb6c7;hp=88d764160922b615b28eeb18be04d9e252d5621a;hpb=e23393f4ff9f772ac8f47926cf490dc87a630ed4;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/trackcanvas.h b/cinelerra-5.1/cinelerra/trackcanvas.h index 88d76416..d08b420a 100644 --- a/cinelerra-5.1/cinelerra/trackcanvas.h +++ b/cinelerra-5.1/cinelerra/trackcanvas.h @@ -71,6 +71,8 @@ public: void draw_highlighting(); void draw_keyframe_reticle(); int draw_hairline(Auto *auto_keyframe, int color, int show); + 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 @@ -99,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, @@ -235,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(); @@ -277,6 +245,10 @@ public: void get_pixmap_size(Edit *edit, int64_t edit_x, int64_t edit_w, int64_t &pixmap_x, int64_t &pixmap_w, int64_t &pixmap_h); ResourcePixmap* create_pixmap(Edit *edit, int64_t edit_x, int64_t pixmap_x, int64_t pixmap_w, int64_t pixmap_h); void update_cursor(int flush); + void draw_selected(int x, int y, int w, int h); + int arrow_mode(); + int ibeam_mode(); + // Get edit and handle the cursor is over int do_edit_handles(int cursor_x, int cursor_y, @@ -305,7 +277,8 @@ public: int do_tracks(int cursor_x, int cursor_y, int button_press); - int test_track_group(EDL *group, Track *first_track); + 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, @@ -355,13 +328,12 @@ public: int update_drag_toggleauto(int cursor_x, int cursor_y); int update_drag_auto(int cursor_x, int cursor_y); int update_drag_pluginauto(int cursor_x, int cursor_y); - void show_message(Auto *current, int show_curve_type, const char *fmt, ...); + void show_message(Auto *current, int box_color, const char *fmt, ...); // Update status bar to reflect drag operation void update_drag_caption(); int get_title_h(); - int resource_h(); // Display hourglass if timer expired void test_timer();