diff options
author | Robin Gareus <robin@gareus.org> | 2017-07-18 21:34:03 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-07-18 21:34:03 +0200 |
commit | 9a0a2a29b53a7d8b74d64039a3a594e54262ef29 (patch) | |
tree | 6cc25a73dcd24cde164a599664e7f79b9d35c981 /libs/canvas/canvas.cc | |
parent | 8bc7154130674b56b568f4cca11b4a2ba22dbf40 (diff) |
Fix NSGLView invalidation
Diffstat (limited to 'libs/canvas/canvas.cc')
-rw-r--r-- | libs/canvas/canvas.cc | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/libs/canvas/canvas.cc b/libs/canvas/canvas.cc index 3c89ebd6e2..8456d44d82 100644 --- a/libs/canvas/canvas.cc +++ b/libs/canvas/canvas.cc @@ -873,7 +873,6 @@ GtkCanvas::on_expose_event (GdkEventExpose* ev) } #ifdef __APPLE__ if (_nsglview) { - Gtkmm2ext::nsglview_queue_draw (_nsglview, ev->area.x, ev->area.y, ev->area.width, ev->area.height); return true; } #endif @@ -1201,6 +1200,30 @@ GtkCanvas::on_unmap () #endif } +void +GtkCanvas::queue_draw() +{ +#ifdef __APPLE__ + if (_nsglview) { + Gtkmm2ext::nsglview_queue_draw (_nsglview, 0, 0, get_width (), get_height ()); + return; + } +#endif + Gtk::Widget::queue_draw (); +} + +void +GtkCanvas::queue_draw_area (int x, int y, int width, int height) +{ +#ifdef __APPLE__ + if (_nsglview) { + Gtkmm2ext::nsglview_queue_draw (_nsglview, x, y, width, height); + return; + } +#endif + Gtk::Widget::queue_draw_area (x, y, width, height); +} + /** Called to request a redraw of our canvas. * @param area Area to redraw, in window coordinates. */ |