File indexing completed on 2025-04-20 08:13:35
0001 /**************************************************************************** 0002 ** 0003 ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). 0004 ** Contact: http://www.qt-project.org/legal 0005 ** 0006 ** This file is part of the Qt3Support module of the Qt Toolkit. 0007 ** 0008 ** $QT_BEGIN_LICENSE:LGPL$ 0009 ** Commercial License Usage 0010 ** Licensees holding valid commercial Qt licenses may use this file in 0011 ** accordance with the commercial license agreement provided with the 0012 ** Software or, alternatively, in accordance with the terms contained in 0013 ** a written agreement between you and Digia. For licensing terms and 0014 ** conditions see http://qt.digia.com/licensing. For further information 0015 ** use the contact form at http://qt.digia.com/contact-us. 0016 ** 0017 ** GNU Lesser General Public License Usage 0018 ** Alternatively, this file may be used under the terms of the GNU Lesser 0019 ** General Public License version 2.1 as published by the Free Software 0020 ** Foundation and appearing in the file LICENSE.LGPL included in the 0021 ** packaging of this file. Please review the following information to 0022 ** ensure the GNU Lesser General Public License version 2.1 requirements 0023 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 0024 ** 0025 ** In addition, as a special exception, Digia gives you certain additional 0026 ** rights. These rights are described in the Digia Qt LGPL Exception 0027 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 0028 ** 0029 ** GNU General Public License Usage 0030 ** Alternatively, this file may be used under the terms of the GNU 0031 ** General Public License version 3.0 as published by the Free Software 0032 ** Foundation and appearing in the file LICENSE.GPL included in the 0033 ** packaging of this file. Please review the following information to 0034 ** ensure the GNU General Public License version 3.0 requirements will be 0035 ** met: http://www.gnu.org/copyleft/gpl.html. 0036 ** 0037 ** 0038 ** $QT_END_LICENSE$ 0039 ** 0040 ****************************************************************************/ 0041 0042 #ifndef KTL_Q3POLYGONSCANNER_H 0043 #define KTL_Q3POLYGONSCANNER_H 0044 0045 #include <QtCore/qglobal.h> 0046 0047 QT_BEGIN_HEADER 0048 0049 QT_BEGIN_NAMESPACE 0050 0051 QT_MODULE(Qt3SupportLight) 0052 0053 class QPolygon; 0054 class QPoint; 0055 0056 class /* Q_COMPAT_EXPORT */ KtlQ3PolygonScanner 0057 { 0058 public: 0059 virtual ~KtlQ3PolygonScanner() 0060 { 0061 } 0062 void scan(const QPolygon &pa, bool winding, int index = 0, int npoints = -1); 0063 void scan(const QPolygon &pa, bool winding, int index, int npoints, bool stitchable); 0064 enum Edge { Left = 1, Right = 2, Top = 4, Bottom = 8 }; 0065 void scan(const QPolygon &pa, bool winding, int index, int npoints, KtlQ3PolygonScanner::Edge edges); 0066 virtual void processSpans(int n, QPoint *point, int *width) = 0; 0067 }; 0068 0069 QT_END_NAMESPACE 0070 0071 QT_END_HEADER 0072 0073 #endif // KTL_Q3POLYGONSCANNER_H