CBlueUI  
C++ 跨平台跨框架的数据可视化工具
载入中...
搜索中...
未找到
BUI::LinearAxis类 参考

线性坐标轴 +-----------—+=================+------------—+ m_data_min m_show_min m_show_max m_data_max 更多...

类 BUI::LinearAxis 继承关系图:

Public 成员函数

 LinearAxis ()
 ~LinearAxis ()
void SetDataRange (double start, double end, BOOL keep_same_show=FALSE)
 设置轴起点和终点对应的刻度
void SetSelectRange (double fmin, double fmax)
 设置轴显示范围。范围由百分比显示
void SetLeastNiceRange (double fmin, double fmax, double padding_ratio=0.05, int major=0, int minor=0, int round_flag=1)
 设置最优坐标轴刻度。会自动更新坐标轴的显示范围,最小刻度
VecFloat2 ViewPoint (double v) const
 获得刻度v,所在的像素坐标
POINT ViewPointRound (double v) const
 获得刻度v,所在的像素坐标。并对坐标进行取整
double GetValueInPercent (double v) const
 获得轴上对应值的百分比
double ScreenPointToValue (double x, double y) const
 根据屏幕像素点,求出轴刻度值。使用向量投影方法
VecFloat2 DirectionVector (BOOL is_unitization=TRUE, BOOL remove_head=FALSE) const
 轴方向的实际距离向量
VecFloat2 ValueVector (double v) const
 获得刻度值v,对应的像素向量
VecFloat2 WeightVector (double w) const
 获得权重w,对应的像素尺寸
VecFloat2 ViewSketchPoint (double v, double t3v) const
 轴上缩略图,坐标点获取算法。t3v代表法向量方向的百分比。值域=[0,1]
VecFloat2 ViewSketchSize (double v, double t3v) const
 轴上缩略图,坐标尺寸获取算法。t3v代表法向量方向的百分比。值域=[0,1]
BOOL IsViewportArea (double v) const
 是否在视窗可见范围内,TRUE表示可见
double GetCurHitPos () const
 返回当前鼠标对应的轴位置
void SetLabelVector (const VecFloat2 &vt)
 设置刻度线方向向量,该向量基于控件坐标系
double GetPrecisionUnit (BOOL sign=TRUE) const
 获得轴刻度精度
void SetPrecisionUnit (double steps)
 设置轴最小精度
void SetAxisText (const BeString &str)
 设置轴显示文本
void SetLabelAngle (double rad)
 设置文本相对于法向量的偏移角度
void SetTickLabelSpacing (int distance)
 刻度线文本间隔
void SetAxisPosition (POINT pt_start, POINT pt_end)
 设置轴起点和终点。基于控件坐标系
void SetAxisPosition (int x1, int y1, int x2, int y2)
 设置轴起点和终点。基于控件坐标系
void SetLayoutType (AxisLayoutType type, double value)
 设置坐标轴显示位置
void SetVertical (BOOL is_vert)
 标记是否为垂直坐标轴
void SetPerpendecularAxis (LinearAxis *axis)
 设置关联的坐标轴
void GetAxisStartToEndPoint (POINT &pt_start, POINT &pt_end, BOOL has_head=FALSE) const
 获得坐标轴位置起点和终点。基于控件坐标系
void SetAxisHeadOffset (int offset)
 设置第一个刻度与边沿的距离
double GetAxisHeadOffset ()
 获取第一个刻度与边沿的距离
void SetAxisPosNorOffset (int offset)
void SetScrollSize (int size)
BOOL IsScrollVaild () const
 滚动条是否有效
void SetTickMarkCount (TickMarkID id, int c)
void SetTickMarkLineSize (TickMarkID id, int tick_size=4)
void SetTickMarkStyle (TickMarkID id, TickMarkPositon style=TickOnOutside)
void SetTickMarkInfo (TickMarkID id, int c, int tick_size, TickMarkPositon style=TickOnOutside)
double MinorStep () const
 小刻度步长
double MajorStep () const
 大刻度步长
double MinorUnit ()
 小刻度最小单位
double MajorUnit ()
 大刻度最小单位
void ShowGridLine (BOOL is_visable)
 显示(或隐藏)网格线
void ShowGridBk (BOOL is_visable)
 显示(或隐藏)背景
BOOL IsShowGridLine () const
 判断网格线是否显示
BOOL IsShowGridBk () const
 判断间隔背景是否显示
double GetProjectionOnTheNormalVector (LinearAxis *other_axis, POINT pt)
 获得任意点,在otherAxis法向量上的投影
BOOL NotifyZoomRange (double v)
void EnableZoomd (BOOL enable)
 开启(或禁用)视野缩放
