summaryrefslogtreecommitdiffstats
path: root/qtinterface/qt4/Qt/qpaintengine.h
diff options
context:
space:
mode:
Diffstat (limited to 'qtinterface/qt4/Qt/qpaintengine.h')
-rw-r--r--qtinterface/qt4/Qt/qpaintengine.h364
1 files changed, 0 insertions, 364 deletions
diff --git a/qtinterface/qt4/Qt/qpaintengine.h b/qtinterface/qt4/Qt/qpaintengine.h
deleted file mode 100644
index 1089cce..0000000
--- a/qtinterface/qt4/Qt/qpaintengine.h
+++ /dev/null
@@ -1,364 +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 QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Nokia.
-**
-** 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.
-**
-** 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.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QPAINTENGINE_H
-#define QPAINTENGINE_H
-
-#include <QtCore/qnamespace.h>
-#include <QtCore/qobjectdefs.h>
-#include <QtCore/qscopedpointer.h>
-#include <QtGui/qpainter.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Gui)
-
-class QFontEngine;
-class QLineF;
-class QPaintDevice;
-class QPaintEnginePrivate;
-class QPainterPath;
-class QPointF;
-class QPolygonF;
-class QRectF;
-struct QGlyphLayout;
-class QTextItemInt;
-class QPaintEngineState;
-
-class Q_GUI_EXPORT QTextItem {
-public:
- enum RenderFlag {
- RightToLeft = 0x1,
- Overline = 0x10,
- Underline = 0x20,
- StrikeOut = 0x40,
-
- Dummy = 0xffffffff
- };
- Q_DECLARE_FLAGS(RenderFlags, RenderFlag)
- qreal descent() const;
- qreal ascent() const;
- qreal width() const;
-
- RenderFlags renderFlags() const;
- QString text() const;
- QFont font() const;
-};
-Q_DECLARE_TYPEINFO(QTextItem, Q_PRIMITIVE_TYPE);
-
-
-class Q_GUI_EXPORT QPaintEngine
-{
- Q_DECLARE_PRIVATE(QPaintEngine)
-public:
- enum PaintEngineFeature {
- PrimitiveTransform = 0x00000001, // Can transform primitives brushes
- PatternTransform = 0x00000002, // Can transform pattern brushes
- PixmapTransform = 0x00000004, // Can transform pixmaps
- PatternBrush = 0x00000008, // Can fill with pixmaps and standard patterns
- LinearGradientFill = 0x00000010, // Can fill gradient areas
- RadialGradientFill = 0x00000020, // Can render radial gradients
- ConicalGradientFill = 0x00000040, // Can render conical gradients
- AlphaBlend = 0x00000080, // Can do source over alpha blend
- PorterDuff = 0x00000100, // Can do general porter duff compositions
- PainterPaths = 0x00000200, // Can fill, outline and clip paths
- Antialiasing = 0x00000400, // Can antialias lines
- BrushStroke = 0x00000800, // Can render brush based pens
- ConstantOpacity = 0x00001000, // Can render at constant opacity
- MaskedBrush = 0x00002000, // Can fill with textures that has an alpha channel or mask
- PerspectiveTransform = 0x00004000, // Can do perspective transformations
- BlendModes = 0x00008000, // Can do extended Porter&Duff composition
- ObjectBoundingModeGradients = 0x00010000, // Can do object bounding mode gradients
- RasterOpModes = 0x00020000, // Can do logical raster operations
- PaintOutsidePaintEvent = 0x20000000, // Engine is capable of painting outside paint events
- /* 0x10000000, // Used for emulating
- QGradient::StretchToDevice,
- defined in qpainter.cpp
-
- 0x40000000, // Used internally for emulating opaque backgrounds
- */
-
- AllFeatures = 0xffffffff // For convenience
- };
- Q_DECLARE_FLAGS(PaintEngineFeatures, PaintEngineFeature)
-
- enum DirtyFlag {
- DirtyPen = 0x0001,
- DirtyBrush = 0x0002,
- DirtyBrushOrigin = 0x0004,
- DirtyFont = 0x0008,
- DirtyBackground = 0x0010,
- DirtyBackgroundMode = 0x0020,
- DirtyTransform = 0x0040,
- DirtyClipRegion = 0x0080,
- DirtyClipPath = 0x0100,
- DirtyHints = 0x0200,
- DirtyCompositionMode = 0x0400,
- DirtyClipEnabled = 0x0800,
- DirtyOpacity = 0x1000,
-
- AllDirty = 0xffff
- };
- Q_DECLARE_FLAGS(DirtyFlags, DirtyFlag)
-
- enum PolygonDrawMode {
- OddEvenMode,
- WindingMode,
- ConvexMode,
- PolylineMode
- };
-
- explicit QPaintEngine(PaintEngineFeatures features=0);
- virtual ~QPaintEngine();
-
- bool isActive() const { return active; }
- void setActive(bool newState) { active = newState; }
-
- virtual bool begin(QPaintDevice *pdev) = 0;
- virtual bool end() = 0;
-
- virtual void updateState(const QPaintEngineState &state) = 0;
-
- virtual void drawRects(const QRect *rects, int rectCount);
- virtual void drawRects(const QRectF *rects, int rectCount);
-
- virtual void drawLines(const QLine *lines, int lineCount);
- virtual void drawLines(const QLineF *lines, int lineCount);
-
- virtual void drawEllipse(const QRectF &r);
- virtual void drawEllipse(const QRect &r);
-
- virtual void drawPath(const QPainterPath &path);
-
- virtual void drawPoints(const QPointF *points, int pointCount);
- virtual void drawPoints(const QPoint *points, int pointCount);
-
- virtual void drawPolygon(const QPointF *points, int pointCount, PolygonDrawMode mode);
- virtual void drawPolygon(const QPoint *points, int pointCount, PolygonDrawMode mode);
-
- virtual void drawPixmap(const QRectF &r, const QPixmap &pm, const QRectF &sr) = 0;
- virtual void drawTextItem(const QPointF &p, const QTextItem &textItem);
- virtual void drawTiledPixmap(const QRectF &r, const QPixmap &pixmap, const QPointF &s);
- virtual void drawImage(const QRectF &r, const QImage &pm, const QRectF &sr,
- Qt::ImageConversionFlags flags = Qt::AutoColor);
-
- void setPaintDevice(QPaintDevice *device);
- QPaintDevice *paintDevice() const;
-
- void setSystemClip(const QRegion &baseClip);
- QRegion systemClip() const;
-
- void setSystemRect(const QRect &rect);
- QRect systemRect() const;
-
-#ifdef Q_WS_WIN
- virtual HDC getDC() const;
- virtual void releaseDC(HDC hdc) const;
-#endif
-
- virtual QPoint coordinateOffset() const;
-
- enum Type {
- X11,
- Windows,
- QuickDraw, CoreGraphics, MacPrinter,
- QWindowSystem,
- PostScript,
- OpenGL,
- Picture,
- SVG,
- Raster,
- Direct3D,
- Pdf,
- OpenVG,
- OpenGL2,
- PaintBuffer,
-
- User = 50, // first user type id
- MaxUser = 100 // last user type id
- };
- virtual Type type() const = 0;
-
- inline void fix_neg_rect(int *x, int *y, int *w, int *h);
-
- inline bool testDirty(DirtyFlags df);
- inline void setDirty(DirtyFlags df);
- inline void clearDirty(DirtyFlags df);
-
- bool hasFeature(PaintEngineFeatures feature) const { return (gccaps & feature) != 0; }
-
- QPainter *painter() const;
-
- void syncState();
- inline bool isExtended() const { return extended; }
-
-protected:
- QPaintEngine(QPaintEnginePrivate &data, PaintEngineFeatures devcaps=0);
-
- QPaintEngineState *state;
- PaintEngineFeatures gccaps;
-
- uint active : 1;
- uint selfDestruct : 1;
- uint extended : 1;
-
- QScopedPointer<QPaintEnginePrivate> d_ptr;
-
-private:
- void setAutoDestruct(bool autoDestr) { selfDestruct = autoDestr; }
- bool autoDestruct() const { return selfDestruct; }
- Q_DISABLE_COPY(QPaintEngine)
-
- friend class QPainterReplayer;
- friend class QFontEngineBox;
- friend class QFontEngineMac;
- friend class QFontEngineWin;
-#ifndef QT_NO_FREETYPE
- friend class QFontEngineFT;
-#endif
-#ifndef QT_NO_QWS_QPF
- friend class QFontEngineQPF1;
-#endif
-#ifndef QT_NO_QWS_QPF2
- friend class QFontEngineQPF;
-#endif
- friend class QPSPrintEngine;
- friend class QMacPrintEngine;
- friend class QMacPrintEnginePrivate;
-#ifdef Q_WS_QWS
- friend class QtopiaPrintEngine;
- friend class QtopiaPrintEnginePrivate;
- friend class QProxyFontEngine;
-#endif
- friend class QPainter;
- friend class QPainterPrivate;
- friend class QWidget;
- friend class QWidgetPrivate;
- friend class QWin32PaintEngine;
- friend class QWin32PaintEnginePrivate;
- friend class QMacCGContext;
- friend class QPreviewPaintEngine;
- friend class QX11GLPixmapData;
-};
-
-
-class Q_GUI_EXPORT QPaintEngineState
-{
-public:
- QPaintEngine::DirtyFlags state() const { return dirtyFlags; }
-
- QPen pen() const;
- QBrush brush() const;
- QPointF brushOrigin() const;
- QBrush backgroundBrush() const;
- Qt::BGMode backgroundMode() const;
- QFont font() const;
- QMatrix matrix() const;
- QTransform transform() const;
-
- Qt::ClipOperation clipOperation() const;
- QRegion clipRegion() const;
- QPainterPath clipPath() const;
- bool isClipEnabled() const;
-
- QPainter::RenderHints renderHints() const;
- QPainter::CompositionMode compositionMode() const;
- qreal opacity() const;
-
- QPainter *painter() const;
-
- bool brushNeedsResolving() const;
- bool penNeedsResolving() const;
-
-protected:
- friend class QPaintEngine;
- friend class QRasterPaintEngine;
- friend class QWidget;
- friend class QPainter;
- friend class QPainterPrivate;
- friend class QMacPrintEnginePrivate;
-
- QPaintEngine::DirtyFlags dirtyFlags;
-};
-
-//
-// inline functions
-//
-
-inline void QPaintEngine::fix_neg_rect(int *x, int *y, int *w, int *h)
-{
- if (*w < 0) {
- *w = -*w;
- *x -= *w - 1;
- }
- if (*h < 0) {
- *h = -*h;
- *y -= *h - 1;
- }
-}
-
-inline bool QPaintEngine::testDirty(DirtyFlags df) {
- Q_ASSERT(state);
- return ((state->dirtyFlags & df) != 0);
-}
-
-inline void QPaintEngine::setDirty(DirtyFlags df) {
- Q_ASSERT(state);
- state->dirtyFlags |= df;
-}
-
-inline void QPaintEngine::clearDirty(DirtyFlags df)
-{
- Q_ASSERT(state);
- state->dirtyFlags &= ~static_cast<uint>(df);
-}
-
-Q_DECLARE_OPERATORS_FOR_FLAGS(QTextItem::RenderFlags)
-Q_DECLARE_OPERATORS_FOR_FLAGS(QPaintEngine::PaintEngineFeatures)
-Q_DECLARE_OPERATORS_FOR_FLAGS(QPaintEngine::DirtyFlags)
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QPAINTENGINE_H