37 lines
928 B
C++
37 lines
928 B
C++
/******************************************************************************
|
|
* QSkinny - Copyright (C) 2016 Uwe Rathmann
|
|
* This file may be used under the terms of the QSkinny License, Version 1.0
|
|
*****************************************************************************/
|
|
|
|
#ifndef QSK_PAINTED_NODE_H
|
|
#define QSK_PAINTED_NODE_H
|
|
|
|
#include "QskTextureNode.h"
|
|
#include "QskTextureRenderer.h"
|
|
|
|
class QSK_EXPORT QskPaintedNode : public QskTextureNode
|
|
{
|
|
public:
|
|
QskPaintedNode();
|
|
~QskPaintedNode() override;
|
|
|
|
void update( QQuickWindow*,
|
|
QskTextureRenderer::RenderMode, const QRect& );
|
|
|
|
protected:
|
|
virtual void paint( QPainter*, const QSizeF& ) = 0;
|
|
|
|
// a hash value of '0' always results in repainting
|
|
virtual uint hash() = 0;
|
|
|
|
private:
|
|
class PaintHelper;
|
|
|
|
void setTexture( QQuickWindow*,
|
|
const QRectF&, uint id, Qt::Orientations ) = delete;
|
|
|
|
uint m_hash;
|
|
};
|
|
|
|
#endif
|