Files
Renderive/YSGraphic_Core/plottable/Planisphere.h
T
2026-06-16 13:33:27 +08:00

51 lines
1.4 KiB
C++

#pragma once
#include "../RenderAble.h"
namespace YSG {
enum class Planisphere_Type {Psk8 = 8};
struct PlanispherePrivate;
class LIB_DECL Planisphere : public RenderAble {
public:
Q_Ptr2(Planisphere)
void giveData(QPointF pos);
PROP(Axis*, IAxis)
PROP(Axis*, QAxis)
PROP(Range, IRange)
PROP(Range, QRange)
PROP(QColor, pointColor)
PROP(QColor, anchorColor)
PROP(int, continueMillisecond)
PROP(Planisphere_Type, type)
void setToAxisCenter();
struct Builder;
};
struct Planisphere_Prop {
Axis *IAxis{};
Axis *QAxis{};
Range IRange{0, 100};
Range QRange{0, 100};
QColor pointColor = Qt::red;
QColor anchorColor = Qt::yellow;
int continueMillisecond = 1000;
Planisphere_Type type = Planisphere_Type::Psk8;
};
struct LIB_DECL Planisphere::Builder : Planisphere_Prop {
PROP_B(Axis*, IAxis)
PROP_B(Axis*, QAxis)
PROP_B(Range, IRange)
PROP_B(Range, QRange)
PROP_B(QColor, pointColor)
PROP_B(QColor, anchorColor)
PROP_B(int, continueMillisecond)
PROP_B(Planisphere_Type, type)
SETTER(QString, layerName, "plottable")
Builder(Axis* IAxis, Axis* QAxis);
Planisphere* build();
protected:
Plot *plot{};
};
}