附录 C - GUIX 小组件样式

常规样式(与大多数小组件类型配合使用):

GX_STYLE_BORDER_NONE

  • 值:0x00000000
  • 说明:使用此样式绘制不带边框的小组件。

GX_STYLE_BORDER_RAISED

  • 值:0x00000001
  • 说明:绘制带有凸起边框的小组件。

GX_STYLE_BORDER_RECESSED

  • 值:0x00000002
  • 说明:绘制带凹陷边框的小组件。

GX_STYLE_BORDER_THIN

  • 值:0x00000004
  • 说明:绘制宽度为一个像素的边框。

GX_STYLE_BORDER_THICK

  • 值:0x00000008
  • 说明:绘制带有粗边框的小组件。

GX_STYLE_BORDER_MASK

  • 值:0x0000000f
  • 说明:用于仅测试小组件样式成员的样式字段的掩码值。

GX_STYLE_TRANSPARENT

  • 值:0x10000000
  • 说明:创建至少部分透明的小组件。 当小组件不完全透明地绘制其自身,包括绘制将半透明像素图作为小组件背景的小组件时,应使用此样式。 此样式标志通知 GUIX 必须绘制小组件父组件,才能刷新小组件背景区域。

GX_STYLE_DRAW_SELECTED

  • 值:0x20000000
  • 说明:指定应使用选定的状态颜色和字体绘制的小组件。 不同的小组件类型以不同方式使用 DRAW_SELECTED 样式,用于表示当前选中的小组件。

GX_STYLE_ENABLED

  • 值:0x40000000
  • 说明:将小组件标记为“已启用”,该小组件即可接受用户输入事件,并生成输出信号。

GX_STYLE_DYNAMICALLY_ALLOCATED

  • 值:0x80000000
  • 说明:表示在创建小组件时,将使用 gx_system_memory_allocator 服务动态分配小组件控制块内存,并在销毁小组件时释放控制块内存。

GX_STYLE_USE_LOCAL_ALPHA

  • 值:0x01000000
  • 说明:指示 GUIX 绘制函数在绘制小组件时使用本地小组件 alpha 值。 内部 GUIX 逻辑通常使用此标志来实现小组件淡化动画。

文本对齐样式(样式应用于绘制文本的所有小组件):

GX_STYLE_TEXT_LEFT

  • 值:0x00001000
  • 说明:在小组件工作区内左对齐绘制文本。

GX_STYLE_TEXT_RIGHT

  • 值:0x00002000
  • 说明:在小组件工作区内右对齐绘制文本。

GX_STYLE_TEXT_CENTER

  • 值:0x00004000
  • 说明:文本在小组件工作区内居中对齐绘制。

GX_STYLE_TEXT_COPY

  • 值:0x00008000
  • 说明:默认情况下,绘制文本的小组件仅保存指向应用程序传入的文本的指针。 对于在字符串表中定义的静态定义文本,此小组件没有理由为分配的文本创建私有副本。 但是,如果使用 sprint() 或 gx_utility_ltoa 之类的函数动态创建分配给小组件的文本,指示此小组件为分配的任何文本保存私有副本通常很方便。 采用这种方式,应用程序可以在定义文本字符串时使用自动或临时变量,否则,应用程序需要为使用动态定义的文本的每个文本小组件定义静态定义的字符数组。 设置此样式标志后,该小组件将使用 gx_system_memory_allocator 函数动态分配保存已分配字符串的私有副本所需的内存块。 因此,使用此样式标志取决于定义 memory_allocator 和 memory_deallocator 函数的应用程序。 不应在设置 GX_STYLE_TEXT_COPY 后将其清除,这样做会导致不可预知的结果。

按钮样式(仅适用于 GUIX 按钮小组件类型):

GX_STYLE_BUTTON_PUSHED

  • 值 0x00000010
  • 说明:表示按钮处于按下或选定状态。

GX_STYLE_BUTTON_TOGGLE

  • 值 0x00000020
  • 说明:按钮将在每次单击事件时在按下和未按下的状态之间切换。 此样式通常与“复选框”样式按钮一起使用。

GX_STYLE_BUTTON_RADIO

  • 值 0x00000040
  • 说明:此样式表示此按钮将为独占按钮,在选中时取消选择任何同级按钮。 此样式通常与“单选按钮”样式按钮一起使用。

GX_STYLE_BUTTON_EVENT_ON_PUSH

  • 值:0x00000080
  • 说明:表示在最初按下按钮时生成单击事件。 默认操作是在松开按钮时生成单击事件。

GX_STYLE_BUTTON_REPEAT

  • 值 0x00000100
  • 说明:表示在按钮处于按下状态时,按钮应将重复的单击事件发送给按钮父级。

列表样式(仅适用于 GUIX 列表小组件类型):

GX_STYLE_CENTER_SELECTED

  • 值:0x00000010
  • 说明:已保留

GX_STYLE_WRAP

  • 值 0x00000020
  • 说明:将列表拖动或滚动到开始或结束列表索引之后时,列表子级将从开始到结束换行。

GX_STYLE_FLICKABLE

  • 值:0x00000040
  • 说明:已保留

像素图按钮和图标按钮样式:

GX_STYLE_HALIGN_CENTER

  • 值:0x00010000
  • 说明:按钮像素图应在水平轴上的按钮边界内居中对齐。

GX_STYLE_HALIGN_LEFT

  • 值:0x00020000
  • 说明:按钮像素图应在水平轴上的按钮边界内向左对齐。

GX_STYLE_HALIGN_RIGHT

  • 值 0x00040000
  • 说明:按钮像素图应在水平轴上的按钮边界内向右对齐。