UINT HitScrollThumbStates (POINT pt, VecFloat2 axis) const
BOOL OnChangePageRange (double k, double k_min, UINT hit)
void MovePageToEnd ()
void MovePageToStart ()
void StorageTrackPage ()
BOOL DoMoveViewByPoint (IEventHandler *call_handler, int cx, int cy, UINT hit)
void OnPaintUserLine (ISurface *surface, RECT *rc_clip, POINT pt, LineStyle *style, const GColor &color_cross_line, LinearAxis *other_axis)
void OnPaintAxisGridLine (ISurface *surface, RECT *rc_clip, LinearAxis *other_axis, const VecFloat2 &dv=VecFloat2(0, 0))
void OnPaintAxisGridFill (ISurface *surface, RECT *rc_clip, LinearAxis *other_axis)
void OnPaintAxisCustomFill (ISurface *surface, RECT *rc_clip, double v1, double v2, GColor bru_color, LinearAxis *other_axis)
void OnPaintAxisDataLabel (ISurface *surface, double v, LPCTSTR text, int len, const GColor &color, const GColor &color_text_bg)
void OnPaintUserMajorTickLine (ISurface *surface, RECT *rc_clip, double v)
void OnPaintAxisLastBorderLine (ISurface *surface, RECT *rc_clip, LinearAxis *other_axis)
void DrawPaintGridLineByVector (ISurface *surface, RECT *rc_clip, VecFloat2 vt1, VecFloat2 vt2)
 根据指定向量绘制网格线
void ShellCoordinateAttribute (const BeString &str_name, const BeString &str_value, ICoordList *coord_list) override
 命令控制和属性设置接口
void OnTranslateLanguage () override
 翻译处理函数
void GetCoordRelationship (std::vector< BeString > &list) override
 获得类的继承关系
void DrawCursor (ISurface *surface, const VecFloat2 &pt1, const GColor &color, int size)
BOOL IsInViewport (double v) const
RECT GetLabelTextRect (ISurface *surface, const VecFloat2 &p0, const VecFloat2 &vi, const VecFloat2 &dn, SIZE sz_txt)
void DrawNormalVectorTextAngle (ISurface *surface, const VecFloat2 &p0, const VecFloat2 &vi, const VecFloat2 &dn, LPCTSTR text, int len, double text_angle, const GColor &color, const GColor *bkcolor=NULL, const VecFloat2 &bk_pad_size=VecFloat2(2, 2))
void DrawNormalVectorLine (ISurface *surface, const VecFloat2 &p0, const VecFloat2 &vi, const VecFloat2 &dn1, const VecFloat2 &dn2, const GColor &color, int size=1, LineStyle *style=NULL)
VecFloat2 GetAxisVectorNormal () const
void Swap () override
 若满足笛卡尔坐标系,可以将X和Y翻转
LPCTSTR GetAxisClassName () override
 获得坐标轴类名
double GetCoordinateWeight (double d) override
 获得权重
void OnCalcAxisPosition (RECT rc_diagram) override
 坐标轴位置时响应事件
void OnPaintChart (ISurface *surface, RECT *rc_clip) override
BOOL OnNotifyMessage (IEventHandler *notify, UINT message, WPARAM wp, LPARAM lp) override
 消息处理函数
void GetCoordinateValue (int mouse_x, int mouse_y, double *out_values, int out_len) override
 获得鼠标处,表示的坐标值
double GetAxisNewTimePos (int axis_index) override
 获得当前最新时间的数据坐标轴位置
void GetDataRange (int axis_index, double &fmin, double &fmax) override
 获得坐标轴(axis_index)的数据范围
double GetShowFactor (int axis_index) override
 获得坐标轴(axis_index). 屏幕起点到终点的距离(D),和数值范围(V)的比值。即V/D。
void Transform (double *x, double *y) override
 得到(x,y)转换后的值。转换后依然存入x和y变量中。
void Transform2x2 (double *x, double *y) override
 得到(x,y)转换(忽略平移值)后的值。通常用于计算宽度和高度的变化。转换后依然存入x和y变量中。
BOOL IsInPath (double x, double y) override
 是否在坐标系内
void OnSummitTarget (FourCode four_code, LPCTSTR data) override
 对象之间传递数据的提交操作
Public 成员函数 继承自 BUI::CChartAxis
 CChartAxis ()
virtual ~CChartAxis ()
void SetScientificLabel (BOOL is_scientific)
 设置为科学计数法
void SetEditUI (CEditTextUI *edit_ui)
 设置编辑UI
CEditTextUIGetEditUI () const
 获得编辑UI
void SetAxisColor (const GColor &c)
void SetGridStyle (BOOL is_fill, BOOL is_line)
BOOL IsShowGridFill () const
 是否填充背景
