附录 I - GUIX 信息结构

GX_BIDI_TEXT_INFO

定义

typedef struct GX_BIDI_TEXT_INFO_STRUCT
{
    GX_STRING gx_bidi_text_info_text;
    GX_FONT  *gx_bidi_text_info_font;
    GX_VALUE  gx_bidi_text_info_display_width;
} GX_BIDI_TEXT_INFO;
成员 描述
gx_bidi_text_info_text 要重新排序的文本
gx_bidi_text_info_font 用于显示文本的字体,如果不需要换行,请将其设置为 GX_NULL
gx_bidi_text_info_display_width 可用的显示宽度,如果不需要换行,请将其设置为 -1

GX_BIDI_RESOLVED_TEXT_INFO

定义

typedef struct GX_BIDI_RESOLVED_TEXT_INFO_STRUCT
{
    GX_STRING                                *gx_bidi_resolved_text_info_text;
    UINT                                      gx_bidi_resolved_text_info_total_lines;
    struct GX_BIDI_RESOLVED_TEXT_INFO_STRUCT *gx_bidi_resolved_text_info_next;
} GX_BIDI_RESOLVED_TEXT_INFO;
成员 描述
gx_bidi_resolved_text_info_text 指向已重新排序双向文本数组的指针
gx_bidi_resolved_text_info_total_lines 一个段落的已解析双向文本的总行数
gx_bidi_resolved_text_info_next 下一段落的已解析双向文本信息

GX_CIRCULAR_GAUGE_INFO

定义

typedef struct GX_CIRCULAR_GAUGE_INFO_STRUCT
{
    INT             gx_circular_gauge_info_animation_steps;
    INT             gx_circular_gauge_info_animation_delay;
    GX_VALUE        gx_circular_gauge_info_needle_xpos;
    GX_VALUE        gx_circular_gauge_info_needle_ypos;
    GX_VALUE        gx_circular_gauge_info_needle_xcor;
    GX_VALUE        gx_circular_gauge_info_needle_ycor;
    GX_RESOURCE_ID  gx_circular_gauge_info_needle_pixelmap;
} GX_CIRCULAR_GAUGE_INFO;
成员 描述
gx_circular_gauge_info_animation_steps 在从当前针角度移动到新分配的针角度时,针将行进的总步长
gx_circular_gauge_info_animation_delay 要在动画步长之间延迟的 GUIX 时钟周期数
gx_circular_gauge_info_needle_xpos 从仪表小组件左侧到仪表针旋转中心的距离
gx_circular_gauge_info_needle_ypos 从仪表小组件顶部到仪表针旋转中心的距离
gx_circular_gauge_info_needle_xcor 从针图像左侧到仪表针旋转中心的距离
gx_circular_gauge_info_needle_ycor 从针图像顶部到仪表针旋转中心的距离
gx_circular_gauge_info_needle_pixelmap 用于绘制仪表针的像素图的资源 ID。 仪表小部件将根据需要旋转该图像,以在任意位置显示仪表针

下图演示了 xpos、ypos 和 xcor、ycor 坐标:

Diagram of the Needle Y and X coordinates

GX_LINE_CHART_INFO

定义

typedef struct GX_LINE_CHART_INFO_STRUCT
{
    INT            gx_line_chart_min_val;
    INT            gx_line_chart_max_val;
    INT           *gx_line_chart_data;
    GX_VALUE       gx_line_left_margin;
    GX_VALUE       gx_line_top_margin;
    GX_VALUE       gx_line_right_margin;
    GX_VALUE       gx_line_bottom_margin;
    GX_VALUE       gx_line_chart_max_data_count;
    GX_VALUE       gx_line_chart_active_data_count;
    GX_VALUE       gx_line_chart_axis_line_width;
    GX_VALUE       gx_line_chart_data_line_width;
    GX_RESOURCE_ID gx_line_chart_axis_color;
    GX_RESOURCE_ID gx_line_chart_line_color;
} GX_LINE_CHART_INFO;
成员 描述
gx_line_chart_min_val 用于计算缩放比例的最小数据值
gx_line_chart_max_val 用于计算缩放比例的最大数据值
gx_line_chart_data 指向整数值的数组的指针。 这些是折线图小组件绘制的整数值
gx_line_<side>_margin 从图表窗口外部边界到实际图表呈现区域的偏移量。 始终在此内部边界内绘制图表轴和数据线条,这允许应用程序在图表窗口内而非字符图形区域外绘制标签和其他信息
gx_line_chart_max_data_count 可能存在的数据值的数量。 此参数用于计算 x 轴缩放比例或绘制数据点的间隔。
gx_line_active_data_count 数据数组中实际存在的数据值的数量。 可以缩放折线图以绘制(例如)最多 100 个值,但是在任何特定更新上,实际上可能存在较少数量的数据值。
gx_line_axis_line_width 用于绘制水平轴和垂直轴的线条的宽度
gx_line_data_line_width 绘制的数据线的宽度
gx_line_chart_axis_color 用于绘制轴线条的颜色的资源 ID
gx_line_chart_line_color 用于绘制图表数据线条的颜色的资源 ID

