Remove QSGEngine
[profile/ivi/qtdeclarative.git] / src / quick / scenegraph / qsgcontext_p.h
index 0d69a4f..35b97c3 100644 (file)
@@ -1,10 +1,9 @@
 /****************************************************************************
 **
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/
 **
-** This file is part of the QtDeclarative module of the Qt Toolkit.
+** This file is part of the QtQml module of the Qt Toolkit.
 **
 ** $QT_BEGIN_LICENSE:LGPL$
 ** GNU Lesser General Public License Usage
@@ -35,6 +34,7 @@
 **
 **
 **
+**
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
 #include <private/qrawfont_p.h>
 
 #include <QtQuick/qsgnode.h>
+#include <QtQuick/private/qsgdepthstencilbuffer_p.h>
 
 QT_BEGIN_HEADER
 
 QT_BEGIN_NAMESPACE
 
-QT_MODULE(Declarative)
 
 class QSGContextPrivate;
 class QSGRectangleNode;
@@ -64,16 +64,16 @@ class QSGImageNode;
 class QSGGlyphNode;
 class QSGRenderer;
 class QSGDistanceFieldGlyphCache;
-
+class QQuickCanvas;
 class QSGTexture;
 class QSGMaterial;
 class QSGMaterialShader;
-class QSGEngine;
+class QQuickWindowManager;
 
 class QOpenGLContext;
 class QOpenGLFramebufferObject;
 
-class QDeclarativeTextureFactory;
+class QQuickTextureFactory;
 
 class Q_QUICK_EXPORT QSGContext : public QObject
 {
@@ -93,26 +93,23 @@ public:
 
     QSGMaterialShader *prepareMaterial(QSGMaterial *material);
 
-    virtual void renderNextFrame(QSGRenderer *renderer, QOpenGLFramebufferObject *fbo = 0);
+    virtual void renderNextFrame(QSGRenderer *renderer, GLuint fboId);
 
-    virtual QSGDistanceFieldGlyphCache *createDistanceFieldGlyphCache(const QRawFont &font);
+    virtual QSGDistanceFieldGlyphCache *distanceFieldGlyphCache(const QRawFont &font);
 
     virtual QSGRectangleNode *createRectangleNode();
     virtual QSGImageNode *createImageNode();
     virtual QSGGlyphNode *createGlyphNode();
     virtual QSGRenderer *createRenderer();
 
-    virtual bool canDecodeImageToTexture() const;
-    virtual QSGTexture *decodeImageToTexture(QIODevice *dev,
-                                             QSize *size,
-                                             const QSize &requestSize);
-
     virtual QSGTexture *createTexture(const QImage &image = QImage()) const;
     virtual QSize minimumFBOSize() const;
+    virtual QSharedPointer<QSGDepthStencilBuffer> depthStencilBufferForFbo(QOpenGLFramebufferObject *fbo);
+    QSGDepthStencilBufferManager *depthStencilBufferManager();
 
     virtual QSurfaceFormat defaultSurfaceFormat() const;
 
-    QSGTexture *textureForFactory(QDeclarativeTextureFactory *factory);
+    QSGTexture *textureForFactory(QQuickTextureFactory *factory, QQuickCanvas *canvas);
 
     static QSGContext *createDefaultContext();
 
@@ -127,6 +124,9 @@ public:
 
     virtual QAnimationDriver *createAnimationDriver(QObject *parent);
 
+    static QQuickTextureFactory *createTextureFactoryFromImage(const QImage &image);
+    static QQuickWindowManager *createWindowManager();
+
 
 public slots:
     void textureFactoryDestroyed(QObject *o);