BOOL IsShowGridLine () const
 是否显示网格线
void SetGridLineType (PenType type)
 设置网格线风格
void SetFont (GFont *font)
 设置字体
void SetLabelPrefix (BeString str)
 设置前缀文本
void SetLabelSuffix (BeString str)
 设置后缀文本
void SetDecimalPrecision (int precision)
 设置小数点精度
void SetLabelOffsetRelativeToMajortick (double weight)
 设置文本标签与刻度线之间的距离
void SetTranformAxisLabelFunc (LPTranformText fn)
 在显示轴上的文本时,完全由回调函数显示。轴文本自定义转换函数
void SetTranformAxisLabelValueFunc (LPTranformValue fn)
 在显示轴上的文本时,仅对数值进行转换
void GetAxisLabelTickText (BasicStringBuffer &buf, double va) const
 获得va刻度,应该显示的文本
Public 成员函数 继承自 BUI::CChartCoordinate
 CChartCoordinate ()
virtual ~CChartCoordinate ()
void SetAxisNameText (const BeString &str)
 设置轴名称
const BeStringGetAxisName ()
 获取轴名称
POINT CoordinateCenterPoint () const
 获取坐标系中的中心点
void SetCoordinateCenterPoint (LONG x, LONG y)
 设置坐标系中的中心点
VecFloat2 GetPointFromPercent (double xp, double yp) const
 返回百分比坐标
void ModifyCoordinateFlags (UINT style, UINT op=ADD_FLAGS)
UINT IsHasCoordinateFlags (UINT flags) const
void SetAxisColorMapGradient (GBrushGradient *color_map)
 设置渐变画刷
GBrushGradientGetAxisColorMapGradient () const
 获取渐变画刷
void SetCoordHitState (BOOL hit)
 设置坐标系下,是否存在命中的元素
BOOL GetCoordHitState () const
 返回在坐标系下,是否存在命中的元素
BOOL IsEnable () const
 获取可用性
void SetEnable (BOOL enable)
 设置可用性
BOOL IsVisable () const
 获取可见性
void SetVisable (BOOL show)
 设置可见性
virtual BOOL IsVaild ()
 坐标系统是否是有效的
virtual VecFloat2 GetCurHitPos ()
 获得当前鼠标位置,转换为图标坐标系后的点
virtual RECT RectDiagram ()
 坐标系矩形区域
virtual void ChangeCoordThemeColors ()
 主题改变时触发
virtual void OnSetWindowRect (RECT rc_window)
 window窗口位置更新
virtual void OnPaintChartBackground (ISurface *surface, RECT *rc_clip)
virtual void OnPaintChartCrossLine (ISurface *surface, RECT *rc_clip, double v1, double v2, LineStyle *style, const GColor &color_cross_line)
virtual VecFloat2 ViewIntSizeByValueTrans (double cx, double cy, AxisValueTransModel mx, AxisValueTransModel my)
virtual VecFloat2 ViewIntPointByValueTrans (double x, double y, AxisValueTransModel mx, AxisValueTransModel my)
virtual BOOL IsViewportAreaByValueTrans (double x, double y, AxisValueTransModel mx, AxisValueTransModel my)
Public 成员函数 继承自 BUI::PathTransform
 PathTransform ()
virtual ~PathTransform ()
virtual void TransformFloat (float *x, float *y)
virtual void TransformLong (LONG *x, LONG *y)
virtual BOOL IsCartesianSystem ()
 是否是笛卡尔坐标系
Public 成员函数 继承自 BUI::VisibleProperty
 VisibleProperty ()
 ~VisibleProperty ()
BOOL IsVisable () const
void SetVisable (BOOL is_show)
Public 成员函数 继承自 BUI::ICommitTarget
 ICommitTarget ()
virtual ~ICommitTarget ()

Public 属性