GX_MOUSE_CURSOR_INFO

定义

typedef struct GX_MOUSE_CURSOR_INFO_STRUCT
{
    GX_RESOURCE_ID             gx_mouse_cursor_image_id;
    GX_VALUE                   gx_mouse_cursor_hotspot_x;
    GX_VALUE                   gx_mouse_cursor_hotspot_y;
} GX_MOUSE_CURSOR_INFO;
成员 描述
gx_mouse_cursor_image_id 鼠标图像的资源 ID
gx_mouse_cursor_hotspot_x 从鼠标图像左侧到鼠标图像作用点的偏移量
gx_mouse_cursor_hotspot_y 从鼠标图像顶部到鼠标图像作用点的偏移量

GX_PEN_CONFIGURATION

定义

typedef struct GX_PEN_CONFIGURATION_STRUCT
{
    GX_FIXED_VAL     gx_pen_configuration_min_drag_dist;
    UINT             gx_pen_configuration_max_pen_speed_ticks;
}GX_PEN_CONFIGURATION;
成员 描述
gx_pen_configuration_min_drag_dist 用于触发 FLICK 事件的每个 GUIX 计时器时钟周期的最小拖动距离。 调用 GX_FIXED_VAL_MAKE 以生成固定点数据类型值
gx_pen_configuration_max_pen_speed_ticks 用于触发 FLICK 事件的 GUIX 计时器时钟周期中的最大拖动速度

GX_PIXELMAP_SLIDER_INFO

定义

typedef struct GX_PIXELMAP_SLIDER_INFO_STRUCT
{
    GX_RESOURCE_ID gx_pixelmap_slider_info_lower_background_pixelmap;
    GX_RESOURCE_ID gx_pixelmap_slider_info_upper_background_pixelmap;
    GX_RESOURCE_ID gx_pixelmap_slider_info_needle_pixelmap;
} GX_PIXELMAP_SLIDER_INFO;
成员 描述
gx_pixelmap_slider_info_lower_background_pixelmap 用于填充针前背景的像素图的资源 ID。 如果未设置上部背景像素图,它将用于填充针前和针后的背景
gx_pixelmap_slider_info_upper_background_pixelmap 用于填充针后背景的像素图的资源 ID
gx_pixelmap_slider_info_needle_pixelmap 针像素图的资源 ID

GX_PROGRESS_BAR_INFO

定义

typedef struct GX_PROGRESS_BAR_INFO_STRUCT
{
    INT gx_progress_bar_info_min_val;
    INT gx_progress_bar_info_max_val;
    INT gx_progress_bar_info_current_val;
    GX_RESOURCE_ID gx_progress_bar_font_id;
    GX_RESOURCE_ID gx_progress_bar_normal_text_color;
    GX_RESOURCE_ID gx_progress_bar_selected_text_color;
    GX_RESOURCE_ID gx_progress_bar_disabled_text_color;
    GX_RESOURCE_ID gx_progress_bar_fill_pixelmap;
} GX_PROGRESS_BAR_INFO;
成员 描述
gx_progress_bar_info_min_val 报告的最小值
gx_progress_bar_info_max_val 报告的最大值
gx_progress_bar_info_current_val 当前值
gx_progress_bar_info_font_id 字体的资源 ID,用于在进度栏小组件中绘制可选文本值
gx_progress_bar_normal_text_color 正常状态下文本颜色的资源 ID,用于定义在进度栏小组件中绘制的可选文本
gx_progress_bar_selected_text_color 小组件获得聚焦时,文本颜色的资源 ID,用于定义在进度栏小组件中绘制的可选文本
gx_progress_bar_disabled_text_color GX_STYLE_ENABLED 处于非活动状态时,文本颜色的资源 ID,用于定义在进度栏小组件中绘制的可选文本
gx_progress_bar_fill_pixelmap 用于背景填充的像素图的资源 ID

GX_RADIAL_PROGRESS_BAR_INFO

定义

typedef struct GX_RADIAL_PROGRESS_BAR_INFO_STRUCT
{
    GX_VALUE       gx_radial_progress_bar_info_xcenter;
    GX_VALUE       gx_radial_progress_bar_info_ycenter;
    GX_VALUE       gx_radial_progress_bar_info_radius;
    GX_VALUE       gx_radial_progress_bar_info_current_val;
    GX_VALUE       gx_radial_progress_bar_info_anchor_val;
    GX_RESOURCE_ID gx_radial_progress_bar_info_font_id;
    GX_RESOURCE_ID gx_radial_progress_bar_info_normal_text_color;
    GX_RESOURCE_ID gx_radial_progress_bar_info_selected_text_color;
    GX_RESOURCE_ID gx_radial_progress_bar_info_disabled_text_color;
    GX_VALUE       gx_radial_progress_bar_info_normal_brush_width;
    GX_VALUE       gx_radial_progress_bar_info_selected_brush_width;
    GX_RESOURCE_ID gx_radial_progress_bar_info_normal_brush_color;
    GX_RESOURCE_ID gx_radial_progress_bar_info_selected_brush_color;
} GX_RADIAL_PROGRESS_BAR_INFO;
成员 描述
gx_radial_progress_bar_info_xcenter 小组件在 x 坐标中的位置
gx_radial_progress_bar_info_ycenter 小组件在 y 坐标中的位置
gx_radial_progress_bar_info_radius 进度圆的半径
gx_radial_progress_bar_info_current_val 仅限于范围 [-360, 360] 的当前值指示了定位点位置与上弧的终结点之间的角度增量。负值导致从定位点位置开始以顺时针方向绘制弧。 正值导致从定位点位置开始以逆时针方向绘制弧。 应用程序必须缩放所指示的实字值,以为进度栏小组件分配角度值
gx_radial_progress_bar_anchor_val 上部进度弧的开始角度。该值以整数度来定义,0 度指向右侧,90 度表示竖直向上。
gx_radial_progress_bar_font_id 字体的资源 ID,用于在进度栏小组件中绘制可选文本值
gx_radial_progress_bar_normal_text_color 正常状态下文本颜色的资源 ID,用于定义在进度栏小组件中绘制的可选文本
gx_radial_progress_bar_selected_text_color 小组件获得聚焦时,文本颜色的资源 ID,用于定义在进度栏小组件中绘制的可选文本
gx_radial_progress_bar_disabled_text_color GX_STYLE_ENABLED 处于非活动状态时,文本颜色的资源 ID,用于定义在进度栏小组件中绘制的可选文本
gx_radial_progress_bar_normal_brush_width 下部进度圆的宽度
gx_radial_progress_bar_selected_brush_width 上部进度弧的宽度,上弧可能会小于、等于或大于下圆
gx_radial_progress_bar_normal_brush_color 用于填充下部进度圆的颜色的资源 ID
gx_radial_progress_bar_selected_brush_color 用于填充上部进度弧的颜色的资源 ID

GX_RADIAL_SLIDER_INFO

定义

