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.
nmWATI/Include/iPlot/iPlotBase/ZxTempLayer.h

59 lines
1.5 KiB
C++

#pragma once
#include "ZxLayerItem.h"
/// 临时图层. 这是一种特殊图层, 主要特点如下
/// 每个场景只有一个临时图层
/// 总是在其他图层前面
class I_PLOTBASE_EXPORT ZxTempLayer : public ZxLayerItem
{
Q_OBJECT
ZX_DECLARE_DYNAMIC
public:
ZxTempLayer();
/// 是否显示十字线
virtual void setCrossLineVisible(bool bVisible);
virtual bool isCrossLineVisible() const;
/// 十字线位置(窗口坐标)
virtual void setCrossLinePos(const QPointF& _pt);
virtual QPointF getCrossLinePos() const;
/// 十字线的画笔
virtual QPen getCrossLinePen() const;
virtual void setCrossLinePen(QPen pen);
/// 十字线显示区域
virtual QRectF getCrossLineRect() const;
virtual void setCrossLineRect(const QRectF& rect);
// 设置Tips
virtual void setTips(QString s);
virtual QString getTips() const;
virtual void setTipsVisible(bool bVisible);
virtual bool isTipsVisible() const;
// 鼠标移出视图区
virtual void clearLineAndTips();
protected:
virtual void paintFront(QPainter* painter, const ZxPaintParam& param);
virtual void paintCrossLine(QPainter* painter, const ZxPaintParam& param, QRectF rt);
virtual void paintTips(QPainter* painter, const ZxPaintParam& param, QRectF rt);
virtual void updateRenderArea();
protected:
bool m_bShowCrossLine;
QPointF m_ptCrossLine;
QPen m_penCrossLine;
QRectF m_rectCrossLine;
bool m_bShowTips;
QString m_sTips;
};