canvas = new VWindowCanvas(mwindow, this);
canvas->create_objects(mwindow->edl);
- canvas->use_vwindow();
char vsplash_path[BCTEXTLEN];
int vsplash_len = sizeof(vsplash_path)-1;
snprintf(vsplash_path, vsplash_len, "%s/vsplash.png", File::get_cindat_path());
this->gui = gui;
}
+void VWindowCanvas::create_objects(EDL *edl)
+{
+ Canvas::create_objects(edl);
+ canvas_menu->add_item(new CanvasPopupRemoveSource(this));
+}
+
void VWindowCanvas::zoom_resize_window(float percentage)
{
EDL *edl = gui->vwindow->get_edl();
void VWindowCanvas::draw_refresh(int flush)
{
- EDL *edl = gui->vwindow->get_edl();
-
if( !get_canvas()->get_video_on() ) {
int cw = get_canvas()->get_w(), ch = get_canvas()->get_h();
get_canvas()->clear_box(0, 0, cw, ch);
- int ow = edl ? get_output_w(edl) : 0;
- int oh = edl ? get_output_h(edl) : 0;
- if( ow > 0 && oh > 0 && refresh_frame ) {
+ }
+ EDL *edl = gui->vwindow->get_edl();
+ if( refresh_frame && edl ) {
+ int ow = get_output_w(edl), oh = get_output_h(edl);
+ if( ow > 0 && oh > 0 ) {
float in_x1, in_y1, in_x2, in_y2;
float out_x1, out_y1, out_x2, out_y2;
get_transfers(edl,
(int)(in_x2 - in_x1), (int)(in_y2 - in_y1),
0);
}
+ }
+ if( !get_canvas()->get_video_on() ) {
draw_overlays();
get_canvas()->flash(flush);
}