diff options
Diffstat (limited to 'src/graphicsitems/nodes/qxpainternode.h')
-rw-r--r-- | src/graphicsitems/nodes/qxpainternode.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/graphicsitems/nodes/qxpainternode.h b/src/graphicsitems/nodes/qxpainternode.h index 7d6212c..bf7b71d 100644 --- a/src/graphicsitems/nodes/qxpainternode.h +++ b/src/graphicsitems/nodes/qxpainternode.h @@ -64,15 +64,29 @@ public: void setOpacity(qreal opacity) ; qreal opacity() const { return m_opacity; } + void setOpaquePainting(bool opaque); + bool opaquePainting() const { return m_opaquePainting; } + void setLinearFiltering(bool linearFiltering); bool linearFiltering() const { return m_linear_filtering; } void setSmoothPainting(bool s); bool smoothPainting() const { return m_smoothPainting; } - void updateTexture(); + virtual void update(uint updateFlags); private: + enum UpdateFlag + { + UpdateTexture = 0x01, + UpdateGeometry = 0x02, + UpdateFBO = 0x03 + }; + + void updateTexture(); + void updateGeometry(); + void updateFBO(); + QxPaintItem *m_item; QGLFramebufferObject *m_fbo; @@ -83,6 +97,7 @@ private: QSize m_size; qreal m_opacity; + bool m_opaquePainting; bool m_linear_filtering; bool m_smoothPainting; bool m_extensionsChecked; |