parent
ea7277690d
commit
e285501267
|
|
@ -10,7 +10,9 @@ OBJECTIVE_SOURCES = main.mm \
|
|||
qcocoaeventloopintegration.mm \
|
||||
qcocoaautoreleasepool.mm \
|
||||
qnswindowdelegate.mm \
|
||||
qcocoaglcontext.mm
|
||||
qcocoaglcontext.mm \
|
||||
qcocoanativeinterface.mm
|
||||
|
||||
|
||||
OBJECTIVE_HEADERS = qcocoaintegration.h \
|
||||
qcocoawindowsurface.h \
|
||||
|
|
@ -19,7 +21,10 @@ OBJECTIVE_HEADERS = qcocoaintegration.h \
|
|||
qcocoaeventloopintegration.h \
|
||||
qcocoaautoreleasepool.h \
|
||||
qnswindowdelegate.h \
|
||||
qcocoaglcontext.h
|
||||
qcocoaglcontext.h \
|
||||
qcocoanativeinterface.h
|
||||
|
||||
DEFINES += QT_BUILD_COCOA_LIB
|
||||
|
||||
#add libz for freetype.
|
||||
LIBS += -lz
|
||||
|
|
@ -30,4 +35,3 @@ QT += core-private gui-private
|
|||
include(../fontdatabases/basicunix/basicunix.pri)
|
||||
target.path += $$[QT_INSTALL_PLUGINS]/platforms
|
||||
INSTALLS += target
|
||||
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ public:
|
|||
void* getProcAddress(const QString& procName);
|
||||
QWindowFormat windowFormat() const;
|
||||
static NSOpenGLPixelFormat *createNSOpenGLPixelFormat();
|
||||
NSOpenGLContext *nsOpenGLContext() const;
|
||||
private:
|
||||
NSOpenGLView *m_glView;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -76,3 +76,8 @@ NSOpenGLPixelFormat *QCocoaGLContext::createNSOpenGLPixelFormat()
|
|||
return pixelFormat;
|
||||
}
|
||||
|
||||
NSOpenGLContext *QCocoaGLContext::nsOpenGLContext() const
|
||||
{
|
||||
return [m_glView openGLContext];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ public:
|
|||
QPlatformFontDatabase *fontDatabase() const;
|
||||
|
||||
QPlatformEventLoopIntegration *createEventLoopIntegration() const;
|
||||
|
||||
QPlatformNativeInterface *nativeInterface() const;
|
||||
private:
|
||||
QList<QPlatformScreen *> mScreens;
|
||||
QPlatformFontDatabase *mFontDb;
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@
|
|||
#include "qcocoawindow.h"
|
||||
#include "qcocoawindowsurface.h"
|
||||
#include "qcocoaeventloopintegration.h"
|
||||
#include "qcocoanativeinterface.h"
|
||||
|
||||
#include "qbasicunixfontdatabase.h"
|
||||
|
||||
|
|
@ -127,4 +128,10 @@ QPlatformEventLoopIntegration *QCocoaIntegration::createEventLoopIntegration() c
|
|||
{
|
||||
return new QCocoaEventLoopIntegration();
|
||||
}
|
||||
|
||||
QPlatformNativeInterface *QCocoaIntegration::nativeInterface() const
|
||||
{
|
||||
return new QCocoaNativeInterface();
|
||||
}
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
|
|
|||
|
|
@ -0,0 +1,55 @@
|
|||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
|
||||
** All rights reserved.
|
||||
** Contact: Nokia Corporation (qt-info@nokia.com)
|
||||
**
|
||||
** This file is part of the plugins of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:LGPL$
|
||||
** No Commercial Usage
|
||||
** This file contains pre-release code and may not be distributed.
|
||||
** You may use this file in accordance with the terms and conditions
|
||||
** contained in the Technology Preview License Agreement accompanying
|
||||
** this package.
|
||||
**
|
||||
** GNU Lesser General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||
** General Public License version 2.1 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.LGPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU Lesser General Public License version 2.1 requirements
|
||||
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||
**
|
||||
** In addition, as a special exception, Nokia gives you certain additional
|
||||
** rights. These rights are described in the Nokia Qt LGPL Exception
|
||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
||||
**
|
||||
** If you have questions regarding the use of this file, please contact
|
||||
** Nokia at qt-info@nokia.com.
|
||||
**
|
||||
**
|
||||
**
|
||||
**
|
||||
**
|
||||
**
|
||||
**
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef QCOCOANATIVEINTERFACE_H
|
||||
#define QCOCOANATIVEINTERFACE_H
|
||||
|
||||
#include <QtGui/QPlatformNativeInterface>
|
||||
|
||||
class QWidget;
|
||||
|
||||
class QCocoaNativeInterface : public QPlatformNativeInterface
|
||||
{
|
||||
public:
|
||||
void *nativeResourceForWindow(const QByteArray &resourceString, QWindow *window);
|
||||
};
|
||||
|
||||
#endif // QCOCOANATIVEINTERFACE_H
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
|
||||
** All rights reserved.
|
||||
** Contact: Nokia Corporation (qt-info@nokia.com)
|
||||
**
|
||||
** This file is part of the plugins of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:LGPL$
|
||||
** No Commercial Usage
|
||||
** This file contains pre-release code and may not be distributed.
|
||||
** You may use this file in accordance with the terms and conditions
|
||||
** contained in the Technology Preview License Agreement accompanying
|
||||
** this package.
|
||||
**
|
||||
** GNU Lesser General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||
** General Public License version 2.1 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.LGPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU Lesser General Public License version 2.1 requirements
|
||||
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||
**
|
||||
** In addition, as a special exception, Nokia gives you certain additional
|
||||
** rights. These rights are described in the Nokia Qt LGPL Exception
|
||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
||||
**
|
||||
** If you have questions regarding the use of this file, please contact
|
||||
** Nokia at qt-info@nokia.com.
|
||||
**
|
||||
**
|
||||
**
|
||||
**
|
||||
**
|
||||
**
|
||||
**
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#include "qcocoanativeinterface.h"
|
||||
#include "qcocoaglcontext.h"
|
||||
#include <qbytearray.h>
|
||||
#include <qwindow.h>
|
||||
#include "qplatformwindow_qpa.h"
|
||||
#include "qwindowformat_qpa.h"
|
||||
#include "qplatformglcontext_qpa.h"
|
||||
#include "qwindowcontext_qpa.h"
|
||||
#include <qdebug.h>
|
||||
|
||||
void *QCocoaNativeInterface::nativeResourceForWindow(const QByteArray &resourceString, QWindow *window)
|
||||
{
|
||||
if (resourceString == "nsopenglcontext") {
|
||||
QPlatformGLContext *platformContext = window->glContext()->handle();
|
||||
return static_cast<QCocoaGLContext *>(platformContext)->nsOpenGLContext();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
Loading…
Reference in New Issue