typedef struct GX_RADIAL_SLIDER_INFO_STRUCT
{
    GX_VALUE       gx_radial_slider_info_xcenter;
    GX_VALUE       gx_radial_slider_info_ycenter;
    USHORT         gx_radial_slider_info_radius;
    USHORT         gx_radial_slider_info_track_width;
    GX_VALUE       gx_radial_slider_info_current_angle;
    GX_VALUE       gx_radial_slider_info_min_angle;
    GX_VALUE       gx_radial_slider_info_max_angle;
    GX_VALUE      *gx_radial_slider_info_angle_list;
    USHORT         gx_radial_slider_info_list_cont;
    GX_RESOURCE_ID gx_radial_slider_info_background_pixelmap;
    GX_RESOURCE_ID gx_radial_slider_info_needle_pixelmap;
} GX_RADIAL_SLIDER_INFO;
成员 描述
gx_radial_slider_info_xcenter 从滑块小组件左侧到滑块针旋转中心的距离
gx_radial_slider_info_ycenter 从滑块小组件顶部到滑块针旋转中心的距离
gx_radial_slider_info_radius 径向滑块圆的半径
gx_radial_slider_info_track_width 径向滑块轨迹的宽度
gx_radial_slider_info_current_angle 当前滑块角度
gx_radial_slider_info_min_angle 最小滑块角度
gx_radial_slider_info_max_angle 最大滑块角度
gx_radial_slider_info_angle_list 角度值列表,定义定位点角度,如果设置,滑块角度只能是定义的定位点角度之一
gx_radial_slider_info_list_count 定位点角度数量
gx_radial_slider_info_background_pixelmap 背景像素图的资源 ID
gx_radial_slider_info_needle_pixelmap 针像素图的资源 ID

GX_RECTANGLE

定义

typedef struct GX_RECTANGLE_STRUCT
{
    GX_VALUE gx_rectangle_left;
    GX_VALUE gx_rectangle_top;
    GX_VALUE gx_rectangle_right;
    GX_VALUE gx_rectangle_bottom;
} GX_RECTANGLE;
成员 描述
gx_rectangle_left 矩形左侧
gx_rectangle_top 矩形顶部
gx_rectangle_right 矩形右侧
gx_rectangle_bottom 矩形底部

GX_RICH_TEXT_FONTS

定义

typedef struct GX_RICH_TEXT_FONTS_STRUCT
{
    GX_RESOURCE_ID             gx_rich_text_fonts_normal_id;
    GX_RESOURCE_ID             gx_rich_text_fonts_bold_id;
    GX_RESOURCE_ID             gx_rich_text_fonts_italic_id;
    GX_RESOURCE_ID             gx_rich_text_fonts_bold_italic_id;
} GX_RICH_TEXT_FONTS;
成员 描述
gx_rich_text_fonts_normal_id 标准文本字体的资源 ID
gx_rich_text_fonts_bold_id 加粗文本字体的资源 ID
gx_rich_text_fonts_italic_id 斜体文本字体的资源 ID
gx_rich_text_fonts_bold_italic_id 加粗斜体文本字体的资源 ID

GX_SCROLL_INFO

定义

typedef struct GX_SCROLL_INFO_STRUCT
{
    INT      gx_scroll_value;
    INT      gx_scroll_minimum;
    INT      gx_scroll_maximum;
    GX_VALUE gx_scroll_visible;
    GX_VALUE gx_scroll_increment;
} GX_SCROLL_INFO;
成员 描述
gx_scroll_value 当前滚动位置
gx_scroll_minimum 报告的最小位置
gx_scroll_maximum 报告的最大位置
gx_scroll_visible 父窗口可见范围
gx_scroll_increment 滚动条最小增量值

GX_SCROLLBAR_APPEARANCE

定义

