include/vcl/opengl/OpenGLContext.hxx | 2 - include/vcl/sysdata.hxx | 1 vcl/osx/salobj.cxx | 41 +++++++++++++++++++++++++++-------- vcl/source/opengl/OpenGLContext.cxx | 12 +++++----- 4 files changed, 41 insertions(+), 15 deletions(-)
New commits: commit 2a1804e9dd04a66b4686b22c9befbb64381c5f1d Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Tue Sep 2 00:00:11 2014 +0200 fix indentation Change-Id: I4f299e510fecb57f763818743d357ae6bf2333af diff --git a/vcl/osx/salobj.cxx b/vcl/osx/salobj.cxx index 816eaf1..8cccd1b 100644 --- a/vcl/osx/salobj.cxx +++ b/vcl/osx/salobj.cxx @@ -87,7 +87,8 @@ AquaSalObject::AquaSalObject( AquaSalFrame* pFrame, SystemWindowData* pWindowDat { maSysData.mpNSView = [[NSView alloc] initWithFrame: aInitFrame]; } - if( maSysData.mpNSView ) + + if( maSysData.mpNSView ) { if( mpClipView ) [mpClipView setDocumentView: maSysData.mpNSView]; commit 49c40d4ec5b7e13370ff33b0d94f9c35fc500de3 Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Mon Sep 1 23:59:24 2014 +0200 support legacy and core context on OSX Change-Id: Ib8cadb3f182ce49c0ca8b6ccaa95960eb8e5f9ae diff --git a/include/vcl/opengl/OpenGLContext.hxx b/include/vcl/opengl/OpenGLContext.hxx index 7ce6763..79f97fc 100644 --- a/include/vcl/opengl/OpenGLContext.hxx +++ b/include/vcl/opengl/OpenGLContext.hxx @@ -181,7 +181,7 @@ public: bool supportMultiSampling() const; - static SystemWindowData generateWinData(Window* pParent); + static SystemWindowData generateWinData(Window* pParent, bool bRequestLegacyContext); private: SAL_DLLPRIVATE bool initWindow(); diff --git a/include/vcl/sysdata.hxx b/include/vcl/sysdata.hxx index 8ac816a..4cfc737 100644 --- a/include/vcl/sysdata.hxx +++ b/include/vcl/sysdata.hxx @@ -178,6 +178,7 @@ struct SystemWindowData #if defined( WNT ) // meaningless on Windows #elif defined( MACOSX ) bool bOpenGL; // create a OpenGL providing NSView + bool bLegacy; // create a 2.1 legacy context, only valid if bOpenGL == true // Nothing #elif defined( ANDROID ) // Nothing diff --git a/vcl/osx/salobj.cxx b/vcl/osx/salobj.cxx index 7c7ad5d..816eaf1 100644 --- a/vcl/osx/salobj.cxx +++ b/vcl/osx/salobj.cxx @@ -49,17 +49,39 @@ AquaSalObject::AquaSalObject( AquaSalFrame* pFrame, SystemWindowData* pWindowDat } if (pWindowData->bOpenGL) { - NSOpenGLPixelFormatAttribute aAttributes[] = + NSOpenGLPixelFormat* pixFormat = NULL; + + if (pWindowData->bLegacy) + { + NSOpenGLPixelFormatAttribute aAttributes[] = + { + NSOpenGLPFADoubleBuffer, + NSOpenGLPFAAlphaSize, 8, + NSOpenGLPFAColorSize, 24, + NSOpenGLPFAMultisample, + NSOpenGLPFASampleBuffers, (NSOpenGLPixelFormatAttribute)1, + NSOpenGLPFASamples, (NSOpenGLPixelFormatAttribute)4, + 0 + }; + pixFormat = [[NSOpenGLPixelFormat alloc] initWithAttributes:aAttributes]; + } + else { - NSOpenGLPFADoubleBuffer, - NSOpenGLPFAAlphaSize, 8, - NSOpenGLPFAColorSize, 24, - 0 - }; + NSOpenGLPixelFormatAttribute aAttributes[] = + { + NSOpenGLPFAOpenGLProfile, NSOpenGLProfileVersion3_2Core, + NSOpenGLPFADoubleBuffer, + NSOpenGLPFAAlphaSize, 8, + NSOpenGLPFAColorSize, 24, + NSOpenGLPFAMultisample, + NSOpenGLPFASampleBuffers, (NSOpenGLPixelFormatAttribute)1, + NSOpenGLPFASamples, (NSOpenGLPixelFormatAttribute)4, + 0 + }; + pixFormat = [[NSOpenGLPixelFormat alloc] initWithAttributes:aAttributes]; + } - NSOpenGLPixelFormat* pixFormat = [[NSOpenGLPixelFormat alloc] initWithAttributes:aAttributes]; maSysData.mpNSView = [[NSOpenGLView alloc] initWithFrame: aInitFrame pixelFormat:pixFormat]; - } else { diff --git a/vcl/source/opengl/OpenGLContext.cxx b/vcl/source/opengl/OpenGLContext.cxx index d7ea0ee..18e0a02 100644 --- a/vcl/source/opengl/OpenGLContext.cxx +++ b/vcl/source/opengl/OpenGLContext.cxx @@ -615,7 +615,7 @@ bool OpenGLContext::initWindow() { if( !m_pChildWindow ) { - SystemWindowData winData = generateWinData(mpWindow); + SystemWindowData winData = generateWinData(mpWindow, false); m_pChildWindow = new SystemChildWindow(mpWindow, 0, &winData, false); m_pChildWindowGC.reset(m_pChildWindow); } @@ -642,7 +642,7 @@ bool OpenGLContext::initWindow() { if( !m_pChildWindow ) { - SystemWindowData winData = generateWinData(mpWindow); + SystemWindowData winData = generateWinData(mpWindow, mbRequestLegacyContext); m_pChildWindow = new SystemChildWindow(mpWindow, 0, &winData, false); m_pChildWindowGC.reset(m_pChildWindow); } @@ -673,7 +673,7 @@ bool OpenGLContext::initWindow() bool OpenGLContext::initWindow() { const SystemEnvData* pChildSysData = 0; - SystemWindowData winData = generateWinData(mpWindow); + SystemWindowData winData = generateWinData(mpWindow, false); if( winData.pVisual ) { if( !m_pChildWindow ) @@ -725,11 +725,13 @@ bool OpenGLContext::initWindow() #if defined( WNT ) || defined( MACOSX ) || defined( IOS ) || defined( ANDROID ) -SystemWindowData OpenGLContext::generateWinData(Window* /*pParent*/) +SystemWindowData OpenGLContext::generateWinData(Window* /*pParent*/, bool bRequestLegacyContext) { + (void) bRequestLegacyContext; SystemWindowData aWinData; #if defined(MACOSX) aWinData.bOpenGL = true; + aWinData.bLegacy = bRequestLegacyContext; #endif aWinData.nSize = sizeof(aWinData); return aWinData; @@ -750,7 +752,7 @@ void initOpenGLFunctionPointers() } -SystemWindowData OpenGLContext::generateWinData(Window* pParent) +SystemWindowData OpenGLContext::generateWinData(Window* pParent, bool) { SystemWindowData aWinData; aWinData.nSize = sizeof(aWinData); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits