Browse Source

Merge branch 'master' of github.com:DISTRHO/DPF into HEAD

pull/17/head
falkTX 8 years ago
parent
commit
67637ca084
4 changed files with 37 additions and 46 deletions
  1. +31
    -33
      dgl/src/Window.cpp
  2. +3
    -3
      distrho/extra/ExternalWindow.hpp
  3. +2
    -2
      distrho/extra/Thread.hpp
  4. +1
    -8
      distrho/src/DistrhoDefines.h

+ 31
- 33
dgl/src/Window.cpp View File

@@ -29,14 +29,12 @@
# include "pugl/pugl_win.cpp" # include "pugl/pugl_win.cpp"
#elif defined(DISTRHO_OS_MAC) #elif defined(DISTRHO_OS_MAC)
# include "pugl/pugl_osx.m" # include "pugl/pugl_osx.m"
#elif defined(DISTRHO_OS_LINUX)
#else
# include <sys/types.h> # include <sys/types.h>
# include <unistd.h> # include <unistd.h>
extern "C" { extern "C" {
# include "pugl/pugl_x11.c" # include "pugl/pugl_x11.c"
} }
#else
# error Unsupported platform
#endif #endif


#include "ApplicationPrivateData.hpp" #include "ApplicationPrivateData.hpp"
@@ -81,13 +79,13 @@ struct Window::PrivateData {
fModal(), fModal(),
#if defined(DISTRHO_OS_WINDOWS) #if defined(DISTRHO_OS_WINDOWS)
hwnd(0) hwnd(0)
#elif defined(DISTRHO_OS_LINUX)
xDisplay(nullptr),
xWindow(0)
#elif defined(DISTRHO_OS_MAC) #elif defined(DISTRHO_OS_MAC)
fNeedsIdle(true), fNeedsIdle(true),
mView(nullptr), mView(nullptr),
mWindow(nullptr) mWindow(nullptr)
#else
xDisplay(nullptr),
xWindow(0)
#endif #endif
{ {
DBG("Creating window without parent..."); DBGF; DBG("Creating window without parent..."); DBGF;
@@ -109,26 +107,26 @@ struct Window::PrivateData {
fModal(parent.pData), fModal(parent.pData),
#if defined(DISTRHO_OS_WINDOWS) #if defined(DISTRHO_OS_WINDOWS)
hwnd(0) hwnd(0)
#elif defined(DISTRHO_OS_LINUX)
xDisplay(nullptr),
xWindow(0)
#elif defined(DISTRHO_OS_MAC) #elif defined(DISTRHO_OS_MAC)
fNeedsIdle(false), fNeedsIdle(false),
mView(nullptr), mView(nullptr),
mWindow(nullptr) mWindow(nullptr)
#else
xDisplay(nullptr),
xWindow(0)
#endif #endif
{ {
DBG("Creating window with parent..."); DBGF; DBG("Creating window with parent..."); DBGF;
init(); init();


const PuglInternals* const parentImpl(parent.pData->fView->impl); const PuglInternals* const parentImpl(parent.pData->fView->impl);
#if defined(DISTRHO_OS_LINUX)
XSetTransientForHint(xDisplay, xWindow, parentImpl->win);
//#elif defined(DISTRHO_OS_MAC)
// [parentImpl->window orderWindow:NSWindowBelow relativeTo:[[mView window] windowNumber]];
#if defined(DISTRHO_OS_WINDOWS)
// TODO
#elif defined(DISTRHO_OS_MAC)
// TODO
//[parentImpl->window orderWindow:NSWindowBelow relativeTo:[[mView window] windowNumber]];
#else #else
// unused
return; (void)parentImpl;
XSetTransientForHint(xDisplay, xWindow, parentImpl->win);
#endif #endif
} }


@@ -147,13 +145,13 @@ struct Window::PrivateData {
fModal(), fModal(),
#if defined(DISTRHO_OS_WINDOWS) #if defined(DISTRHO_OS_WINDOWS)
hwnd(0) hwnd(0)
#elif defined(DISTRHO_OS_LINUX)
xDisplay(nullptr),
xWindow(0)
#elif defined(DISTRHO_OS_MAC) #elif defined(DISTRHO_OS_MAC)
fNeedsIdle(parentId == 0), fNeedsIdle(parentId == 0),
mView(nullptr), mView(nullptr),
mWindow(nullptr) mWindow(nullptr)
#else
xDisplay(nullptr),
xWindow(0)
#endif #endif
{ {
if (fUsingEmbed) if (fUsingEmbed)
@@ -215,7 +213,7 @@ struct Window::PrivateData {
} else { } else {
DISTRHO_SAFE_ASSERT(mWindow != nullptr); DISTRHO_SAFE_ASSERT(mWindow != nullptr);
} }
#elif defined(DISTRHO_OS_LINUX)
#else
xDisplay = impl->display; xDisplay = impl->display;
xWindow = impl->win; xWindow = impl->win;
DISTRHO_SAFE_ASSERT(xWindow != 0); DISTRHO_SAFE_ASSERT(xWindow != 0);
@@ -275,7 +273,7 @@ struct Window::PrivateData {
#elif defined(DISTRHO_OS_MAC) #elif defined(DISTRHO_OS_MAC)
mView = nullptr; mView = nullptr;
mWindow = nullptr; mWindow = nullptr;
#elif defined(DISTRHO_OS_LINUX)
#else
xDisplay = nullptr; xDisplay = nullptr;
xWindow = 0; xWindow = 0;
#endif #endif
@@ -369,7 +367,7 @@ struct Window::PrivateData {
// TODO // TODO
#elif defined(DISTRHO_OS_MAC) #elif defined(DISTRHO_OS_MAC)
// TODO // TODO
#elif defined(DISTRHO_OS_LINUX)
#else
int i, wx, wy; int i, wx, wy;
uint u; uint u;
::Window w; ::Window w;
@@ -397,7 +395,7 @@ struct Window::PrivateData {
//[NSApp activateIgnoringOtherApps:YES]; //[NSApp activateIgnoringOtherApps:YES];
//[mWindow makeKeyAndOrderFront:mWindow]; //[mWindow makeKeyAndOrderFront:mWindow];
} }
#elif defined(DISTRHO_OS_LINUX)
#else
XRaiseWindow(xDisplay, xWindow); XRaiseWindow(xDisplay, xWindow);
XSetInputFocus(xDisplay, xWindow, RevertToPointerRoot, CurrentTime); XSetInputFocus(xDisplay, xWindow, RevertToPointerRoot, CurrentTime);
XFlush(xDisplay); XFlush(xDisplay);
@@ -448,7 +446,7 @@ struct Window::PrivateData {
else else
[mView setHidden:YES]; [mView setHidden:YES];
} }
#elif defined(DISTRHO_OS_LINUX)
#else
if (yesNo) if (yesNo)
XMapRaised(xDisplay, xWindow); XMapRaised(xDisplay, xWindow);
else else
@@ -552,7 +550,7 @@ struct Window::PrivateData {
[[mWindow standardWindowButton:NSWindowZoomButton] setHidden:YES]; [[mWindow standardWindowButton:NSWindowZoomButton] setHidden:YES];
} }
} }
#elif defined(DISTRHO_OS_LINUX)
#else
XResizeWindow(xDisplay, xWindow, width, height); XResizeWindow(xDisplay, xWindow, width, height);


if (! fResizable) if (! fResizable)
@@ -608,19 +606,19 @@ struct Window::PrivateData {


[mWindow setTitle:titleString]; [mWindow setTitle:titleString];
} }
#elif defined(DISTRHO_OS_LINUX)
#else
XStoreName(xDisplay, xWindow, title); XStoreName(xDisplay, xWindow, title);
#endif #endif
} }


