#include <trackcanvas.h>
Inherits BC_SubWindow.

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 ¢er_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) |
| ResourcePixmap * | create_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 | |
| MWindow * | mwindow |
| MWindowGUI * | gui |
| ArrayList< ResourcePixmap * > | resource_pixmaps |
| BC_Pixmap * | background_pixmap |
| BC_DragWindow * | drag_popup |
| BC_Pixmap * | transition_pixmap |
| EditHandles * | edit_handles |
| BC_Pixmap * | keyframe_pixmap |
| BC_Pixmap * | camerakeyframe_pixmap |
| BC_Pixmap * | modekeyframe_pixmap |
| BC_Pixmap * | pankeyframe_pixmap |
| BC_Pixmap * | projectorkeyframe_pixmap |
| BC_Pixmap * | maskkeyframe_pixmap |
| int | active |
| int | drag_scroll |
| int | hourglass_enabled |
| VFrame * | temp_picon |
| Timer * | resource_timer |
| ArrayList< PluginOn * > | plugin_on_toggles |
| ArrayList< PluginShow * > | plugin_show_toggles |
| ResourceThread * | resource_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 |
Definition at line 26 of file trackcanvas.h.
| TrackCanvas::TrackCanvas | ( | MWindow * | mwindow, | |
| MWindowGUI * | gui | |||
| ) |
Definition at line 62 of file trackcanvas.C.
References active, auto_selected, current_end, drag_popup, drag_scroll, handle_pixel, handle_selected, hourglass_enabled, region_selected, resource_thread, resource_timer, selection_midpoint1, selection_midpoint2, selection_type, temp_picon, translate_selected, and which_handle.
| TrackCanvas::~TrackCanvas | ( | ) |
Definition at line 88 of file trackcanvas.C.
References background_pixmap, camerakeyframe_pixmap, edit_handles, keyframe_pixmap, maskkeyframe_pixmap, modekeyframe_pixmap, pankeyframe_pixmap, projectorkeyframe_pixmap, resource_pixmaps, resource_timer, temp_picon, ArrayList< TYPE >::total, and ArrayList< TYPE >::values.
| int TrackCanvas::create_objects | ( | ) |
Definition at line 105 of file trackcanvas.C.
References background_pixmap, BC_WindowBase::BC_Pixmap, Theme::camerakeyframe_data, camerakeyframe_pixmap, ResourceThread::create_objects(), draw(), edit_handles, BC_WindowBase::flash(), BC_WindowBase::get_h(), BC_WindowBase::get_w(), Theme::keyframe_data, keyframe_pixmap, Theme::maskkeyframe_data, maskkeyframe_pixmap, Theme::modekeyframe_data, modekeyframe_pixmap, mwindow, Theme::pankeyframe_data, pankeyframe_pixmap, Theme::projectorkeyframe_data, projectorkeyframe_pixmap, resource_thread, MWindow::theme, and update_cursor().
Referenced by MWindowGUI::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().

| int TrackCanvas::drag_start_event | ( | ) | [virtual] |
Reimplemented from BC_WindowBase.
Definition at line 271 of file trackcanvas.C.
References MainSession::current_operation, do_edits(), do_plugins(), BC_WindowBase::get_drag_x(), BC_WindowBase::get_drag_y(), BC_WindowBase::is_event_win(), mwindow, MWindow::session, and update_cursor().

| int TrackCanvas::drag_motion_event | ( | ) | [virtual] |
Reimplemented from BC_WindowBase.
Definition at line 308 of file trackcanvas.C.
References drag_motion().

| int TrackCanvas::cursor_leave_event | ( | ) | [virtual] |
| int TrackCanvas::drag_stop_event | ( | ) | [virtual] |
Reimplemented from BC_WindowBase.
Definition at line 323 of file trackcanvas.C.
References drag_popup, and drag_stop().

