Allow to selectively use NSGLView Canvas
Various GdkEvents are not yet handled correctly, eg. unpacking a widget from its container does not unmap it, nor are remaining widgets in the contained re-positioned (size allocation does not change, nor does the mapping). This affects eg. Mixbus Strips
This commit is contained in:
parent
533a93daa6
commit
85b5741081
@ -401,7 +401,13 @@ GtkCanvas::GtkCanvas ()
|
|||||||
add_events (Gdk::BUTTON_PRESS_MASK | Gdk::BUTTON_RELEASE_MASK | Gdk::POINTER_MOTION_MASK |
|
add_events (Gdk::BUTTON_PRESS_MASK | Gdk::BUTTON_RELEASE_MASK | Gdk::POINTER_MOTION_MASK |
|
||||||
Gdk::SCROLL_MASK | Gdk::ENTER_NOTIFY_MASK | Gdk::LEAVE_NOTIFY_MASK |
|
Gdk::SCROLL_MASK | Gdk::ENTER_NOTIFY_MASK | Gdk::LEAVE_NOTIFY_MASK |
|
||||||
Gdk::KEY_PRESS_MASK | Gdk::KEY_RELEASE_MASK);
|
Gdk::KEY_PRESS_MASK | Gdk::KEY_RELEASE_MASK);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
GtkCanvas::use_nsglview ()
|
||||||
|
{
|
||||||
|
assert (!_nsglview);
|
||||||
|
assert (!is_realized());
|
||||||
#ifdef ARDOUR_CANVAS_NSVIEW_TAG // patched gdkquartz.h
|
#ifdef ARDOUR_CANVAS_NSVIEW_TAG // patched gdkquartz.h
|
||||||
# ifndef __ppc__ // would need to flip RGBA <> RGBA
|
# ifndef __ppc__ // would need to flip RGBA <> RGBA
|
||||||
_nsglview = Gtkmm2ext::nsglview_create (this);
|
_nsglview = Gtkmm2ext::nsglview_create (this);
|
||||||
|
@ -181,6 +181,8 @@ public:
|
|||||||
GtkCanvas ();
|
GtkCanvas ();
|
||||||
~GtkCanvas () { _in_dtor = true ; }
|
~GtkCanvas () { _in_dtor = true ; }
|
||||||
|
|
||||||
|
void use_nsglview ();
|
||||||
|
|
||||||
void request_redraw (Rect const &);
|
void request_redraw (Rect const &);
|
||||||
void request_size (Duple);
|
void request_size (Duple);
|
||||||
void grab (Item *);
|
void grab (Item *);
|
||||||
|
Loading…
Reference in New Issue
Block a user