TrackCanvas Class Reference

#include <trackcanvas.h>

Inherits BC_SubWindow.

Collaboration diagram for TrackCanvas:

Collaboration graph
[legend]

Public Member Functions

 TrackCanvas (MWindow *mwindow, MWindowGUI *gui)
 ~TrackCanvas ()
int create_objects ()
void resize_event ()
int drag_start_event ()
int drag_motion_event ()
int cursor_leave_event ()
int drag_stop_event ()
int keypress_event ()
void draw_resources (int mode=0, int indexes_only=0, Asset *index_asset=0)
void draw_highlight_rectangle (int x, int y, int w, int h)
void draw_highlight_insertion (int x, int y, int w, int h)
void draw_playback_cursor ()
void draw_highlighting ()
void draw_overlays ()
void update_handles ()
void get_transition_coords (int64_t &x, int64_t &y, int64_t &w, int64_t &h)
void get_handle_coords (Edit *edit, int64_t &x, int64_t &y, int64_t &w, int64_t &h, int side)
void draw_title (Edit *edit, int64_t edit_x, int64_t edit_y, int64_t edit_w, int64_t edit_h)
void draw_automation ()
void draw_inout_points ()
void draw_auto (Auto *current, int x, int y, int center_pixel, int zoom_track, int color)
void draw_floatauto (Auto *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 (Auto *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)
void draw_floatline (int center_pixel, FloatAuto *previous, FloatAuto *current, FloatAutos *autos, double unit_start, double zoom_units, double yscale, int ax, int ay, int ax2, int ay2, int color, int autogrouptype)
int test_floatline (int center_pixel, FloatAutos *autos, double unit_start, double zoom_units, double yscale, int x1, int x2, int cursor_x, int cursor_y, int buttonpress, int autogrouptype)
void draw_toggleline (int center_pixel, int ax, int ay, int ax2, int ay2, int color)
int test_toggleline (Autos *autos, int center_pixel, int x1, int y1, int x2, int y2, int cursor_x, int cursor_y, int buttonpress)
int do_keyframes (int cursor_x, int cursor_y, int draw, int buttonpress, int &new_cursor, int &update_cursor, int &rerender)
int do_float_autos (Track *track, Autos *autos, int cursor_x, int cursor_y, int draw, int buttonpress, int color, Auto *&auto_instance, int autogrouptype)
int do_toggle_autos (Track *track, Autos *autos, int cursor_x, int cursor_y, int draw, int buttonpress, int color, Auto *&auto_instance)
int do_autos (Track *track, Autos *autos, int cursor_x, int cursor_y, int draw, int buttonpress, BC_Pixmap *pixmap, Auto *&auto_instance)
int do_plugin_autos (Track *track, int cursor_x, int cursor_y, int draw, int buttonpress, Plugin *&keyframe_plugin, KeyFrame *&keyframe_instance)
void calculate_viewport (Track *track, double &view_start, double &unit_start, double &view_end, double &unit_end, double &yscale, int &center_pixel, double &zoom_sample, double &zoom_units)
float percentage_to_value (float percentage, int is_toggle, Auto *reference, int autogrouptype)
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 synchronize_autos (float change, Track *skip, FloatAuto *fauto, int fill_gangs)
void draw_brender_start ()
void draw_loop_points ()
void draw_transitions ()
void draw_drag_handle ()
void draw_plugins ()
void refresh_plugintoggles ()
void update_edit_handles (Edit *edit, int64_t edit_x, int64_t edit_y, int64_t edit_w, int64_t edit_h)
void update_transitions ()
void update_keyframe_handles (Track *track)
void draw (int mode=0, int hide_cursor=1)
void draw_indexes (Asset *asset)
void edit_dimensions (Edit *edit, int64_t &x, int64_t &y, int64_t &w, int64_t &h)
void track_dimensions (Track *track, int64_t &x, int64_t &y, int64_t &w, int64_t &h)
void plugin_dimensions (Plugin *plugin, int64_t &x, int64_t &y, int64_t &w, int64_t &h)
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)
ResourcePixmapcreate_pixmap (Edit *edit, int64_t edit_x, int64_t pixmap_x, int64_t pixmap_w, int64_t pixmap_h)
int set_index_file (int flash, Asset *asset)
void 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)
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_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_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)
int button_press_event ()
int button_release_event ()
int cursor_motion_event ()
int activate ()
int deactivate ()
int repeat_event (int64_t duration)
void start_dragscroll ()
void stop_dragscroll ()
int start_selection (double position)
int drag_motion ()
int drag_stop ()
int64_t get_drop_position (int *is_insertion, Edit *moved_edit, int64_t moved_edit_length)
void end_edithandle_selection ()
void end_pluginhandle_selection ()
double time_visible ()
void update_drag_handle ()
int update_drag_edit ()
int update_drag_floatauto (int cursor_x, int cursor_y)
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 update_drag_caption ()
int get_title_h ()
int resource_h ()
void test_timer ()
int button_release ()
int draw_playback_cursor (int pixel, int flash=1)
int draw_loop_point (int64_t position, int flash)
void draw_paste_destination ()
int draw_floating_handle (int flash)

