void render (Rect const &, Cairo::RefPtr<Cairo::Context> const &) const;
+ void prepare_for_render (Rect const &) const;
+
+ gint64 get_last_render_start_timestamp () const { return _last_render_start_timestamp; }
+
+ gint64 get_microseconds_since_render_start () const;
+
/** @return root group */
Item* root () {
return &_root;
}
- void set_background_color (ArdourCanvas::Color);
- ArdourCanvas::Color background_color() const { return _bg_color; }
+ void set_background_color (Gtkmm2ext::Color);
+ Gtkmm2ext::Color background_color() const { return _bg_color; }
/** Called when an item is being destroyed */
virtual void item_going_away (Item *, Rect) {}
virtual Glib::RefPtr<Pango::Context> get_pango_context() = 0;
protected:
- Root _root;
- Color _bg_color;
+ Root _root;
+ Gtkmm2ext::Color _bg_color;
+
+ mutable gint64 _last_render_start_timestamp;
static uint32_t tooltip_timeout_msecs;
void start_tooltip_timeout (Item*);
void stop_tooltip_timeout ();
+ void queue_draw ();
+ void queue_draw_area (int x, int y, int width, int height);
+
Glib::RefPtr<Pango::Context> get_pango_context();
void render (Cairo::RefPtr<Cairo::Context> const & ctx, cairo_rectangle_t* r)
Canvas::render (rect, ctx);
}
+ void prepare_for_render () const;
+
uint32_t background_color() { return Canvas::background_color (); }
protected: