diff options
Diffstat (limited to 'src/gui/platforms/x11/qregion_x11.cpp')
-rw-r--r-- | src/gui/platforms/x11/qregion_x11.cpp | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/src/gui/platforms/x11/qregion_x11.cpp b/src/gui/platforms/x11/qregion_x11.cpp deleted file mode 100644 index ef4e844bfa..0000000000 --- a/src/gui/platforms/x11/qregion_x11.cpp +++ /dev/null @@ -1,92 +0,0 @@ -/**************************************************************************** -** -** 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 QtGui module 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 <private/qt_x11_p.h> - -#include <limits.h> - -QT_BEGIN_NAMESPACE - -QRegion::QRegionData QRegion::shared_empty = {Q_BASIC_ATOMIC_INITIALIZER(1), 0, 0, 0}; - -void QRegion::updateX11Region() const -{ - d->rgn = XCreateRegion(); - if (!d->qt_rgn) - return; - - int n = d->qt_rgn->numRects; - const QRect *rect = (n == 1 ? &d->qt_rgn->extents : d->qt_rgn->rects.constData()); - while (n--) { - XRectangle r; - r.x = qMax(SHRT_MIN, rect->x()); - r.y = qMax(SHRT_MIN, rect->y()); - r.width = qMin((int)USHRT_MAX, rect->width()); - r.height = qMin((int)USHRT_MAX, rect->height()); - XUnionRectWithRegion(&r, d->rgn, d->rgn); - ++rect; - } -} - -void *QRegion::clipRectangles(int &num) const -{ - if (!d->xrectangles && !(d == &shared_empty || d->qt_rgn->numRects == 0)) { - XRectangle *r = static_cast<XRectangle*>(malloc(d->qt_rgn->numRects * sizeof(XRectangle))); - d->xrectangles = r; - int n = d->qt_rgn->numRects; - const QRect *rect = (n == 1 ? &d->qt_rgn->extents : d->qt_rgn->rects.constData()); - while (n--) { - r->x = qMax(SHRT_MIN, rect->x()); - r->y = qMax(SHRT_MIN, rect->y()); - r->width = qMin((int)USHRT_MAX, rect->width()); - r->height = qMin((int)USHRT_MAX, rect->height()); - ++r; - ++rect; - } - } - if (d == &shared_empty || d->qt_rgn->numRects == 0) - num = 0; - else - num = d->qt_rgn->numRects; - return d->xrectangles; -} - -QT_END_NAMESPACE |