POINT m_pt_start
POINT m_pt_end
double m_data_min
double m_data_max
double m_show_min
double m_show_max
VecFloat2 m_sel_range
VecFloat2 m_sel_track
double m_mult_k
double m_t
double m_minor_real
double m_precision
int m_minor
int m_major
int m_minor_tick_size
int m_major_tick_size
int m_minor_tick_pen_size
int m_major_tick_pen_size
TickMarkPositon m_major_mark_style
int m_tick_label_spacing
float m_text_angle
int m_min_page_unit
int m_min_page_screen_size
UINT m_la_hit
POINT m_pt_trace
VecFloat2 m_pt_thumb [4]
VecFloat2 m_pt_zoom_start
VecFloat2 m_pt_zoom_end
BOOL m_is_zoom_enable
BeString m_text_axis
double m_scope_increment_step
double m_head_size
double m_db_cur_hit_pos
VecFloat2 m_v_head
BOOL m_is_vertical
LinearAxism_perpendecular_axis
AxisLayoutType m_layout_type
double m_cross_other_axis_value
int m_nor_offset
int m_scroll_size
BOOL m_is_show_gridline
BOOL m_is_show_grid_bk
VecFloat2 m_v_scroll
VecFloat2 m_vn_tick
Public 属性 继承自 BUI::CChartAxis
BOOL m_is_fill_grid
BOOL m_is_stroke_grid_line
BOOL m_is_recalac_data
BeString m_text_prefix
BeString m_text_suffix
int m_decimal_precision
BOOL m_is_show_scientific
BOOL m_is_align_text_sign
BOOL m_is_remove_last_zero
double m_offset_label
GFontm_font
GBrushArray m_bru_stroke_axis
GBrushArray m_bru_stroke_minor
GBrushArray m_bru_stroke_major
GBrushArray m_bru_text
GBrushArray m_bru_text_bg
GBrushArray m_bru_stroke_grid
GBrushArray m_bru_stroke_cross
GBrushArray m_bru_fill_axis
GBrushArray m_bru_fill_interval
GBrushArray m_bru_fill_scroll
PenType m_gridline_style
LPTranformText m_proc_conver_text
LPTranformValue m_proc_conver_text_value
VecFloat2 m_edit_left [4]
VecFloat2 m_edit_right [4]
CEditTextUIm_edit_ui
int m_show_edit_mode

额外继承的成员函数

Protected 成员函数 继承自 BUI::CChartAxis
void ChangeCChartAxisTheme ()
Protected 成员函数 继承自 BUI::CChartCoordinate
void DrawBarStyle (ISurface *surface, DrawBarInfo *barinfo)
BOOL HittestBar (DrawBarInfo *barinfo)
BOOL IsVisibleView (DrawBarInfo *barinfo)
void DoChangeCoordThemeColors (const BeString &name)
Protected 属性 继承自 BUI::CChartCoordinate
BeString m_name_id
RECT m_rect_diagram
POINT m_view_center_pt
VecFloat2 m_point_cur_hit
WeightValueTransModel m_weight_mode
UINT m_coord_flags
BOOL m_is_hit_ele
GBrushGradientm_color_map
double m_time_axis_value
BOOL m_is_enable
BOOL m_is_visable
Protected 属性 继承自 BUI::VisibleProperty
BOOL m_is_visbale

详细描述

线性坐标轴 +-----------—+=================+------------—+ m_data_min m_show_min m_show_max m_data_max

构造及析构函数说明

◆ LinearAxis()

BUI::LinearAxis::LinearAxis ( )

◆ ~LinearAxis()

BUI::LinearAxis::~LinearAxis ( )

成员函数说明

◆ DirectionVector()

VecFloat2 BUI::LinearAxis::DirectionVector ( BOOL is_unitization = TRUE,
BOOL remove_head = FALSE ) const

轴方向的实际距离向量

◆ DoMoveViewByPoint()

BOOL BUI::LinearAxis::DoMoveViewByPoint ( IEventHandler * call_handler,
int cx,
int cy,
UINT hit )

◆ DrawCursor()

void BUI::LinearAxis::DrawCursor ( ISurface * surface,
const VecFloat2 & pt1,
const GColor & color,
int size )

◆ DrawNormalVectorLine()

void BUI::LinearAxis::DrawNormalVectorLine ( ISurface * surface,
const VecFloat2 & p0,
const VecFloat2 & vi,
const VecFloat2 & dn1,
const VecFloat2 & dn2,
const GColor & color,
int size = 1,
LineStyle * style = NULL )

◆ DrawNormalVectorTextAngle()

void BUI::LinearAxis::DrawNormalVectorTextAngle ( ISurface * surface,
const VecFloat2 & p0,
const VecFloat2 & vi,
const VecFloat2 & dn,
LPCTSTR text,
int len,
double text_angle,
const GColor & color,
const GColor * bkcolor = NULL,
const VecFloat2 & bk_pad_size = VecFloat2(2, 2) )

◆ DrawPaintGridLineByVector()

void BUI::LinearAxis::DrawPaintGridLineByVector ( ISurface * surface,
RECT * rc_clip,
VecFloat2 vt1,
VecFloat2 vt2 )

根据指定向量绘制网格线

参数
surface
rc_clip裁剪区域
vt1起点向量
vt2终点向量

◆ EnableZoomd()

void BUI::LinearAxis::EnableZoomd ( BOOL enable)

开启(或禁用)视野缩放

◆ GetAxisClassName()

LPCTSTR BUI::LinearAxis::GetAxisClassName ( )
overridevirtual

获得坐标轴类名

