/**************************************************************************** ** ** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** ** This file is part of the Qt SceneGraph Raster Add-on. ** ** $QT_BEGIN_LICENSE$ ** 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 Digia. ** ** If you have questions regarding the use of this file, please use ** contact form at http://qt.digia.com ** $QT_END_LICENSE$ ** ****************************************************************************/ #ifndef PAINTERNODE_H #define PAINTERNODE_H #include #include #include class PainterNode : public QSGPainterNode { public: PainterNode(QQuickPaintedItem *item); ~PainterNode(); void setPreferredRenderTarget(QQuickPaintedItem::RenderTarget target); void setSize(const QSize &size); QSize size() const { return m_size; } void setDirty(const QRect &dirtyRect = QRect()); void setOpaquePainting(bool opaque); bool opaquePainting() const { return m_opaquePainting; } void setLinearFiltering(bool linearFiltering); bool linearFiltering() const { return m_linear_filtering; } void setMipmapping(bool mipmapping); bool mipmapping() const { return m_mipmapping; } void setSmoothPainting(bool s); bool smoothPainting() const { return m_smoothPainting; } void setFillColor(const QColor &c); QColor fillColor() const { return m_fillColor; } void setContentsScale(qreal s); qreal contentsScale() const { return m_contentsScale; } void setFastFBOResizing(bool dynamic); bool fastFBOResizing() const { return m_fastFBOResizing; } QImage toImage() const; void update(); QSGTexture *texture() const { return m_texture; } void paint(QPainter *painter); void paint(); private: QQuickPaintedItem::RenderTarget m_preferredRenderTarget; QQuickPaintedItem::RenderTarget m_actualRenderTarget; QQuickPaintedItem *m_item; QPixmap m_pixmap; QSGTexture *m_texture; QSize m_size; bool m_dirtyContents; QRect m_dirtyRect; bool m_opaquePainting; bool m_linear_filtering; bool m_mipmapping; bool m_smoothPainting; bool m_extensionsChecked; bool m_multisamplingSupported; bool m_fastFBOResizing; QColor m_fillColor; qreal m_contentsScale; bool m_dirtyGeometry; }; #endif // PAINTERNODE_H