DiagramDesigner/include/abstractNodePainter.h

28 lines
525 B
C
Raw Normal View History

2024-12-03 20:07:25 +08:00
#pragma once
#include <QPainter>
#include "global.h"
class QPainter;
class NodeGraphicsObject;
class NodeDataModel;
/// Class enables custom painting.
class AbstractNodePainter
{
public:
virtual ~AbstractNodePainter() = default;
/**
* Reimplement this function in order to have a custom painting.
*
* Useful functions:
* `NodeGraphicsObject::nodeScene()->nodeGeometry()`
* `NodeGraphicsObject::graphModel()`
*/
virtual void paint(QPainter *painter, NodeGraphicsObject &ngo) const = 0;
};