重载 BUI::CChartAxis .

◆ GetAxisHeadOffset()

double BUI::LinearAxis::GetAxisHeadOffset ( )

获取第一个刻度与边沿的距离

◆ GetAxisNewTimePos()

double BUI::LinearAxis::GetAxisNewTimePos ( int axis_index)
overridevirtual

获得当前最新时间的数据坐标轴位置

参数
axis_index轴序号

重载 BUI::CChartCoordinate .

◆ GetAxisStartToEndPoint()

void BUI::LinearAxis::GetAxisStartToEndPoint ( POINT & pt_start,
POINT & pt_end,
BOOL has_head = FALSE ) const

获得坐标轴位置起点和终点。基于控件坐标系

◆ GetAxisVectorNormal()

VecFloat2 BUI::LinearAxis::GetAxisVectorNormal ( ) const

◆ GetCoordinateValue()

void BUI::LinearAxis::GetCoordinateValue ( int mouse_x,
int mouse_y,
double * out_values,
int out_len )
overridevirtual

获得鼠标处,表示的坐标值

重载 BUI::CChartCoordinate .

◆ GetCoordinateWeight()

double BUI::LinearAxis::GetCoordinateWeight ( double value)
overridevirtual

获得权重

重载 BUI::CChartCoordinate .

◆ GetCoordRelationship()

void BUI::LinearAxis::GetCoordRelationship ( std::vector< BeString > & list)
overridevirtual

获得类的继承关系

重载 BUI::CChartAxis .

◆ GetCurHitPos()

double BUI::LinearAxis::GetCurHitPos ( ) const

返回当前鼠标对应的轴位置

◆ GetDataRange()

void BUI::LinearAxis::GetDataRange ( int axis_index,
double & fmin,
double & fmax )
overridevirtual

获得坐标轴(axis_index)的数据范围

参数
axis_index
fmin
fmax

重载 BUI::CChartCoordinate .

◆ GetLabelTextRect()

RECT BUI::LinearAxis::GetLabelTextRect ( ISurface * surface,
const VecFloat2 & p0,
const VecFloat2 & vi,
const VecFloat2 & dn,
SIZE sz_txt )

◆ GetPrecisionUnit()

double BUI::LinearAxis::GetPrecisionUnit ( BOOL sign = TRUE) const

获得轴刻度精度

◆ GetProjectionOnTheNormalVector()

double BUI::LinearAxis::GetProjectionOnTheNormalVector ( LinearAxis * other_axis,
POINT pt )

获得任意点,在otherAxis法向量上的投影

◆ GetShowFactor()

double BUI::LinearAxis::GetShowFactor ( int axis_index)
overridevirtual

获得坐标轴(axis_index). 屏幕起点到终点的距离(D),和数值范围(V)的比值。即V/D。

参数
axis_index
fmin
fmax

重载 BUI::CChartCoordinate .

◆ GetValueInPercent()

double BUI::LinearAxis::GetValueInPercent ( double v) const

获得轴上对应值的百分比

◆ HitScrollThumbStates()

UINT BUI::LinearAxis::HitScrollThumbStates ( POINT pt,
VecFloat2 axis ) const

◆ IsInPath()

BOOL BUI::LinearAxis::IsInPath ( double x,
double y )
overridevirtual

是否在坐标系内

重载 BUI::PathTransform .

◆ IsInViewport()

BOOL BUI::LinearAxis::IsInViewport ( double v) const

◆ IsScrollVaild()

BOOL BUI::LinearAxis::IsScrollVaild ( ) const

滚动条是否有效

◆ IsShowGridBk()

BOOL BUI::LinearAxis::IsShowGridBk ( ) const

判断间隔背景是否显示

◆ IsShowGridLine()

BOOL BUI::LinearAxis::IsShowGridLine ( ) const

判断网格线是否显示

◆ IsViewportArea()

BOOL BUI::LinearAxis::IsViewportArea ( double v) const

是否在视窗可见范围内,TRUE表示可见

◆ MajorStep()

double BUI::LinearAxis::MajorStep ( ) const

大刻度步长

◆ MajorUnit()

double BUI::LinearAxis::MajorUnit ( )

大刻度最小单位

◆ MinorStep()

double BUI::LinearAxis::MinorStep ( ) const

小刻度步长

◆ MinorUnit()

double BUI::LinearAxis::MinorUnit ( )

小刻度最小单位

◆ MovePageToEnd()

void BUI::LinearAxis::MovePageToEnd ( )

◆ MovePageToStart()

void BUI::LinearAxis::MovePageToStart ( )

◆ NotifyZoomRange()

BOOL BUI::LinearAxis::NotifyZoomRange ( double v)

◆ OnCalcAxisPosition()

