Files
Renderive/YSGraphic_Core/Axis/Time_Axis.h
T
2026-07-23 18:11:07 +08:00

43 lines
1.1 KiB
C++

#pragma once
#include "Abs_Axis.h"
namespace YSG {
struct Time_Axis_Private;
struct Time_Ticker;
class LIB_DECL Time_Axis : public Abs_Axis {
public:
Time_Axis_Private* d();
Render_Data* create_render_data() override;
Render_State* create_render_state() override;
Input_Data* create_input_data() override;
protected:
Time_Axis();
friend struct Time_Axis_Private;
friend struct Time_Axis_Render_State;
friend struct Time_Axis_Input_Data;
public:
PROP(int, time_point_size)
PROP(int, tick_pixel_space)
PROP(QString, time_format)
PROP(QFont, font)
int give_data(QTime time);
QTime tick_to_time(int tick, SRC = SRC::Edit);
struct Builder;
};
struct Time_Axis_Prop {
int time_point_size = 100;
int tick_pixel_space = 8;
QString time_format = "mm:ss.zzz";
QFont font;
};
struct LIB_DECL Time_Axis::Builder : Abs_Axis::BuilderT<Time_Axis::Builder>,
protected
Time_Axis_Prop {
PROP_B(int, time_point_size)
PROP_B(int, tick_pixel_space)
PROP_B(QString, time_format)
PROP_B(QFont, font)
Builder(Plot * plot, Qt::Orientation orientation);
Time_Axis* build();
};
}