aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/items/qquickclipnode.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/declarative/items/qquickclipnode.cpp')
-rw-r--r--src/declarative/items/qquickclipnode.cpp120
1 files changed, 0 insertions, 120 deletions
diff --git a/src/declarative/items/qquickclipnode.cpp b/src/declarative/items/qquickclipnode.cpp
deleted file mode 100644
index 4aeb2dcf69..0000000000
--- a/src/declarative/items/qquickclipnode.cpp
+++ /dev/null
@@ -1,120 +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$
-**
-****************************************************************************/
-
-
-#include "qquickclipnode_p.h"
-
-#include <QtGui/qvector2d.h>
-#include <QtCore/qmath.h>
-
-QQuickDefaultClipNode::QQuickDefaultClipNode(const QRectF &rect)
- : m_rect(rect)
- , m_radius(0)
- , m_dirty_geometry(true)
- , m_geometry(QSGGeometry::defaultAttributes_Point2D(), 0)
-{
- setGeometry(&m_geometry);
- setIsRectangular(true);
-}
-
-void QQuickDefaultClipNode::setRect(const QRectF &rect)
-{
- m_rect = rect;
- m_dirty_geometry = true;
-}
-
-void QQuickDefaultClipNode::setRadius(qreal radius)
-{
- m_radius = radius;
- m_dirty_geometry = true;
- setIsRectangular(radius == 0);
-}
-
-void QQuickDefaultClipNode::update()
-{
- if (m_dirty_geometry) {
- updateGeometry();
- m_dirty_geometry = false;
- }
-}
-
-void QQuickDefaultClipNode::updateGeometry()
-{
- QSGGeometry *g = geometry();
-
- if (qFuzzyIsNull(m_radius)) {
- g->allocate(4);
- QSGGeometry::updateRectGeometry(g, m_rect);
-
- } else {
- int vertexCount = 0;
-
- // Radius should never exceeds half of the width or half of the height
- qreal radius = qMin(qMin(m_rect.width() / 2, m_rect.height() / 2), m_radius);
- QRectF rect = m_rect;
- rect.adjust(radius, radius, -radius, -radius);
-
- int segments = qMin(30, qCeil(radius)); // Number of segments per corner.
-
- g->allocate((segments + 1) * 2);
-
- QVector2D *vertices = (QVector2D *)g->vertexData();
-
- for (int part = 0; part < 2; ++part) {
- for (int i = 0; i <= segments; ++i) {
- //### Should change to calculate sin/cos only once.
- qreal angle = qreal(0.5 * M_PI) * (part + i / qreal(segments));
- qreal s = qFastSin(angle);
- qreal c = qFastCos(angle);
- qreal y = (part ? rect.bottom() : rect.top()) - radius * c; // current inner y-coordinate.
- qreal lx = rect.left() - radius * s; // current inner left x-coordinate.
- qreal rx = rect.right() + radius * s; // current inner right x-coordinate.
-
- vertices[vertexCount++] = QVector2D(rx, y);
- vertices[vertexCount++] = QVector2D(lx, y);
- }
- }
-
- markDirty(DirtyGeometry);
- }
- setClipRect(m_rect);
-}
-