void BUI::LinearAxis::OnCalcAxisPosition ( RECT rc_diagram)
overridevirtual

坐标轴位置时响应事件

重载 BUI::CChartCoordinate .

◆ OnChangePageRange()

BOOL BUI::LinearAxis::OnChangePageRange ( double k,
double k_min,
UINT hit )

◆ OnNotifyMessage()

BOOL BUI::LinearAxis::OnNotifyMessage ( IEventHandler * notify,
UINT message,
WPARAM wp,
LPARAM lp )
overridevirtual

消息处理函数

参数
notify指向图标UI控件,用于外部事件回调

重载 BUI::CChartAxis .

◆ OnPaintAxisCustomFill()

void BUI::LinearAxis::OnPaintAxisCustomFill ( ISurface * surface,
RECT * rc_clip,
double v1,
double v2,
GColor bru_color,
LinearAxis * other_axis )

◆ OnPaintAxisDataLabel()

void BUI::LinearAxis::OnPaintAxisDataLabel ( ISurface * surface,
double v,
LPCTSTR text,
int len,
const GColor & color,
const GColor & color_text_bg )

◆ OnPaintAxisGridFill()

void BUI::LinearAxis::OnPaintAxisGridFill ( ISurface * surface,
RECT * rc_clip,
LinearAxis * other_axis )

◆ OnPaintAxisGridLine()

void BUI::LinearAxis::OnPaintAxisGridLine ( ISurface * surface,
RECT * rc_clip,
LinearAxis * other_axis,
const VecFloat2 & dv = VecFloat2(0, 0) )

◆ OnPaintAxisLastBorderLine()

void BUI::LinearAxis::OnPaintAxisLastBorderLine ( ISurface * surface,
RECT * rc_clip,
LinearAxis * other_axis )

◆ OnPaintChart()

void BUI::LinearAxis::OnPaintChart ( ISurface * surface,
RECT * rc_clip )
overridevirtual

◆ OnPaintUserLine()

void BUI::LinearAxis::OnPaintUserLine ( ISurface * surface,
RECT * rc_clip,
POINT pt,
LineStyle * style,
const GColor & color_cross_line,
LinearAxis * other_axis )

◆ OnPaintUserMajorTickLine()

void BUI::LinearAxis::OnPaintUserMajorTickLine ( ISurface * surface,
RECT * rc_clip,
double v )

◆ OnSummitTarget()

void BUI::LinearAxis::OnSummitTarget ( FourCode four_code,
LPCTSTR data )
overridevirtual

对象之间传递数据的提交操作

参数
four_code由四个字符组合而成的类型符号
data额外字符串数据。可以是纯字符串,可以是json文本,可以是任意格式的数据流

重载 BUI::ICommitTarget .

◆ OnTranslateLanguage()

void BUI::LinearAxis::OnTranslateLanguage ( )
overridevirtual

翻译处理函数

重载 BUI::CChartAxis .

◆ ScreenPointToValue()

double BUI::LinearAxis::ScreenPointToValue ( double x,
double y ) const

根据屏幕像素点,求出轴刻度值。使用向量投影方法

◆ SetAxisHeadOffset()

void BUI::LinearAxis::SetAxisHeadOffset ( int offset)

设置第一个刻度与边沿的距离

◆ SetAxisPosition() [1/2]

void BUI::LinearAxis::SetAxisPosition ( int x1,
int y1,
int x2,
int y2 )

设置轴起点和终点。基于控件坐标系

◆ SetAxisPosition() [2/2]

void BUI::LinearAxis::SetAxisPosition ( POINT pt_start,
POINT pt_end )

设置轴起点和终点。基于控件坐标系

◆ SetAxisPosNorOffset()

void BUI::LinearAxis::SetAxisPosNorOffset ( int offset)

◆ SetAxisText()

void BUI::LinearAxis::SetAxisText ( const BeString & str)

设置轴显示文本

◆ SetDataRange()

void BUI::LinearAxis::SetDataRange ( double start,
double end,
BOOL keep_same_show = FALSE )

设置轴起点和终点对应的刻度

◆ SetLabelAngle()

void BUI::LinearAxis::SetLabelAngle ( double rad)

设置文本相对于法向量的偏移角度

◆ SetLabelVector()

void BUI::LinearAxis::SetLabelVector ( const VecFloat2 & vt)

设置刻度线方向向量,该向量基于控件坐标系

◆ SetLayoutType()

void BUI::LinearAxis::SetLayoutType ( AxisLayoutType type,
double value )

设置坐标轴显示位置

◆ SetLeastNiceRange()

void BUI::LinearAxis::SetLeastNiceRange ( double fmin,
double fmax,
double padding_ratio = 0.05,
int major = 0,
int minor = 0,
int round_flag = 1 )

