X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fcanvas.h;h=53f6ee8b1b4f9672c92c41495ca3f4a78d94a677;hp=2fd2a23e32dc4b5a3a571789cd52e529ee0e7dbe;hb=b290324e67a45e465f2d0ad5d0ee662b64343339;hpb=aa9374b902768107ebda0cffe739325ffed372f6 diff --git a/cinelerra-5.1/cinelerra/canvas.h b/cinelerra-5.1/cinelerra/canvas.h index 2fd2a23e..53f6ee8b 100644 --- a/cinelerra-5.1/cinelerra/canvas.h +++ b/cinelerra-5.1/cinelerra/canvas.h @@ -44,11 +44,9 @@ public: void calculate_sizes(float aspect_ratio, int output_w, int output_h, float zoom, int &w, int &h); -// Lock access to the canvas pointer. -// Must be called before get_canvas or locking the canvas. - void lock_canvas(const char *location); +// Lock canvas pointer and window + BC_WindowBase *lock_canvas(const char *loc); void unlock_canvas(); - int is_locked(); void create_objects(EDL *edl); void set_cursor(int cursor); @@ -88,6 +86,7 @@ public: virtual void toggle_controls() {} virtual int get_cwindow_controls() { return 0; } virtual int get_fullscreen(); + virtual int get_clear_color() { return 0; } virtual void set_fullscreen(int value); int cursor_leave_event_base(BC_WindowBase *caller); @@ -173,6 +172,9 @@ public: int get_buttonpress(); // Gets whatever video surface is enabled BC_WindowBase* get_canvas(); +// draw_refresh, with/without locks + int refresh(int flush); + int redraw(int flush); // The owner of the canvas BC_WindowBase *subwindow; @@ -215,7 +217,8 @@ public: private: void get_scrollbars(EDL *edl, int &canvas_x, int &canvas_y, int &canvas_w, int &canvas_h); - Mutex *canvas_lock; +// Lock access to the canvas pointer. + Condition *canvas_lock; };