aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/scenegraph/coreapi/qsgnode.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/declarative/scenegraph/coreapi/qsgnode.h')
-rw-r--r--src/declarative/scenegraph/coreapi/qsgnode.h348
1 files changed, 0 insertions, 348 deletions
diff --git a/src/declarative/scenegraph/coreapi/qsgnode.h b/src/declarative/scenegraph/coreapi/qsgnode.h
deleted file mode 100644
index 58afff4bc7..0000000000
--- a/src/declarative/scenegraph/coreapi/qsgnode.h
+++ /dev/null
@@ -1,348 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** 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.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef NODE_H
-#define NODE_H
-
-#include "qsggeometry.h"
-#include <QtGui/QMatrix4x4>
-
-#include <float.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Declarative)
-
-#define QML_RUNTIME_TESTING
-
-class QSGRenderer;
-
-class QSGNode;
-class QSGRootNode;
-class QSGGeometryNode;
-class QSGTransformNode;
-class QSGClipNode;
-
-class Q_DECLARATIVE_EXPORT QSGNode
-{
-public:
- enum NodeType {
- BasicNodeType,
- RootNodeType,
- GeometryNodeType,
- TransformNodeType,
- ClipNodeType,
- OpacityNodeType,
- UserNodeType = 1024
- };
-
- enum DirtyFlag {
- DirtyMatrix = 0x0001,
- DirtyClipList = 0x0002,
- DirtyNodeAdded = 0x0004,
- DirtyNodeRemoved = 0x0008,
- DirtyGeometry = 0x0010,
- DirtyMaterial = 0x0040,
- DirtyOpacity = 0x0080,
- DirtyForceUpdate = 0x0100,
-
- DirtyPropagationMask = DirtyMatrix
- | DirtyClipList
- | DirtyNodeAdded
- | DirtyOpacity
- | DirtyForceUpdate
-
- };
- Q_DECLARE_FLAGS(DirtyFlags, DirtyFlag)
-
- enum Flag {
- // Lower 16 bites reserved for general node
- OwnedByParent = 0x0001,
- UsePreprocess = 0x0002,
- ChildrenDoNotOverlap = 0x0004,
-
- // Upper 16 bits reserved for node subclasses
-
- // QSGBasicGeometryNode
- OwnsGeometry = 0x00010000,
- OwnsMaterial = 0x00020000,
- OwnsOpaqueMaterial = 0x00040000
- };
- Q_DECLARE_FLAGS(Flags, Flag)
-
- QSGNode();
- virtual ~QSGNode();
-
- QSGNode *parent() const { return m_parent; }
-
- void removeChildNode(QSGNode *node);
- void removeAllChildNodes();
- void prependChildNode(QSGNode *node);
- void appendChildNode(QSGNode *node);
- void insertChildNodeBefore(QSGNode *node, QSGNode *before);
- void insertChildNodeAfter(QSGNode *node, QSGNode *after);
-
- int childCount() const;
- QSGNode *childAtIndex(int i) const;
- QSGNode *firstChild() const { return m_firstChild; }
- QSGNode *lastChild() const { return m_lastChild; }
- QSGNode *nextSibling() const { return m_nextSibling; }
- QSGNode* previousSibling() const { return m_previousSibling; }
-
- inline NodeType type() const { return m_type; }
-
- void clearDirty() { m_flags = 0; }
- void markDirty(DirtyFlags flags);
- DirtyFlags dirtyFlags() const { return m_flags; }
-
- virtual bool isSubtreeBlocked() const;
-
- Flags flags() const { return m_nodeFlags; }
- void setFlag(Flag, bool = true);
- void setFlags(Flags, bool = true);
-
- virtual void preprocess() { }
-
-#ifdef QML_RUNTIME_TESTING
- QString description;
-#endif
-
-protected:
- QSGNode(NodeType type);
-
-private:
- friend class QSGRootNode;
-
- void init();
- void destroy();
-
- QSGNode *m_parent;
- NodeType m_type;
- QSGNode *m_firstChild;
- QSGNode *m_lastChild;
- QSGNode *m_nextSibling;
- QSGNode *m_previousSibling;
- int m_subtreeGeometryCount;
-
- Flags m_nodeFlags;
- DirtyFlags m_flags;
-
- void *m_reserved;
-};
-
-Q_DECLARE_OPERATORS_FOR_FLAGS(QSGNode::DirtyFlags)
-Q_DECLARE_OPERATORS_FOR_FLAGS(QSGNode::Flags)
-
-class Q_DECLARATIVE_EXPORT QSGBasicGeometryNode : public QSGNode
-{
-public:
-// enum UsagePattern {
-// Static,
-// Dynamic,
-// Stream
-// };
-// void setUsagePattern(UsagePattern pattern);
-// UsagePattern usagePattern() const { return m_pattern; }
-
- ~QSGBasicGeometryNode();
-
- void setGeometry(QSGGeometry *geometry);
- const QSGGeometry *geometry() const { return m_geometry; }
- QSGGeometry *geometry() { return m_geometry; }
-
- const QMatrix4x4 *matrix() const { return m_matrix; }
- const QSGClipNode *clipList() const { return m_clip_list; }
-
-protected:
- QSGBasicGeometryNode(NodeType type);
-
-private:
- friend class QSGNodeUpdater;
- QSGGeometry *m_geometry;
-
- int m_reserved_start_index;
- int m_reserved_end_index;
-
- const QMatrix4x4 *m_matrix;
- const QSGClipNode *m_clip_list;
-
-// UsagePattern m_pattern;
-};
-
-class QSGMaterial;
-
-class Q_DECLARATIVE_EXPORT QSGGeometryNode : public QSGBasicGeometryNode
-{
-public:
- QSGGeometryNode();
- ~QSGGeometryNode();
-
- void setMaterial(QSGMaterial *material);
- QSGMaterial *material() const { return m_material; }
-
- void setOpaqueMaterial(QSGMaterial *material);
- QSGMaterial *opaqueMaterial() const { return m_opaque_material; }
-
- QSGMaterial *activeMaterial() const;
-
- void setRenderOrder(int order);
- int renderOrder() const { return m_render_order; }
-
- void setInheritedOpacity(qreal opacity);
- qreal inheritedOpacity() const { return m_opacity; }
-
-private:
- friend class QSGNodeUpdater;
-
- int m_render_order;
- QSGMaterial *m_material;
- QSGMaterial *m_opaque_material;
-
- qreal m_opacity;
-};
-
-class Q_DECLARATIVE_EXPORT QSGClipNode : public QSGBasicGeometryNode
-{
-public:
- QSGClipNode();
- ~QSGClipNode();
-
- void setIsRectangular(bool rectHint);
- bool isRectangular() const { return m_is_rectangular; }
-
- void setClipRect(const QRectF &);
- QRectF clipRect() const { return m_clip_rect; }
-
-private:
- uint m_is_rectangular : 1;
- uint m_reserved : 31;
-
- QRectF m_clip_rect;
-};
-
-
-class Q_DECLARATIVE_EXPORT QSGTransformNode : public QSGNode
-{
-public:
- QSGTransformNode();
- ~QSGTransformNode();
-
- void setMatrix(const QMatrix4x4 &matrix);
- const QMatrix4x4 &matrix() const { return m_matrix; }
-
- void setCombinedMatrix(const QMatrix4x4 &matrix);
- const QMatrix4x4 &combinedMatrix() const { return m_combined_matrix; }
-
-private:
- QMatrix4x4 m_matrix;
- QMatrix4x4 m_combined_matrix;
-};
-
-
-class Q_DECLARATIVE_EXPORT QSGRootNode : public QSGNode
-{
-public:
- QSGRootNode();
- ~QSGRootNode();
-
-private:
- void notifyNodeChange(QSGNode *node, DirtyFlags flags);
-
- friend class QSGRenderer;
- friend class QSGNode;
- friend class QSGGeometryNode;
-
- QList<QSGRenderer *> m_renderers;
-};
-
-
-class Q_DECLARATIVE_EXPORT QSGOpacityNode : public QSGNode
-{
-public:
- QSGOpacityNode();
- ~QSGOpacityNode();
-
- void setOpacity(qreal opacity);
- qreal opacity() const { return m_opacity; }
-
- void setCombinedOpacity(qreal opacity);
- qreal combinedOpacity() const { return m_combined_opacity; }
-
- bool isSubtreeBlocked() const;
-
-private:
- qreal m_opacity;
- qreal m_combined_opacity;
-};
-
-class Q_DECLARATIVE_EXPORT QSGNodeVisitor {
-public:
- virtual ~QSGNodeVisitor();
-
-protected:
- virtual void enterTransformNode(QSGTransformNode *) {}
- virtual void leaveTransformNode(QSGTransformNode *) {}
- virtual void enterClipNode(QSGClipNode *) {}
- virtual void leaveClipNode(QSGClipNode *) {}
- virtual void enterGeometryNode(QSGGeometryNode *) {}
- virtual void leaveGeometryNode(QSGGeometryNode *) {}
- virtual void enterOpacityNode(QSGOpacityNode *) {}
- virtual void leaveOpacityNode(QSGOpacityNode *) {}
- virtual void visitNode(QSGNode *n);
- virtual void visitChildren(QSGNode *n);
-};
-
-#ifndef QT_NO_DEBUG_STREAM
-Q_DECLARATIVE_EXPORT QDebug operator<<(QDebug, const QSGNode *n);
-Q_DECLARATIVE_EXPORT QDebug operator<<(QDebug, const QSGGeometryNode *n);
-Q_DECLARATIVE_EXPORT QDebug operator<<(QDebug, const QSGTransformNode *n);
-Q_DECLARATIVE_EXPORT QDebug operator<<(QDebug, const QSGOpacityNode *n);
-Q_DECLARATIVE_EXPORT QDebug operator<<(QDebug, const QSGRootNode *n);
-
-#endif
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // NODE_H