设置最优坐标轴刻度。会自动更新坐标轴的显示范围,最小刻度

参数
fmin: 最小值或(最大值)
fmax: 最大值或(最小值)
padding_ratio: margin比例
major:大刻度线数量。0代表不更新
minor:小刻度线数量。0代表不更新
round_flag:是否四舍五入

◆ SetPerpendecularAxis()

void BUI::LinearAxis::SetPerpendecularAxis ( LinearAxis * axis)

设置关联的坐标轴

◆ SetPrecisionUnit()

void BUI::LinearAxis::SetPrecisionUnit ( double steps)

设置轴最小精度

◆ SetScrollSize()

void BUI::LinearAxis::SetScrollSize ( int size)

◆ SetSelectRange()

void BUI::LinearAxis::SetSelectRange ( double fmin,
double fmax )

设置轴显示范围。范围由百分比显示

◆ SetTickLabelSpacing()

void BUI::LinearAxis::SetTickLabelSpacing ( int distance)

刻度线文本间隔

◆ SetTickMarkCount()

void BUI::LinearAxis::SetTickMarkCount ( TickMarkID id,
int c )

◆ SetTickMarkInfo()

void BUI::LinearAxis::SetTickMarkInfo ( TickMarkID id,
int c,
int tick_size,
TickMarkPositon style = TickOnOutside )

◆ SetTickMarkLineSize()

void BUI::LinearAxis::SetTickMarkLineSize ( TickMarkID id,
int tick_size = 4 )

◆ SetTickMarkStyle()

void BUI::LinearAxis::SetTickMarkStyle ( TickMarkID id,
TickMarkPositon style = TickOnOutside )

◆ SetVertical()

void BUI::LinearAxis::SetVertical ( BOOL is_vert)

标记是否为垂直坐标轴

◆ ShellCoordinateAttribute()

void BUI::LinearAxis::ShellCoordinateAttribute ( const BeString & str_name,
const BeString & str_value,
ICoordList * coord_list )
overridevirtual

命令控制和属性设置接口

szName属性 szText语法格式
text
轴文本
text="xxx"
range
轴范围
range="1,1000"
range-show
显示范围
range-show="5,10"
unit
最小刻度值.(等于一个minor大小)
unit="1"
text-offset
文本偏移量
text-offset="5,10"
major-style
minor-style
刻度风格
major-style="step:5;length:10;type:inside"
step : 每step个单位长度画一个刻度
length : 刻度线,线长度
type : inside 朝里,outside 朝外,cross 交叉
sapce-label
没间隔sapce-label个单位长度,显示刻度文本
sapce-label="5"
text-angle
文本旋转角度
text-angle="90"
Vertical
是否是纵向坐标
true / false
Normal-Offset
轴位置基于法线方向偏移量
Normal-Offset="10"
show-gridline
显示网格线
true / false
show-gridbk
显示网格背景
true / false
scroll-size
滚动条尺寸
scroll-size="10"
head-size
刻度起点头尺寸
head-size="10"
view-port
轴位置在当前位置上的百分比缩放
view-port="0,1"
axis-layout-value
轴布局方式
axis-layout-value="min" 或 axis-layout-value="max" , axis-layout-value="50"
scope-increment
视野自增步长,即超出可视范围自动增加
scope-increment="60"

重载 BUI::CChartAxis .

◆ ShowGridBk()

void BUI::LinearAxis::ShowGridBk ( BOOL is_visable)

显示(或隐藏)背景

◆ ShowGridLine()

void BUI::LinearAxis::ShowGridLine ( BOOL is_visable)

显示(或隐藏)网格线

◆ StorageTrackPage()

void BUI::LinearAxis::StorageTrackPage ( )

◆ Swap()

void BUI::LinearAxis::Swap ( )
overridevirtual

若满足笛卡尔坐标系,可以将X和Y翻转

重载 BUI::CChartAxis .

◆ Transform()

void BUI::LinearAxis::Transform ( double * x,
double * y )
overridevirtual

得到(x,y)转换后的值。转换后依然存入x和y变量中。

参数
x: x值
y: y值

重载 BUI::PathTransform .

◆ Transform2x2()

void BUI::LinearAxis::Transform2x2 ( double * x,
double * y )
overridevirtual

得到(x,y)转换(忽略平移值)后的值。通常用于计算宽度和高度的变化。转换后依然存入x和y变量中。

参数
x
y

重载 BUI::PathTransform .

◆ ValueVector()

VecFloat2 BUI::LinearAxis::ValueVector ( double v) const

获得刻度值v,对应的像素向量

◆ ViewPoint()

VecFloat2 BUI::LinearAxis::ViewPoint ( double v) const

