Canvas Class Reference

#include <canvas.h>

Inherited by CWindowCanvas, RecordMonitorCanvas, and VWindowCanvas.

Collaboration diagram for Canvas:

Collaboration graph
[legend]

Public Member Functions

 Canvas (MWindow *mwindow, BC_WindowBase *subwindow, int x, int y, int w, int h, int output_w, int output_h, int use_scrollbars, int use_cwindow=0, int use_rwindow=0, int use_vwindow=0)
virtual ~Canvas ()
void reset ()
void calculate_sizes (float aspect_ratio, int output_w, int output_h, float zoom, int &w, int &h)
void lock_canvas (char *location)
void unlock_canvas ()
int is_locked ()
int create_objects (EDL *edl)
void set_cursor (int cursor)
void start_video ()
void stop_video ()
void start_single ()
void stop_single ()
void start_fullscreen ()
void stop_fullscreen ()
void create_canvas ()
virtual void status_event ()
virtual void reset_camera ()
virtual void reset_projector ()
virtual void zoom_resize_window (float percentage)
virtual void zoom_auto ()
virtual int cursor_leave_event ()
virtual int cursor_enter_event ()
virtual int button_release_event ()
virtual int button_press_event ()
virtual int cursor_motion_event ()
virtual void draw_overlays ()
virtual void toggle_controls ()
virtual int get_cwindow_controls ()
virtual int get_fullscreen ()
virtual void set_fullscreen (int value)
int cursor_leave_event_base (BC_WindowBase *caller)
int cursor_enter_event_base (BC_WindowBase *caller)
int button_press_event_base (BC_WindowBase *caller)
int keypress_event (BC_WindowBase *caller)
void get_transfers (EDL *edl, float &output_x1, float &output_y1, float &output_x2, float &output_y2, float &canvas_x1, float &canvas_y1, float &canvas_x2, float &canvas_y2, int canvas_w=-1, int canvas_h=-1)
void reposition_window (EDL *edl, int x, int y, int w, int h)
virtual void reset_translation ()
virtual void close_source ()
virtual void update_zoom (int x, int y, float zoom)
void check_boundaries (EDL *edl, int &x, int &y, float &zoom)
void update_scrollbars ()
virtual int get_xscroll ()
virtual int get_yscroll ()
virtual float get_zoom ()
virtual void draw_refresh ()
float get_x_offset (EDL *edl, int single_channel, float zoom_x, float conformed_w, float conformed_h)
float get_y_offset (EDL *edl, int single_channel, float zoom_y, float conformed_w, float conformed_h)
void get_zooms (EDL *edl, int single_channel, float &zoom_x, float &zoom_y, float &conformed_w, float &conformed_h)
void output_to_canvas (EDL *edl, int single_channel, float &x, float &y)
void canvas_to_output (EDL *edl, int single_channel, float &x, float &y)
virtual int get_output_w (EDL *edl)
virtual int get_output_h (EDL *edl)
int scrollbars_exist ()
int get_cursor_x ()
int get_cursor_y ()
int get_buttonpress ()
BC_WindowBaseget_canvas ()

Data Fields

BC_WindowBasesubwindow
CanvasOutputcanvas_subwindow
CanvasFullScreencanvas_fullscreen
CanvasXScrollxscroll
CanvasYScrollyscroll
CanvasPopupcanvas_menu
CanvasFullScreenPopupfullscreen_menu
int x
int y
int w
int h
int use_scrollbars
int use_cwindow
int use_rwindow
int use_vwindow
int output_w
int output_h
VFramerefresh_frame
int w_needed
int h_needed
int w_visible
int h_visible
int is_processing
int cursor_inside
int view_x
int view_y
int view_w
int view_h
int root_w
int root_h
MWindowmwindow

Private Member Functions

void get_scrollbars (EDL *edl, int &canvas_x, int &canvas_y, int &canvas_w, int &canvas_h)

Private Attributes

Mutexcanvas_lock

Detailed Description

Definition at line 19 of file canvas.h.


Constructor & Destructor Documentation

Canvas::Canvas ( MWindow mwindow,
BC_WindowBase subwindow,
int  x,
int  y,
int  w,
int  h,
int  output_w,
int  output_h,
int  use_scrollbars,
int  use_cwindow = 0,
int  use_rwindow = 0,
int  use_vwindow = 0 
)

Definition at line 15 of file canvas.C.

References canvas_lock, BC_WindowBase::get_root_h(), BC_WindowBase::get_root_w(), reset(), root_h, and root_w.

Here is the call graph for this function:

Canvas::~Canvas (  )  [virtual]


Member Function Documentation

void Canvas::reset (  ) 

void Canvas::calculate_sizes ( float  aspect_ratio,
int  output_w,
int  output_h,
float  zoom,
int &  w,
int &  h 
)

void Canvas::lock_canvas ( char *  location  ) 

void Canvas::unlock_canvas (  ) 

int Canvas::is_locked (  ) 

Definition at line 84 of file canvas.C.

References canvas_lock, and Mutex::is_locked().

Here is the call graph for this function:

int Canvas::create_objects ( EDL edl  ) 