| int TrackCanvas::keypress_event | ( | ) | [virtual] |
| void TrackCanvas::draw_resources | ( | int | mode = 0, |
|
| int | indexes_only = 0, |
|||
| Asset * | index_asset = 0 | |||
| ) |
Definition at line 804 of file trackcanvas.C.
References background_pixmap, create_pixmap(), ResourcePixmap::draw_data(), BC_Pixmap::draw_pixmap(), edit_dimensions(), ResourcePixmap::edit_id, MWindow::edl, List< TYPE >::first, BC_WindowBase::get_h(), get_pixmap_size(), BC_WindowBase::get_w(), hourglass_enabled, mwindow, NEXT, Asset::path, BC_WindowBase::pixmap, ResourcePixmap::pixmap_h, ResourcePixmap::pixmap_w, ResourcePixmap::pixmap_x, ArrayList< TYPE >::remove(), ArrayList< TYPE >::remove_all_objects(), ResourcePixmap::resize(), resource_pixmaps, resource_thread, resource_timer, EDL::session, EDLSession::show_assets, ResourceThread::start_draw(), ResourceThread::stop_draw(), BC_WindowBase::stop_hourglass(), ArrayList< TYPE >::total, TRACK_AUDIO, EDL::tracks, Timer::update(), ArrayList< TYPE >::values, MWindowGUI::visible(), and ResourcePixmap::visible.
Referenced by draw(), and draw_indexes().

| void TrackCanvas::draw_highlight_rectangle | ( | int | x, | |
| int | y, | |||
| int | w, | |||
| int | h | |||
| ) |
Definition at line 1306 of file trackcanvas.C.
References BLACK, BLUE, BC_WindowBase::draw_rectangle(), BC_WindowBase::draw_triangle_left(), BC_WindowBase::draw_triangle_right(), BC_WindowBase::get_h(), BC_WindowBase::get_w(), GREEN, MIN, RED, BC_WindowBase::set_color(), BC_WindowBase::set_inverse(), BC_WindowBase::set_opaque(), WHITE, and YELLOW.
Referenced by draw_highlighting(), and draw_paste_destination().

| void TrackCanvas::draw_highlight_insertion | ( | int | x, | |
| int | y, | |||
| int | w, | |||
| int | h | |||
| ) |
Definition at line 1347 of file trackcanvas.C.
References BLACK, BLUE, BC_WindowBase::draw_rectangle(), BC_WindowBase::draw_triangle_left(), BC_WindowBase::draw_triangle_right(), BC_WindowBase::get_h(), BC_WindowBase::get_w(), GREEN, MIN, RED, BC_WindowBase::set_color(), BC_WindowBase::set_inverse(), BC_WindowBase::set_opaque(), WHITE, and YELLOW.
Referenced by draw_paste_destination().

| void TrackCanvas::draw_playback_cursor | ( | ) |
| void TrackCanvas::draw_highlighting | ( | ) |
Definition at line 1460 of file trackcanvas.C.
References MainSession::current_operation, Track::data_type, MainSession::drag_plugin, BC_WindowBase::draw_box(), draw_highlight_rectangle(), draw_paste_destination(), edit_dimensions(), MainSession::edit_highlighted, MWindow::edl, EDLSession::frame_rate, BC_WindowBase::get_h(), Track::get_length(), LocalSession::get_selectionend(), LocalSession::get_selectionstart(), get_transition_coords(), BC_WindowBase::get_w(), BC_WindowBase::h, List< TYPE >::last, Edit::length, EDL::local_session, mwindow, plugin_dimensions(), MainSession::plugin_highlighted, MainSession::pluginset_highlighted, Units::round(), EDLSession::sample_rate, EDL::session, MWindow::session, Units::to_int64(), TRACK_AUDIO, track_dimensions(), Track::track_h, MainSession::track_highlighted, TRACK_VIDEO, Track::track_w, LocalSession::view_start, MWindowGUI::visible(), BC_WindowBase::w, BC_WindowBase::x, BC_WindowBase::y, and LocalSession::zoom_sample.
Referenced by draw_overlays().