获得刻度v,所在的像素坐标

◆ ViewPointRound()

POINT BUI::LinearAxis::ViewPointRound ( double v) const

获得刻度v,所在的像素坐标。并对坐标进行取整

◆ ViewSketchPoint()

VecFloat2 BUI::LinearAxis::ViewSketchPoint ( double v,
double t3v ) const

轴上缩略图,坐标点获取算法。t3v代表法向量方向的百分比。值域=[0,1]

◆ ViewSketchSize()

VecFloat2 BUI::LinearAxis::ViewSketchSize ( double v,
double t3v ) const

轴上缩略图,坐标尺寸获取算法。t3v代表法向量方向的百分比。值域=[0,1]

◆ WeightVector()

VecFloat2 BUI::LinearAxis::WeightVector ( double w) const

获得权重w,对应的像素尺寸

类成员变量说明

◆ m_cross_other_axis_value

double BUI::LinearAxis::m_cross_other_axis_value

◆ m_data_max

double BUI::LinearAxis::m_data_max

◆ m_data_min

double BUI::LinearAxis::m_data_min

◆ m_db_cur_hit_pos

double BUI::LinearAxis::m_db_cur_hit_pos

◆ m_head_size

double BUI::LinearAxis::m_head_size

◆ m_is_show_grid_bk

BOOL BUI::LinearAxis::m_is_show_grid_bk

◆ m_is_show_gridline

BOOL BUI::LinearAxis::m_is_show_gridline

◆ m_is_vertical

BOOL BUI::LinearAxis::m_is_vertical

◆ m_is_zoom_enable

BOOL BUI::LinearAxis::m_is_zoom_enable

◆ m_la_hit

UINT BUI::LinearAxis::m_la_hit

◆ m_layout_type

AxisLayoutType BUI::LinearAxis::m_layout_type

◆ m_major

int BUI::LinearAxis::m_major

◆ m_major_mark_style

TickMarkPositon BUI::LinearAxis::m_major_mark_style

◆ m_major_tick_pen_size

int BUI::LinearAxis::m_major_tick_pen_size

◆ m_major_tick_size

int BUI::LinearAxis::m_major_tick_size

◆ m_min_page_screen_size

int BUI::LinearAxis::m_min_page_screen_size

◆ m_min_page_unit

int BUI::LinearAxis::m_min_page_unit

◆ m_minor

int BUI::LinearAxis::m_minor

◆ m_minor_real

double BUI::LinearAxis::m_minor_real

◆ m_minor_tick_pen_size

int BUI::LinearAxis::m_minor_tick_pen_size

◆ m_minor_tick_size

int BUI::LinearAxis::m_minor_tick_size

◆ m_mult_k

double BUI::LinearAxis::m_mult_k

◆ m_nor_offset

int BUI::LinearAxis::m_nor_offset

◆ m_perpendecular_axis

LinearAxis* BUI::LinearAxis::m_perpendecular_axis

◆ m_precision

double BUI::LinearAxis::m_precision

◆ m_pt_end

POINT BUI::LinearAxis::m_pt_end

◆ m_pt_start

POINT BUI::LinearAxis::m_pt_start

◆ m_pt_thumb

VecFloat2 BUI::LinearAxis::m_pt_thumb[4]

◆ m_pt_trace

POINT BUI::LinearAxis::m_pt_trace

◆ m_pt_zoom_end

VecFloat2 BUI::LinearAxis::m_pt_zoom_end

◆ m_pt_zoom_start

VecFloat2 BUI::LinearAxis::m_pt_zoom_start

◆ m_scope_increment_step

double BUI::LinearAxis::m_scope_increment_step

◆ m_scroll_size

int BUI::LinearAxis::m_scroll_size

◆ m_sel_range

VecFloat2 BUI::LinearAxis::m_sel_range

◆ m_sel_track

VecFloat2 BUI::LinearAxis::m_sel_track

◆ m_show_max

double BUI::LinearAxis::m_show_max

◆ m_show_min

double BUI::LinearAxis::m_show_min

◆ m_t

double BUI::LinearAxis::m_t

◆ m_text_angle

float BUI::LinearAxis::m_text_angle

◆ m_text_axis

BeString BUI::LinearAxis::m_text_axis

◆ m_tick_label_spacing

int BUI::LinearAxis::m_tick_label_spacing

◆ m_v_head

VecFloat2 BUI::LinearAxis::m_v_head

◆ m_v_scroll

VecFloat2 BUI::LinearAxis::m_v_scroll

◆ m_vn_tick

VecFloat2 BUI::LinearAxis::m_vn_tick
鄂公网安备42018502007752 鄂ICP备2024082886
Copyright © 2026 · CBlueStudio 版权所有