summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfalkTX <falktx@gmail.com>2018-09-29 22:19:51 +0200
committerfalkTX <falktx@gmail.com>2018-09-29 22:19:51 +0200
commitc61e0ecd2e256842ea7b41c82dae240702ee72b1 (patch)
tree650edfa50628644fc9bdcf493195c3e27c26e155
parent7f200c0126bca28fb281d5830e3f8713ca705190 (diff)
Delete yet another file, assume pugl with GL
-rw-r--r--dgl/src/Window.cpp1
-rw-r--r--dgl/src/pugl/common.h121
-rw-r--r--dgl/src/pugl/pugl.h93
-rw-r--r--dgl/src/pugl/pugl_internal.h7
-rw-r--r--dgl/src/pugl/pugl_osx.m19
-rw-r--r--dgl/src/pugl/pugl_win.cpp19
-rw-r--r--dgl/src/pugl/pugl_x11.c86
7 files changed, 78 insertions, 268 deletions
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<int>(fWidth), static_cast<int>(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 <http://drobilla.net>
-
- 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 <stdint.h>
-#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
@@ -58,6 +56,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.
*/
typedef void (*PuglCloseFunc)(PuglView* view);
@@ -189,12 +263,6 @@ 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);
-
-/**
@}
*/
@@ -253,15 +321,6 @@ 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.
*/
PUGL_API uint32_t
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;
@@ -129,12 +128,6 @@ puglInitTransientFor(PuglView* view, uintptr_t parent)
}
void
-puglInitContextType(PuglView* view, PuglContextType type)
-{
- view->ctx_type = type;
-}
-
-void
puglSetHandle(PuglView* view, PuglHandle handle)
{
view->handle = 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 <X11/Xutil.h>
#include <X11/keysym.h>
-#ifdef PUGL_HAVE_GL
#include <GL/gl.h>
#include <GL/glx.h>
-#endif
-
-#ifdef PUGL_HAVE_CAIRO
-#include <cairo/cairo.h>
-#include <cairo/cairo-xlib.h>
-#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;
-}