Data Fields

MWindowmwindow
MWindowGUIgui
ArrayList< ResourcePixmap * > resource_pixmaps
BC_Pixmapbackground_pixmap
BC_DragWindowdrag_popup
BC_Pixmaptransition_pixmap
EditHandlesedit_handles
BC_Pixmapkeyframe_pixmap
BC_Pixmapcamerakeyframe_pixmap
BC_Pixmapmodekeyframe_pixmap
BC_Pixmappankeyframe_pixmap
BC_Pixmapprojectorkeyframe_pixmap
BC_Pixmapmaskkeyframe_pixmap
int active
int drag_scroll
int hourglass_enabled
VFrametemp_picon
Timerresource_timer
ArrayList< PluginOn * > plugin_on_toggles
ArrayList< PluginShow * > plugin_show_toggles
ResourceThreadresource_thread

Private Member Functions

int end_translation ()
int auto_reposition (int &cursor_x, int &cursor_y, int64_t cursor_position)
int update_selection (int64_t cursor_position)
int update_handle_selection (int64_t cursor_position)

Private Attributes

int auto_selected
int translate_selected
int handle_selected
int which_handle
int64_t handle_oldposition
int64_t handle_position
int handle_pixel
int handle_mode
int current_end
double selection_midpoint1
double selection_midpoint2
int region_selected
int selection_type

Detailed Description

Definition at line 26 of file trackcanvas.h.


Constructor & Destructor Documentation

TrackCanvas::TrackCanvas ( MWindow mwindow,
MWindowGUI gui 
)

TrackCanvas::~TrackCanvas (  ) 


Member Function Documentation

int TrackCanvas::create_objects (  ) 

void TrackCanvas::resize_event (  ) 

Definition at line 123 of file trackcanvas.C.

References draw(), and BC_WindowBase::flash().

Referenced by MWindowGUI::resize_event().

Here is the call graph for this function:

int TrackCanvas::drag_start_event (  )  [virtual]

int TrackCanvas::drag_motion_event (  )  [virtual]

Reimplemented from BC_WindowBase.

Definition at line 308 of file trackcanvas.C.

References drag_motion().

Here is the call graph for this function:

int TrackCanvas::cursor_leave_event (  )  [virtual]

Reimplemented from BC_WindowBase.

Definition at line 313 of file trackcanvas.C.

int TrackCanvas::drag_stop_event (  )  [virtual]

Reimplemented from BC_WindowBase.

Definition at line 323 of file trackcanvas.C.

References drag_popup, and drag_stop().

Here is the call graph for this function:

int TrackCanvas::keypress_event (  )  [virtual]

Reimplemented from BC_WindowBase.

Definition at line 131 of file trackcanvas.C.

void TrackCanvas::draw_resources ( int  mode = 0,
int  indexes_only = 0,
Asset index_asset = 0 
)

void TrackCanvas::draw_highlight_rectangle ( int  x,
int  y,
int  w,
int  h 
)

void TrackCanvas::draw_highlight_insertion ( int  x,
int  y,
int  w,
int  h 
)

void TrackCanvas::draw_playback_cursor (  ) 

Definition at line 1405 of file trackcanvas.C.

Referenced by draw_overlays().

void TrackCanvas::draw_highlighting (  )