void Canvas::set_cursor ( int  cursor  ) 

void Canvas::start_video (  ) 

Definition at line 686 of file canvas.C.

References get_canvas(), BC_WindowBase::start_video(), and status_event().

Referenced by VDeviceX11::open_output(), and VDeviceX11::start_playback().

Here is the call graph for this function:

void Canvas::stop_video (  ) 

Definition at line 695 of file canvas.C.

References get_canvas(), status_event(), and BC_WindowBase::stop_video().

Referenced by VDeviceX11::close_all(), and VDeviceX11::stop_playback().

Here is the call graph for this function:

void Canvas::start_single (  ) 

Definition at line 674 of file canvas.C.

References is_processing, and status_event().

Referenced by VDeviceX11::open_output().

Here is the call graph for this function:

void Canvas::stop_single (  ) 

Definition at line 680 of file canvas.C.

References is_processing, and status_event().

Referenced by VDeviceX11::close_all().

Here is the call graph for this function:

void Canvas::start_fullscreen (  ) 

Definition at line 705 of file canvas.C.

References create_canvas(), and set_fullscreen().

Referenced by CanvasFullScreenItem::handle_event(), VWindowGUI::keypress_event(), CWindowGUI::keypress_event(), and keypress_event().

Here is the call graph for this function:

void Canvas::stop_fullscreen (  ) 

Definition at line 711 of file canvas.C.

References create_canvas(), and set_fullscreen().

Referenced by CanvasSubWindowItem::handle_event(), VWindowGUI::keypress_event(), CWindowGUI::keypress_event(), and keypress_event().

Here is the call graph for this function:

void Canvas::create_canvas (  ) 

virtual void Canvas::status_event (  )  [inline, virtual]

Reimplemented in CWindowCanvas.

Definition at line 69 of file canvas.h.

Referenced by start_single(), start_video(), stop_single(), and stop_video().

virtual void Canvas::reset_camera (  )  [inline, virtual]

Reimplemented in CWindowCanvas.

Definition at line 72 of file canvas.h.

Referenced by CanvasPopupResetCamera::handle_event().

virtual void Canvas::reset_projector (  )  [inline, virtual]

Reimplemented in CWindowCanvas.

Definition at line 73 of file canvas.h.

Referenced by CanvasPopupResetProjector::handle_event().

virtual void Canvas::zoom_resize_window ( float  percentage  )  [inline, virtual]

Reimplemented in CWindowCanvas, RecordMonitorCanvas, and VWindowCanvas.

Definition at line 74 of file canvas.h.

Referenced by CanvasPopupSize::handle_event().

virtual void Canvas::zoom_auto (  )  [inline, virtual]

Reimplemented in CWindowCanvas.

Definition at line 75 of file canvas.h.

Referenced by CanvasPopupAuto::handle_event().

virtual int Canvas::cursor_leave_event (  )  [inline, virtual]

Reimplemented in CWindowCanvas.

Definition at line 76 of file canvas.h.

Referenced by cursor_leave_event_base().

virtual int Canvas::cursor_enter_event (  )  [inline, virtual]

Reimplemented in CWindowCanvas, and RecordMonitorCanvas.

Definition at line 77 of file canvas.h.

Referenced by cursor_enter_event_base().

virtual int Canvas::button_release_event (  )  [inline, virtual]

int Canvas::button_press_event (  )  [virtual]

virtual int Canvas::cursor_motion_event (  )  [inline, virtual]

virtual void Canvas::draw_overlays (  )  [inline, virtual]

Reimplemented in CWindowCanvas, and VWindowCanvas.

Definition at line 81 of file canvas.h.

virtual void Canvas::toggle_controls (  )  [inline, virtual]

Reimplemented in CWindowCanvas.

Definition at line 82 of file canvas.h.

Referenced by CanvasToggleControls::handle_event().

virtual int Canvas::get_cwindow_controls (  )  [inline, virtual]

Reimplemented in CWindowCanvas.

Definition at line 83 of file canvas.h.

Referenced by CanvasToggleControls::handle_event().

virtual int Canvas::get_fullscreen (  )  [inline, virtual]

Reimplemented in CWindowCanvas, RecordMonitorCanvas, and VWindowCanvas.

Definition at line 84 of file canvas.h.

Referenced by button_press_event(), create_canvas(), get_canvas(), and keypress_event().

virtual void Canvas::set_fullscreen ( int  value  )  [inline, virtual]

Reimplemented in CWindowCanvas, RecordMonitorCanvas, and VWindowCanvas.

Definition at line 85 of file canvas.h.

Referenced by start_fullscreen(), and stop_fullscreen().

int Canvas::cursor_leave_event_base ( BC_WindowBase caller  ) 

int Canvas::cursor_enter_event_base ( BC_WindowBase caller  ) 

int Canvas::button_press_event_base ( BC_WindowBase caller  ) 

int Canvas::keypress_event ( BC_WindowBase caller  ) 

void Canvas::get_transfers ( EDL edl,
float &  output_x1,
float &  output_y1,
float &  output_x2,
float &  output_y2,
float &  canvas_x1,
float &  canvas_y1,
float &  canvas_x2,
f