You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
860 B
C++
44 lines
860 B
C++
#pragma once
|
|
|
|
#include <QPainter>
|
|
#include <QRectF>
|
|
|
|
#include "Defines.h"
|
|
#include "iPlotCurveT_global.h"
|
|
|
|
class ZxPaintParam;
|
|
|
|
// 8控制点管理器
|
|
class I_PLOTCURVE_T_EXPORT ZxHandleHelper
|
|
{
|
|
public:
|
|
|
|
ZxHandleHelper();
|
|
ZxHandleHelper(const QRectF& rt);
|
|
|
|
public:
|
|
|
|
// 边界
|
|
virtual void setBounds(const QRectF& rt);
|
|
virtual QRectF getBounds() const;
|
|
|
|
// handle
|
|
virtual RectPos hitTest(const QPointF& pt, double fHdlSize = 2.2f);
|
|
static QVector<QPointF> getEightPoints(const QRectF& rtBound);
|
|
static QPointF getOnePointOf(const QRectF& rtBound, RectPos o);
|
|
|
|
// 光标
|
|
virtual QCursor getCursor(RectPos o);
|
|
|
|
// 绘制
|
|
virtual void paintBack(QPainter* painter,
|
|
const ZxPaintParam& param,
|
|
RectPos oActive = OUTER);
|
|
|
|
private:
|
|
|
|
QRectF m_rtBound;
|
|
};
|
|
|
|
|