void setTransientWinId(const uintptr_t winId) void setTransientWinId(const uintptr_t winId)
{ {
#if defined(DISTRHO_OS_LINUX)
XSetTransientForHint(xDisplay, xWindow, static_cast< ::Window>(winId));
#if defined(DISTRHO_OS_WINDOWS)
// TODO
#elif defined(DISTRHO_OS_MAC)
// TODO
#else #else
return;
// unused
(void)winId;
XSetTransientForHint(xDisplay, xWindow, static_cast< ::Window>(winId));
#endif #endif
} }


@@ -886,13 +884,13 @@ struct Window::PrivateData {


#if defined(DISTRHO_OS_WINDOWS) #if defined(DISTRHO_OS_WINDOWS)
HWND hwnd; HWND hwnd;
#elif defined(DISTRHO_OS_LINUX)
Display* xDisplay;
::Window xWindow;
#elif defined(DISTRHO_OS_MAC) #elif defined(DISTRHO_OS_MAC)
bool fNeedsIdle; bool fNeedsIdle;
PuglOpenGLView* mView; PuglOpenGLView* mView;
id mWindow; id mWindow;
#else
Display* xDisplay;
::Window xWindow;
#endif #endif


// ------------------------------------------------------------------- // -------------------------------------------------------------------


+ 3
- 3
distrho/extra/ExternalWindow.hpp View File

@@ -19,13 +19,13 @@


#include "String.hpp" #include "String.hpp"


#ifdef DISTRHO_OS_UNIX
#ifdef DISTRHO_OS_WINDOWS
# error Unsupported platform!
#else
# include <cerrno> # include <cerrno>
# include <signal.h> # include <signal.h>
# include <sys/wait.h> # include <sys/wait.h>
# include <unistd.h> # include <unistd.h>
#else
# error Unsupported platform!
#endif #endif


START_NAMESPACE_DISTRHO START_NAMESPACE_DISTRHO


+ 2
- 2
distrho/extra/Thread.hpp View File

@@ -21,7 +21,7 @@
#include "Sleep.hpp" #include "Sleep.hpp"
#include "String.hpp" #include "String.hpp"


#ifdef DISTRHO_OS_LINUX_FULL
#ifdef DISTRHO_OS_LINUX
# include <sys/prctl.h> # include <sys/prctl.h>
#endif #endif


@@ -198,7 +198,7 @@ public:
{ {
DISTRHO_SAFE_ASSERT_RETURN(name != nullptr && name[0] != '\0',); DISTRHO_SAFE_ASSERT_RETURN(name != nullptr && name[0] != '\0',);


#ifdef DISTRHO_OS_LINUX_FULL
#ifdef DISTRHO_OS_LINUX
prctl(PR_SET_NAME, name, 0, 0, 0); prctl(PR_SET_NAME, name, 0, 0, 0);
#endif #endif
#if defined(__GLIBC__) && (__GLIBC__ * 1000 + __GLIBC_MINOR__) >= 2012 #if defined(__GLIBC__) && (__GLIBC__ * 1000 + __GLIBC_MINOR__) >= 2012


+ 1
- 8
distrho/src/DistrhoDefines.h View File

@@ -38,17 +38,10 @@
# elif defined(__HAIKU__) # elif defined(__HAIKU__)
# define DISTRHO_OS_HAIKU 1 # define DISTRHO_OS_HAIKU 1
# elif defined(__linux__) || defined(__linux) # elif defined(__linux__) || defined(__linux)
# define DISTRHO_OS_LINUX 1
# define DISTRHO_OS_LINUX_FULL 1
# elif defined(__FreeBSD__) || defined(__GNU__)
# define DISTRHO_OS_LINUX 1
# define DISTRHO_OS_LINUX 1
# endif # endif
#endif #endif


#if defined(DISTRHO_OS_LINUX) || defined(DISTRHO_OS_MAC)
# define DISTRHO_OS_UNIX
#endif

#ifndef DISTRHO_DLL_EXTENSION #ifndef DISTRHO_DLL_EXTENSION
# define DISTRHO_DLL_EXTENSION "so" # define DISTRHO_DLL_EXTENSION "so"
#endif #endif


Loading…
Cancel
Save