From c61e0ecd2e256842ea7b41c82dae240702ee72b1 Mon Sep 17 00:00:00 2001 From: falkTX Date: Sat, 29 Sep 2018 22:19:51 +0200 Subject: [PATCH] Delete yet another file, assume pugl with GL --- dgl/src/Window.cpp | 1 - dgl/src/pugl/common.h | 121 ----------------------------------- dgl/src/pugl/pugl.h | 93 ++++++++++++++++++++++----- dgl/src/pugl/pugl_internal.h | 7 -- dgl/src/pugl/pugl_osx.m | 19 +----- dgl/src/pugl/pugl_win.cpp | 19 ------ dgl/src/pugl/pugl_x11.c | 86 ------------------------- 7 files changed, 78 insertions(+), 268 deletions(-) delete mode 100644 dgl/src/pugl/common.h diff --git a/dgl/src/Window.cpp b/dgl/src/Window.cpp index c03ee758..f809777b 100644 --- a/dgl/src/Window.cpp +++ b/dgl/src/Window.cpp @@ -204,7 +204,6 @@ struct Window::PrivateData { return; } - puglInitContextType(fView, PUGL_GL); puglInitUserResizable(fView, fResizable); puglInitWindowSize(fView, static_cast(fWidth), static_cast(fHeight)); diff --git a/dgl/src/pugl/common.h b/dgl/src/pugl/common.h deleted file mode 100644 index afda61e0..00000000 --- a/dgl/src/pugl/common.h +++ /dev/null @@ -1,121 +0,0 @@ -/* - Copyright 2014 David Robillard - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - - THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -*/ - -#ifndef PUGL_COMMON_H_INCLUDED -#define PUGL_COMMON_H_INCLUDED - -#ifdef __cplusplus -extern "C" { -#endif - -/** - @addtogroup pugl - @{ -*/ - -/** - A Pugl view. -*/ -typedef struct PuglViewImpl PuglView; - -/** - A native window handle. - - On X11, this is a Window. - On OSX, this is an NSView*. - On Windows, this is a HWND. -*/ -typedef intptr_t PuglNativeWindow; - -/** - Handle for opaque user data. -*/ -typedef void* PuglHandle; - -/** - Return status code. -*/ -typedef enum { - PUGL_SUCCESS = 0 -} PuglStatus; - -/** - Drawing context type. -*/ -typedef enum { - PUGL_GL, - PUGL_CAIRO -} PuglContextType; - -/** - Convenience symbols for ASCII control characters. -*/ -typedef enum { - PUGL_CHAR_BACKSPACE = 0x08, - PUGL_CHAR_ESCAPE = 0x1B, - PUGL_CHAR_DELETE = 0x7F -} PuglChar; - -/** - Keyboard modifier flags. -*/ -typedef enum { - PUGL_MOD_SHIFT = 1 << 0, /**< Shift key */ - PUGL_MOD_CTRL = 1 << 1, /**< Control key */ - PUGL_MOD_ALT = 1 << 2, /**< Alt/Option key */ - PUGL_MOD_SUPER = 1 << 3 /**< Mod4/Command/Windows key */ -} PuglMod; - -/** - Special (non-Unicode) keyboard keys. -*/ -typedef enum { - PUGL_KEY_F1 = 1, - PUGL_KEY_F2, - PUGL_KEY_F3, - PUGL_KEY_F4, - PUGL_KEY_F5, - PUGL_KEY_F6, - PUGL_KEY_F7, - PUGL_KEY_F8, - PUGL_KEY_F9, - PUGL_KEY_F10, - PUGL_KEY_F11, - PUGL_KEY_F12, - PUGL_KEY_LEFT, - PUGL_KEY_UP, - PUGL_KEY_RIGHT, - PUGL_KEY_DOWN, - PUGL_KEY_PAGE_UP, - PUGL_KEY_PAGE_DOWN, - PUGL_KEY_HOME, - PUGL_KEY_END, - PUGL_KEY_INSERT, - PUGL_KEY_SHIFT, - PUGL_KEY_CTRL, - PUGL_KEY_ALT, - PUGL_KEY_SUPER -} PuglKey; - -/** - @} -*/ - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -#endif /* PUGL_COMMON_H_INCLUDED */ diff --git a/dgl/src/pugl/pugl.h b/dgl/src/pugl/pugl.h index 31ccb80b..09846463 100644 --- a/dgl/src/pugl/pugl.h +++ b/dgl/src/pugl/pugl.h @@ -23,8 +23,6 @@ #include -#include "pugl/common.h" - /* This API is pure portable C and contains no platform specific elements, or even a GL dependency. However, unfortunately GL includes vary across @@ -57,6 +55,82 @@ extern "C" { @{ */ +/** + A Pugl view. +*/ +typedef struct PuglViewImpl PuglView; + +/** + A native window handle. + + On X11, this is a Window. + On OSX, this is an NSView*. + On Windows, this is a HWND. +*/ +typedef intptr_t PuglNativeWindow; + +/** + Return status code. +*/ +typedef enum { + PUGL_SUCCESS = 0 +} PuglStatus; + +/** + Convenience symbols for ASCII control characters. +*/ +typedef enum { + PUGL_CHAR_BACKSPACE = 0x08, + PUGL_CHAR_ESCAPE = 0x1B, + PUGL_CHAR_DELETE = 0x7F +} PuglChar; + +/** + Special (non-Unicode) keyboard keys. +*/ +typedef enum { + PUGL_KEY_F1 = 1, + PUGL_KEY_F2, + PUGL_KEY_F3, + PUGL_KEY_F4, + PUGL_KEY_F5, + PUGL_KEY_F6, + PUGL_KEY_F7, + PUGL_KEY_F8, + PUGL_KEY_F9, + PUGL_KEY_F10, + PUGL_KEY_F11, + PUGL_KEY_F12, + PUGL_KEY_LEFT, + PUGL_KEY_UP, + PUGL_KEY_RIGHT, + PUGL_KEY_DOWN, + PUGL_KEY_PAGE_UP, + PUGL_KEY_PAGE_DOWN, + PUGL_KEY_HOME, + PUGL_KEY_END, + PUGL_KEY_INSERT, + PUGL_KEY_SHIFT, + PUGL_KEY_CTRL, + PUGL_KEY_ALT, + PUGL_KEY_SUPER +} PuglKey; + +/** + Keyboard modifier flags. +*/ +typedef enum { + PUGL_MOD_SHIFT = 1 << 0, /**< Shift key */ + PUGL_MOD_CTRL = 1 << 1, /**< Control key */ + PUGL_MOD_ALT = 1 << 2, /**< Alt/Option key */ + PUGL_MOD_SUPER = 1 << 3 /**< Mod4/Command/Windows key */ +} PuglMod; + +/** + Handle for opaque user data. +*/ +typedef void* PuglHandle; + /** A function called when the window is closed. */ @@ -188,12 +262,6 @@ puglInitUserResizable(PuglView* view, bool resizable); PUGL_API void puglInitTransientFor(PuglView* view, uintptr_t parent); -/** - Set the context type before creating a window. -*/ -PUGL_API void -puglInitContextType(PuglView* view, PuglContextType type); - /** @} */ @@ -252,15 +320,6 @@ puglSetHandle(PuglView* view, PuglHandle handle); PUGL_API PuglHandle puglGetHandle(PuglView* view); -/** - Get the drawing context. - - For PUGL_GL contexts, this is unused and returns NULL. - For PUGL_CAIRO contexts, this returns a pointer to a cairo_t. -*/ -PUGL_API void* -puglGetContext(PuglView* view); - /** Return the timestamp (if any) of the currently-processing event. */ diff --git a/dgl/src/pugl/pugl_internal.h b/dgl/src/pugl/pugl_internal.h index 7918f5ff..c84d77bd 100644 --- a/dgl/src/pugl/pugl_internal.h +++ b/dgl/src/pugl/pugl_internal.h @@ -58,7 +58,6 @@ struct PuglViewImpl { PuglInternals* impl; PuglNativeWindow parent; - PuglContextType ctx_type; uintptr_t transient_parent; int width; @@ -128,12 +127,6 @@ puglInitTransientFor(PuglView* view, uintptr_t parent) view->transient_parent = parent; } -void -puglInitContextType(PuglView* view, PuglContextType type) -{ - view->ctx_type = type; -} - void puglSetHandle(PuglView* view, PuglHandle handle) { diff --git a/dgl/src/pugl/pugl_osx.m b/dgl/src/pugl/pugl_osx.m index 02c63012..82d68a0d 100644 --- a/dgl/src/pugl/pugl_osx.m +++ b/dgl/src/pugl/pugl_osx.m @@ -427,18 +427,13 @@ puglInitInternals() void puglEnterContext(PuglView* view) { -#ifdef PUGL_HAVE_GL - if (view->ctx_type == PUGL_GL) { - [[view->impl->glview openGLContext] makeCurrentContext]; - } -#endif + [[view->impl->glview openGLContext] makeCurrentContext]; } void puglLeaveContext(PuglView* view, bool flush) { -#ifdef PUGL_HAVE_GL - if (view->ctx_type == PUGL_GL && flush) { + if (flush) { if (view->impl->glview->doubleBuffered) { [[view->impl->glview openGLContext] flushBuffer]; } else { @@ -446,7 +441,6 @@ puglLeaveContext(PuglView* view, bool flush) } //[NSOpenGLContext clearCurrentContext]; } -#endif } int @@ -565,12 +559,3 @@ puglGetNativeWindow(PuglView* view) { return (PuglNativeWindow)view->impl->glview; } - -void* -puglGetContext(PuglView* view) -{ - return NULL; - - // unused - (void)view; -} diff --git a/dgl/src/pugl/pugl_win.cpp b/dgl/src/pugl/pugl_win.cpp index c87af857..16d07dd9 100644 --- a/dgl/src/pugl/pugl_win.cpp +++ b/dgl/src/pugl/pugl_win.cpp @@ -76,25 +76,17 @@ puglInitInternals() void puglEnterContext(PuglView* view) { -#ifdef PUGL_HAVE_GL - if (view->ctx_type == PUGL_GL) { wglMakeCurrent(view->impl->hdc, view->impl->hglrc); - } -#endif } void puglLeaveContext(PuglView* view, bool flush) { -#ifdef PUGL_HAVE_GL - if (view->ctx_type == PUGL_GL) { if (flush) { glFlush(); SwapBuffers(view->impl->hdc); } wglMakeCurrent(NULL, NULL); - } -#endif } int @@ -476,14 +468,3 @@ puglGetNativeWindow(PuglView* view) { return (PuglNativeWindow)view->impl->hwnd; } - -void* -puglGetContext(PuglView* /*view*/) -{ -#ifdef PUGL_HAVE_CAIRO - if (view->ctx_type == PUGL_CAIRO) { - // TODO - } -#endif - return NULL; -} diff --git a/dgl/src/pugl/pugl_x11.c b/dgl/src/pugl/pugl_x11.c index 22432488..8750869c 100644 --- a/dgl/src/pugl/pugl_x11.c +++ b/dgl/src/pugl/pugl_x11.c @@ -29,15 +29,8 @@ #include #include -#ifdef PUGL_HAVE_GL #include #include -#endif - -#ifdef PUGL_HAVE_CAIRO -#include -#include -#endif #include "pugl/pugl_internal.h" @@ -53,14 +46,8 @@ struct PuglInternalsImpl { Window win; XIM xim; XIC xic; -#ifdef PUGL_HAVE_CAIRO - cairo_t* cr; - cairo_surface_t* surface; -#endif -#ifdef PUGL_HAVE_GL GLXContext ctx; Bool doubleBuffered; -#endif }; PuglInternals* @@ -75,8 +62,6 @@ getVisual(PuglView* view) PuglInternals* const impl = view->impl; XVisualInfo* vi = NULL; -#ifdef PUGL_HAVE_GL - if (view->ctx_type == PUGL_GL) { /** Attributes for single-buffered RGBA with at least 4 bits per color and a 16 bit depth buffer. @@ -137,16 +122,6 @@ getVisual(PuglView* view) impl->doubleBuffered = False; PUGL_LOG("singlebuffered rendering will be used, no doublebuffering available\n"); } - } -#endif -#ifdef PUGL_HAVE_CAIRO - if (view->ctx_type == PUGL_CAIRO) { - XVisualInfo pat; - int n; - pat.screen = impl->screen; - vi = XGetVisualInfo(impl->display, VisualScreenMask, &pat, &n); - } -#endif return vi; } @@ -156,32 +131,8 @@ createContext(PuglView* view, XVisualInfo* vi) { PuglInternals* const impl = view->impl; -#ifdef PUGL_HAVE_GL - if (view->ctx_type == PUGL_GL) { impl->ctx = glXCreateContext(impl->display, vi, 0, GL_TRUE); return (impl->ctx != NULL); - } -#endif -#ifdef PUGL_HAVE_CAIRO - if (view->ctx_type == PUGL_CAIRO) { - impl->surface = cairo_xlib_surface_create( - impl->display, impl->win, vi->visual, view->width, view->height); - if (impl->surface == NULL) { - PUGL_LOG("failed to create cairo surface\n"); - return false; - } - impl->cr = cairo_create(impl->surface); - if (impl->cr == NULL) { - cairo_surface_destroy(impl->surface); - impl->surface = NULL; - PUGL_LOG("failed to create cairo context\n"); - return false; - } - return true; - } -#endif - - return false; } static void @@ -189,38 +140,19 @@ destroyContext(PuglView* view) { PuglInternals* const impl = view->impl; -#ifdef PUGL_HAVE_GL - if (view->ctx_type == PUGL_GL) { glXDestroyContext(impl->display, impl->ctx); impl->ctx = NULL; - } -#endif -#ifdef PUGL_HAVE_CAIRO - if (view->ctx_type == PUGL_CAIRO) { - cairo_destroy(impl->cr); - impl->cr = NULL; - - cairo_surface_destroy(impl->surface); - impl->surface = NULL; - } -#endif } void puglEnterContext(PuglView* view) { -#ifdef PUGL_HAVE_GL - if (view->ctx_type == PUGL_GL) { glXMakeCurrent(view->impl->display, view->impl->win, view->impl->ctx); - } -#endif } void puglLeaveContext(PuglView* view, bool flush) { -#ifdef PUGL_HAVE_GL - if (view->ctx_type == PUGL_GL) { if (flush) { glFlush(); if (view->impl->doubleBuffered) { @@ -228,8 +160,6 @@ puglLeaveContext(PuglView* view, bool flush) } } glXMakeCurrent(view->impl->display, None, NULL); - } -#endif } int @@ -247,11 +177,9 @@ puglCreateWindow(PuglView* view, const char* title) return 1; } -#ifdef PUGL_HAVE_GL int glxMajor, glxMinor; glXQueryVersion(impl->display, &glxMajor, &glxMinor); PUGL_LOGF("GLX Version %d.%d\n", glxMajor, glxMinor); -#endif Window xParent = view->parent ? (Window)view->parent @@ -620,17 +548,3 @@ puglGetNativeWindow(PuglView* view) { return view->impl->win; } - -void* -puglGetContext(PuglView* view) -{ -#ifdef PUGL_HAVE_CAIRO - if (view->ctx_type == PUGL_CAIRO) { - return view->impl->cr; - } -#endif - return NULL; - - // may be unused - (void)view; -}