typedef struct GX_SCROLLBAR_APPEARANCE_STRUCT
{
    GX_VALUE       gx_scroll_width;
    GX_VALUE       gx_scroll_thumb_width;
    GX_VALUE       gx_scroll_thumb_travel_min;
    GX_VALUE       gx_scroll_thumb_travel_max;
    GX_UBYTE       gx_scroll_thumb_border_style;
    GX_RESOURCE_ID gx_scroll_fill_pixelmap;
    GX_RESOURCE_ID gx_scroll_thumb_pixelmap;
    GX_RESOURCE_ID gx_scroll_up_pixelmap;
    GX_RESOURCE_ID gx_scroll_down_pixelmap;
    GX_RESOURCE_ID gx_scroll_thumb_color;
    GX_RESOURCE_ID gx_scroll_thumb_border_color;
    GX_RESOURCE_ID gx_scroll_button_color;
} GX_SCROLLBAR_APPEARANCE;
成员 描述
gx_scroll_width 滚动条小组件的宽度(以像素为单位)
gx_scroll_thumb_width 在滚动条上滑动的拇指按钮的宽度(以像素为单位)。 此值通常为小于滚动条总宽度的部分像素数
gx_scroll_thumb_travel_min 从滚动条末尾到最小拇指按钮行程点的偏移量。 此限制可用于阻止拇指按钮行进到滚动条的最末尾
gx_scroll_thumb_travel_max 从滚动条末尾到最大拇指按钮行程点的偏移量。 此限制可用于阻止拇指按钮行进到滚动条的最末尾
gx_scroll_thumb_border_style 拇指按钮的边框样式
gx_scroll_fill_pixelmap 可选的像素图 ID。 如果此像素图 ID 不为零,滚动条将使用此像素图来绘制滚动条背景
gx_scroll_thumb_pixelmap 可选的像素图 ID。 如果此像素图 ID 不为零,滚动条拇指按钮将使用此像素图来绘制自身
gx_scroll_up_pixelmap 可选的像素图 ID。 如果此像素图 ID 不为零,滚动条将使用此像素图 ID 来绘制滚动条左侧/上端按钮
gx_scroll_down_pixelmap 可选的像素图 ID。 如果此像素图 ID 不为零,滚动条将使用此像素图 ID 来绘制滚动条右侧/下端按钮
gx_scroll_thumb_color 用于填充拇指按钮的颜色的资源 ID
gx_scroll_thumb_border_color 用于绘制拇指按钮边框的颜色的资源 ID
gx_scroll_button_color 用于填充滚动条末尾按钮的颜色的资源 ID

GX_SLIDER_INFO

定义

typedef struct GX_SLIDER_INFO_STRUCT
{
    INT      gx_slider_info_min_val;
    INT      gx_slider_info_max_val;
    INT      gx_slider_info_current_val;
    INT      gx_slider_info_increment;
    GX_VALUE gx_slider_info_min_travel;
    GX_VALUE gx_slider_info_max_travel;
    GX_VALUE gx_slider_info_needle_width;
    GX_VALUE gx_slider_info_needle_height;
    GX_VALUE gx_slider_info_needle_inset;
    GX_VALUE gx_slider_info_needle_hotspot_offset;
} GX_SLIDER_INFO;
成员 描述
gx_slider_info_min_val 报告的最小值
gx_slider_info_max_val 报告的最大值
gx_slider_info_current_value 当前值
gx_slider_info_min_travel 针行程限制
gx_slider_info_max_travel 针行程限制
gx_slider_info_needle_width 针宽度(以像素为单位)
gx_slider_info_needle_height 针高度(以像素为单位)
gx_slider_info_needle_inset 针绘制位置。 如果设置了 GX_STYLE_SLIDER_VERTICAL,用于指定从针绘制开始位置到滑块左侧的偏移量。 或者,用于指定从针绘制开始位置到滑块顶部的偏移量。
gx_slider_info_needle_hotspot_offset Needle hotpot_offset,用于指定从针绘制开始位置到滑块作用点的偏移量。

GX_SPRITE_FRAME

定义

typedef struct GX_SPRITE_FRAME_STRUCT
{
    GX_RESOURCE_ID gx_sprite_frame_pixelmap;
    GX_VALUE gx_sprite_frame_x_offset;
    GX_VALUE gx_sprite_frame_y_offset;
    UINT gx_sprite_frame_delay;
    UINT gx_sprite_frame_background_operation;
    UCHAR gx_sprite_frame_alpha;
} GX_SPRITE_FRAME;
成员 描述
gx_sprite_frame_pixelmap 要为此帧显示的像素图的资源 ID。 此 ID 可以是 0。
gx_sprite_frame_x_offset 从子画面小部件左侧偏移以显示像素图
gx_sprite_frame_y_offset 从子画面小部件顶部偏移以显示像素图
gx_sprite_frame_delay 在显示此帧之后,在前进到下一个子画面帧之前,GUIX 计时器时钟周期中的延迟值
gx_sprite_frame_background_operation 定义擦除背景的方式。 此字段可能的值有:
GX_SPRITE_BACKGROUND_NO_ACTION:不在帧间填充
GX_SPRITE_BACKGROUND_SOLID_FILL:重绘子画面背景
GX_SPRITE_BACKGROUND_RESTORE:恢复上一个像素图
gx_sprite_frame_alpha 要添加到所显示的像素图中的 alpha 值。 值 255 指定不应强加额外的 alpha 值。 如果像素图包含 alpha 通道,则将此 alpha 通道添加到帧 alpha 值。