File indexing completed on 2024-04-21 05:43:44

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