#include "canvas/utils.h"
#ifdef __APPLE__
+#include <gdk/gdk.h>
#include "canvas/nsglview.h"
#endif
Gdk::SCROLL_MASK | Gdk::ENTER_NOTIFY_MASK | Gdk::LEAVE_NOTIFY_MASK |
Gdk::KEY_PRESS_MASK | Gdk::KEY_RELEASE_MASK);
-#ifdef __APPLE__NotYetToDueGdkForeignViewMousePatch // XXX
+#ifdef ARDOUR_CANVAS_NSVIEW_TAG // patched gdkquartz.h
# ifndef __ppc__ // would need to flip RGBA <> RGBA
_nsglview = nsglview_create (this);
# endif
#include <OpenGL/gl.h>
#import <Cocoa/Cocoa.h>
+#ifndef ARDOUR_CANVAS_NSVIEW_TAG
+#define ARDOUR_CANVAS_NSVIEW_TAG 0xa2d0c2c4
+#endif
+
__attribute__ ((visibility ("hidden")))
@interface ArdourCanvasOpenGLView : NSOpenGLView
{
ArdourCanvas::GtkCanvas *gtkcanvas;
}
+@property (readwrite) NSInteger tag;
+
- (id) initWithFrame:(NSRect)frame;
- (void) dealloc;
-- (void) set_ardour_canvas:(ArdourCanvas::GtkCanvas*)c;
+- (void) setArdourCanvas:(ArdourCanvas::GtkCanvas*)c;
- (void) reshape;
- (void) drawRect:(NSRect)rect;
- (BOOL) canBecomeKeyWindow:(id)sender;
@implementation ArdourCanvasOpenGLView
+@synthesize tag = _tag;
+
- (id) initWithFrame:(NSRect)frame
{
NSOpenGLPixelFormatAttribute pixelAttribs[16] = {
_height = 0;
if (self) {
-
+ self.tag = ARDOUR_CANVAS_NSVIEW_TAG;
[[self openGLContext] makeCurrentContext];
glClearColor (0.0f, 0.0f, 0.0f, 0.0f);
glDisable (GL_DEPTH_TEST);
[super dealloc];
}
-- (void) set_ardour_canvas:(ArdourCanvas::GtkCanvas*)c
+- (void) setArdourCanvas:(ArdourCanvas::GtkCanvas*)c
{
gtkcanvas = c;
}
if (!gl_view) {
return 0;
}
- [gl_view set_ardour_canvas:canvas];
+ [gl_view setArdourCanvas:canvas];
return gl_view;
}