canvas_subwindow = 0;
canvas_fullscreen = 0;
is_processing = 0;
+ is_fullscreen = 0;
cursor_inside = 0;
}
canvas_menu->use_vwindow();
}
+int Canvas::get_fullscreen()
+{
+ return is_fullscreen;
+}
+
+void Canvas::set_fullscreen(int value)
+{
+ is_fullscreen = value;
+}
+
// Get dimensions given a zoom
void Canvas::calculate_sizes(float aspect_ratio,
int output_w,
int x, y, w, h;
wdw->get_fullscreen_geometry(x, y, w, h);
- if( canvas_fullscreen )
- {
+ if( canvas_fullscreen ) {
if( x != canvas_fullscreen->get_x() ||
y != canvas_fullscreen->get_y() ||
w != canvas_fullscreen->get_w() ||
canvas_fullscreen = 0;
}
}
- if(!canvas_fullscreen)
- {
+ if( !canvas_fullscreen )
canvas_fullscreen = new CanvasFullScreen(this, w, h);
- }
- else
- {
- canvas_fullscreen->reposition_window(x, y);
- canvas_fullscreen->show_window();
- }
+ canvas_fullscreen->show_window();
+ canvas_fullscreen->sync_display();
+ canvas_fullscreen->reposition_window(x, y);
}
-
- if(!video_on)
- {
+ if( !video_on ) {
get_canvas()->lock_window("Canvas::create_canvas 1");
draw_refresh();
get_canvas()->unlock_window();
}
- if(video_on) get_canvas()->start_video();
+ if( video_on )
+ get_canvas()->start_video();
get_canvas()->lock_window("Canvas::create_canvas 2");
get_canvas()->focus();
{
}
+CanvasZoomSize::CanvasZoomSize(Canvas *canvas)
+ : BC_MenuItem(_("Zoom..."))
+{
+ this->canvas = canvas;
+}
+
+CanvasSizeSubMenu::CanvasSizeSubMenu(CanvasZoomSize *zoom_size)
+{
+ this->zoom_size = zoom_size;
+}
+
void CanvasPopup::create_objects()
{
add_item(new BC_MenuItem("-"));
add_item(new CanvasFullScreenItem(canvas));
- add_item(new CanvasPopupSize(canvas, _("Zoom 25%"), 0.25));
- add_item(new CanvasPopupSize(canvas, _("Zoom 33%"), 0.33));
- add_item(new CanvasPopupSize(canvas, _("Zoom 50%"), 0.5));
- add_item(new CanvasPopupSize(canvas, _("Zoom 75%"), 0.75));
- add_item(new CanvasPopupSize(canvas, _("Zoom 100%"), 1.0));
- add_item(new CanvasPopupSize(canvas, _("Zoom 150%"), 1.5));
- add_item(new CanvasPopupSize(canvas, _("Zoom 200%"), 2.0));
- add_item(new CanvasPopupSize(canvas, _("Zoom 300%"), 3.0));
- add_item(new CanvasPopupSize(canvas, _("Zoom 400%"), 4.0));
+
+ CanvasZoomSize *zoom_size = new CanvasZoomSize(canvas);
+ add_item(zoom_size);
+ CanvasSizeSubMenu *submenu = new CanvasSizeSubMenu(zoom_size);
+ zoom_size->add_submenu(submenu);
+
+ submenu->add_submenuitem(new CanvasPopupSize(canvas, _("Zoom 25%"), 0.25));
+ submenu->add_submenuitem(new CanvasPopupSize(canvas, _("Zoom 33%"), 0.33));
+ submenu->add_submenuitem(new CanvasPopupSize(canvas, _("Zoom 50%"), 0.5));
+ submenu->add_submenuitem(new CanvasPopupSize(canvas, _("Zoom 75%"), 0.75));
+ submenu->add_submenuitem(new CanvasPopupSize(canvas, _("Zoom 100%"), 1.0));
+ submenu->add_submenuitem(new CanvasPopupSize(canvas, _("Zoom 150%"), 1.5));
+ submenu->add_submenuitem(new CanvasPopupSize(canvas, _("Zoom 200%"), 2.0));
+ submenu->add_submenuitem(new CanvasPopupSize(canvas, _("Zoom 300%"), 3.0));
+ submenu->add_submenuitem(new CanvasPopupSize(canvas, _("Zoom 400%"), 4.0));
}
void CanvasPopup::use_cwindow()
add_item(new CanvasPopupAuto(canvas));
add_item(new CanvasPopupResetCamera(canvas));
add_item(new CanvasPopupResetProjector(canvas));
+ add_item(new CanvasPopupCameraKeyframe(canvas));
+ add_item(new CanvasPopupProjectorKeyframe(canvas));
add_item(toggle_controls = new CanvasToggleControls(canvas));
}
CanvasPopupResetCamera::CanvasPopupResetCamera(Canvas *canvas)
- : BC_MenuItem(_("Reset camera"), "F11", KEY_F11)
+ : BC_MenuItem(_("Reset camera"), _("F11"), KEY_F11)
{
this->canvas = canvas;
}
return 1;
}
-
-
CanvasPopupResetProjector::CanvasPopupResetProjector(Canvas *canvas)
- : BC_MenuItem(_("Reset projector"), "F12", KEY_F12)
+ : BC_MenuItem(_("Reset projector"), _("F12"), KEY_F12)
{
this->canvas = canvas;
}
}
+CanvasPopupCameraKeyframe::CanvasPopupCameraKeyframe(Canvas *canvas)
+ : BC_MenuItem(_("Camera keyframe"), _("Shift-F11"), KEY_F11)
+{
+ this->canvas = canvas;
+ set_shift(1);
+}
+int CanvasPopupCameraKeyframe::handle_event()
+{
+ canvas->camera_keyframe();
+ return 1;
+}
+
+CanvasPopupProjectorKeyframe::CanvasPopupProjectorKeyframe(Canvas *canvas)
+ : BC_MenuItem(_("Projector keyframe"), _("Shift-F12"), KEY_F12)
+{
+ this->canvas = canvas;
+ set_shift(1);
+}
+int CanvasPopupProjectorKeyframe::handle_event()
+{
+ canvas->projector_keyframe();
+ return 1;
+}
+
+
CanvasPopupResetTranslation::CanvasPopupResetTranslation(Canvas *canvas)
: BC_MenuItem(_("Reset translation"))