GX_STYLE_VALIGN_CENTER

  • 值 0x00080000
  • 说明:按钮像素图应在垂直轴上的按钮边界内居中对齐。

GX_STYLE_VALIGN_TOP

  • 值:0x00100000
  • 说明:按钮像素图应在垂直轴上的按钮边界内顶端对齐。

GX_STYLE_VALIGN_BOTTOM

  • 值:0x00200000
  • 说明:按钮像素图应在垂直水平轴上的按钮边界内底端对齐。

滑块样式(仅应用到 GX_SLIDER 和派的生小组件类型):

GX_STYLE_SHOW_NEEDLE

  • 值:0x00000200
  • 说明:必须包含此样式,滑块才能绘制针指示符。 如果应用程序要禁用滑块针或绘制自定义针指示器,则可以禁用此样式。

GX_STYLE_SHOW_TICKMARKS

  • 值:0x00000400
  • 说明:启用此样式后,滑块小组件将使用软件绘制虚线刻度线。

GX_STYLE_SLIDER_VERTICAL

  • 值 0x00000800
  • 说明:设置此样式标志可创建垂直滑块,清除此样式标志可创建水平滑块。

子画面样式(仅适用于 GX_SPRITE 小组件类型):

GX_STYLE_SPRITE_AUTO

  • 值:0x00000010
  • 说明:表示在子画面小组件收到 GX_EVENT_SHOW 事件时,将自动运行子画面动画。

GX_STYLE_SPRITE_LOOP

  • 值:0x00000020
  • 说明:使用此样式后,子画面小组件会连续循环运行子画面动画帧,直到应用程序停止此子画面。

像素图滑块样式:

GX_STYLE_TILE_BACKGROUND

  • 值 0x00001000
  • 说明:通过平铺滑块背景图像来填充子画面边框。 这允许使用小型垂直或水平条纹图像来填充滑块背景。

其他进度栏样式:

GX_STYLE_PROGRESS_PERCENT

  • 值:0x00000010
  • 说明:设置此样式后,进度栏会以百分比形式绘制条形值,而不是原始值。 文本在进度栏矩形边框中居中放置。

GX_STYLE_PROGRESS_TEXT_DRAW

  • 值:0x00000020
  • 说明:将当前的进度栏值绘制为在进度栏中居中显示的小数文本。

GX_STYLE_PROGRESS_VERTICAL

  • 值:0x0000040
  • 说明:表示进度位于垂直方向。 默认为水平方向。

GX_STYLE_PROGRESS_SEGMENT_FILL:

  • 值:0x00000100
  • 说明:进度栏值用分段填充的矩形表示,而不是实心填充。

其他径向进度栏样式:

GX_STYLE_RADIAL_PROGRESS_ALIAS

  • 值:0x00000200
  • 说明:使用抗锯齿画笔样式绘制径向进度栏。 这需要更多的 CPU 带宽,还会生成更好的外观。 对于性能更低的 CPU 目标,清除此样式标志将可以加快绘制速度。

GX_STYLE_RADIAL_PROGRESS_ROUND

  • 值:0x00000400
  • 说明:在绘制径向进度栏弧线时使用圆线端画笔样式。默认值为方线端。

其他文本输入样式:

GX_STYLE_ CURSOR_BLINK

  • 值:0x00000040
  • 说明:文本输入小组件光标将会闪烁,而不是稳定显示。

GX_STYLE_ CURSOR_ALWAYS

  • 值:0x00000080
  • 说明。 文本输入小组件光标通常只在小组件拥有输入焦点时显示。 此样式标志会让光标始终显示,而不必考虑输入焦点。

GX_STYLE_TEXT_INPUT_NOTIFY_ALL

  • 值:0x00000100
  • 说明:使用此样式标志,每次文本输入小组件接收到按键事件时,就会设置 GX_EVENT_TEXT_EDITED 事件。

其他窗口样式:

GX_STYLE_TILE_WALLPAPER

  • 值:0x00040000
  • 说明:此窗口将通过平铺任何分配的墙纸图像来填充窗口矩形工作区。

GX_STYLE_AUTO_HSCROLL

  • 值:0x00100000
  • 说明:保留供将来使用。

GX_STYLE_AUTO_VSCROLL

  • 值:0x00200000
  • 说明:保留供将来使用。

其他菜单样式:

GX_STYLE_MENU_EXPANDED

  • 值:0x00000010
  • 说明:可折叠菜单小组件最初处于展开状态。

其他树视图样式:

GX_STYLE_TREE_VIEW_SHOW_ROOT_LINES

  • 值:0x00000010
  • 说明:树视图小组件应绘制从节点图标到根树节点的线条。

其他滚动条样式:

GX_SCROLLBAR_BACKGROUND_TILE

  • 值:0x00010000
  • 说明:保留供将来使用。

GX_SCROLLBAR_RELATIVE_THUMB

  • 值:0x00020000
  • 说明:滚动条的滚动块宽度(用于水平滚动条)或高度(用于垂直滚动条),将根据父窗口的可见区域与最小和最大滚动条范围的比率进行计算。

GX_SCROLLBAR_END_BUTTONS

  • 值:0x00040000
  • 说明:滚动条在滚动条区域的每一端自动创建并附加按钮。

GX_SCROLLBAR_VERTICAL

  • 值:0x01000000
  • 说明:滚动条是垂直方向。

GX_SCROLLBAR_HORIZONTAL

  • 值:0x02000000
  • 说明:滚动条是水平方向。

文本滚轮样式:

GX_STYLE_TEXT_SCROLL_WHEEL_ROUND

  • 值:0x00000200
  • 说明:滚轮使用正弦算法来使滚轮看起来像是圆形。 此样式标志可能会显著增加滚轮小组件的性能开销,但也可以为滚轮提供逼真的三维外观。