27 #ifndef __CANVAS_CANVAS_H__
28 #define __CANVAS_CANVAS_H__
36 #include <cairomm/context.h>
37 #include <cairomm/surface.h>
97 void render (
Rect const &, Cairo::RefPtr<Cairo::Context>
const &)
const;
168 void dump (std::ostream&)
const;
258 void render (Cairo::RefPtr<Cairo::Context>
const & ctx, cairo_rectangle_t* r);
std::ostream & operator<<(std::ostream &, const ArdourCanvas::Canvas &)
virtual Rect visible_area() const =0
std::string render_indent() const
virtual bool get_mouse_position(Duple &winpos) const =0
virtual Coord height() const =0
uint32_t _queue_draw_frozen
void render(Rect const &, Cairo::RefPtr< Cairo::Context > const &) const
virtual void start_tooltip_timeout(Item *)
void canvas_to_window(Coord cx, Coord cy, Coord &wx, Coord &wy)
void item_moved(Item *, Rect)
virtual void focus(Item *)=0
sigc::signal< void, Duple const & > MouseMotion
virtual void pick_current_item(int state)=0
virtual void re_enter()=0
gint64 get_last_render_start_timestamp() const
virtual void unfocus(Item *)=0
virtual Coord width() const =0
bool _use_intermediate_surface
virtual void item_shown_or_hidden(Item *)
virtual bool have_grab() const
virtual void stop_tooltip_timeout()
void item_changed(Item *, Rect)
virtual void item_going_away(Item *, Rect)
void use_intermediate_surface(bool yn=true)
virtual void request_redraw(Rect const &)=0
Rect compute_draw_item_area(Item *, Rect)
void scroll_to(Coord x, Coord y)
Duple canvas_to_window(Duple const &, bool rounded=true) const
void item_visual_property_changed(Item *)
Duple window_to_canvas(Duple const &) const
void dump(std::ostream &) const
void add_scroller(ScrollGroup &i)
static void set_tooltip_timeout(uint32_t msecs)
virtual void request_size(Duple)=0
virtual bool grab_can_translate() const
void prepare_for_render(Rect const &) const
gint64 _last_render_start_timestamp
void queue_draw_item_area(Item *, Rect)
void set_debug_render(bool yn)
static uint32_t tooltip_timeout_msecs
void set_background_color(Gtkmm2ext::Color)
gint64 get_microseconds_since_render_start() const
sigc::signal< void > PreRender
bool debug_render() const
virtual void pick_current_item(Duple const &, int state)=0
virtual void grab(Item *)=0
void window_to_canvas(Coord wx, Coord wy, Coord &cx, Coord &cy)
Gtkmm2ext::Color background_color() const
virtual void queue_resize()=0
Duple clamp_to_window(Duple const &winpos, Duple border=Duple())
virtual Glib::RefPtr< Pango::Context > get_pango_context()=0
std::list< ScrollGroup * > scrollers
Gtkmm2ext::Color _bg_color
std::string indent() const
void on_size_request(Gtk::Requisition *)
This is a default handler for the signal signal_size_request().
Gtk::Adjustment & hadjustment
Gtk::Adjustment & vadjustment
GtkCanvasViewport(Gtk::Adjustment &, Gtk::Adjustment &)
void set_single_exposure(bool s)
void deliver_enter_leave(Duple const &point, int state)
void on_style_changed(const Glib::RefPtr< Gtk::Style > &)
void get_items_enclosing(Duple const &point, std::list< Item const * > &enclosing_items)
void prepare_for_render() const
bool on_visibility_notify_event(GdkEventVisibility *)
This is a default handler for the signal signal_visibility_notify_event().
bool on_touch_update_event(GdkEventTouch *event)
void queue_draw_area(int x, int y, int width, int height)
Item * current_tooltip_item
bool on_touch_begin_event(GdkEventTouch *)
bool really_start_tooltip_timeout()
void request_redraw(Rect const &)
bool deliver_event(GdkEvent *)
void item_shown_or_hidden(Item *)
Gtk::Window * tooltip_window
bool motion_notify_handler(GdkEventMotion *)
Cairo::RefPtr< Cairo::Surface > _canvas_image
uint32_t background_color()
bool on_touch_end_event(GdkEventTouch *)
Glib::RefPtr< Pango::Context > get_pango_context()
bool on_enter_notify_event(GdkEventCrossing *)
This is a default handler for the signal signal_enter_notify_event().
bool on_key_press_event(GdkEventKey *)
This is a default handler for the signal signal_key_press_event().
void on_map()
This is a default handler for the signal signal_map().
bool on_scroll_event(GdkEventScroll *)
This is a default handler for the signal signal_scroll_event().
void on_unmap()
This is a default handler for the signal signal_unmap().
void item_going_away(Item *, Rect)
void use_nsglview(bool retina=true)
bool on_motion_notify_event(GdkEventMotion *)
This is a default handler for the signal signal_motion_notify_event().
bool on_expose_event(GdkEventExpose *)
This is a default handler for the signal signal_expose_event().
void on_realize()
This is a default handler for the signal signal_realize().
sigc::connection tooltip_timeout_connection
std::map< int, Item * > _touched_item
void start_tooltip_timeout(Item *)
Gtk::Label * tooltip_label
bool on_button_press_event(GdkEventButton *)
This is a default handler for the signal signal_button_press_event().
bool on_button_release_event(GdkEventButton *event)
This is a default handler for the signal signal_button_release_event().
bool on_key_release_event(GdkEventKey *)
This is a default handler for the signal signal_key_release_event().
bool on_leave_notify_event(GdkEventCrossing *)
This is a default handler for the signal signal_leave_notify_event().
bool get_mouse_position(Duple &winpos) const
void pick_current_item(int state)
bool button_handler(GdkEventButton *)
bool send_leave_event(Item const *, double, double) const
void render(Cairo::RefPtr< Cairo::Context > const &ctx, cairo_rectangle_t *r)
Rect visible_area() const
void pick_current_item(Duple const &, int state)
void stop_tooltip_timeout()
bool grab_can_translate() const
void on_size_allocate(Gtk::Allocation &)
This is a default handler for the signal signal_size_allocate().