From: Robin Gareus Date: Mon, 20 Mar 2017 15:31:01 +0000 (+0100) Subject: NSGLView: default to hidden, add API to un/hide X-Git-Tag: 5.9~559 X-Git-Url: https://main.carlh.net/gitweb/?a=commitdiff_plain;h=c0828792f0877690bd29bb7f98ec0e6577112d30;p=ardour.git NSGLView: default to hidden, add API to un/hide --- diff --git a/libs/gtkmm2ext/gtkmm2ext/nsglview.h b/libs/gtkmm2ext/gtkmm2ext/nsglview.h index 8a175f3322..5b579f1a47 100644 --- a/libs/gtkmm2ext/gtkmm2ext/nsglview.h +++ b/libs/gtkmm2ext/gtkmm2ext/nsglview.h @@ -1,3 +1,21 @@ +/* + * Copyright (C) 2017 Robin Gareus + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + #ifndef __CANVAS_NSGLVIEW_H__ #define __CANVAS_NSGLVIEW_H__ @@ -11,5 +29,6 @@ namespace Gtkmm2ext void nsglview_overlay (void*, GdkWindow*); void nsglview_resize (void*, int x, int y, int w, int h); void nsglview_queue_draw (void*, int x, int y, int w, int h); + void nsglview_set_visible (void*, bool); } #endif diff --git a/libs/gtkmm2ext/nsglview.mm b/libs/gtkmm2ext/nsglview.mm index a9842935e7..9f6ae629a1 100644 --- a/libs/gtkmm2ext/nsglview.mm +++ b/libs/gtkmm2ext/nsglview.mm @@ -258,6 +258,7 @@ Gtkmm2ext::nsglview_create (Gtkmm2ext::CairoCanvas* canvas) return 0; } [gl_view setCairoCanvas:canvas]; + [gl_view setHidden:YES]; return gl_view; } @@ -282,3 +283,14 @@ Gtkmm2ext::nsglview_queue_draw (void* glv, int x, int y, int w, int h) ArdourCanvasOpenGLView* gl_view = (ArdourCanvasOpenGLView*) glv; [gl_view setNeedsDisplayInRect:NSMakeRect(x, y, w, h)]; } + +void +Gtkmm2ext::nsglview_set_visible (void* glv, bool vis) +{ + ArdourCanvasOpenGLView* gl_view = (ArdourCanvasOpenGLView*) glv; + if (vis) { + [gl_view setHidden:NO]; + } else { + [gl_view setHidden:YES]; + } +}