ui_canvas_ext
ui_canvas_ext 模块提供扩展画布组件,在画布基础上增加旋转、缩放、贝塞尔曲线等高级绘制能力。
Class Summary
OHOS::UICanvasExt
扩展画布绘制能力,支持硬件加速路径绘制与 SVG 渲染
- 构造:无
-
成员函数:
接口名称 功能简述 GetViewType 获取当前视图类型 BeginPath 在上下文中创建新路径 SetPathData 设置当前路径的命令与数据 Clear 清除所有路径、画笔和矩阵并刷新视图 SetMatrix 设置路径对象的变换矩阵 SetSvgMatrix 设置 SVG 对象的变换矩阵 DrawPath 设置绘制标志为 true DrawSvg 绘制 SVG 数据 DrawLine 绘制直线 DrawPolyline 绘制折线 DrawPolygon 绘制多边形 DrawCurve 绘制三次贝塞尔曲线 DrawRect 绘制矩形 DrawCircle 绘制圆形 DrawSector 绘制扇形 DrawArc 绘制弧线 DrawImage 绘制图像 DrawLabel 绘制文本 DrawBitmap 绘制位图 DrawRenderCache 绘制渲染缓存 -
使用包含头文件:
#include "components/ui_canvas_ext.h" - 声明头文件:
middleware/services/gui/uikit/proprietary/include/components/ui_canvas_ext.h - 公有运算符:无
- 继承关系:UICanvas
- 嵌套类型:无
- 模板形参:无
Functions
OHOS::UICanvasExt
GetViewType
UIViewType GetViewType() const override
功能说明
- 核心用途:获取当前视图的类型标识
- 设计目的:用于运行时识别视图类型为
UI_CANVAS_EXT - 使用场景:视图类型判断与分发处理
返回值
- 返回类型:
UIViewType
返回当前视图类型标识
| 返回值 | 触发场景 |
|---|---|
| UI_CANVAS_EXT | 当前对象为 UICanvasExt 类型 |
BeginPath
int16_t BeginPath(const PaintExt &paint)
功能说明
- 核心用途:在上下文中初始化新路径,并指定路径样式
- 设计目的:为后续路径绘制操作创建路径对象,返回索引值用于关联矩阵或引用
- 使用场景:绘制自定义路径前必须首先调用此方法创建路径
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| paint | const PaintExt& | 入参只读引用,指定新创建路径的样式 | 有效的 PaintExt 对象 |
返回值
- 返回类型:
int16_t
返回与路径对象关联的索引值
| 返回值 | 触发场景 |
|---|---|
| >= 0 | 成功创建路径,返回有效索引 |
| -1 | 创建路径失败 |
SetPathData
void SetPathData(uint32_t cmdNum, const uint8_t* cmd, uint32_t dataNum, const float* data)
功能说明
- 核心用途:设置当前路径的命令序列与浮点数据
- 设计目的:通过路径命令与数据描述复杂图形轨迹
- 使用场景:配合 BeginPath 使用,在创建路径后设置其路径数据
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| cmdNum | uint32_t | 命令数量 | >= 0 |
| cmd | const uint8_t* | 入参只读指针,路径命令数组 | 非 nullptr |
| dataNum | uint32_t | 浮点数据数量 | >= 0 |
| data | const float* | 入参只读指针,路径浮点数据数组 | 非 nullptr |
Clear
void Clear()
功能说明
- 核心用途:清除画布上所有路径、画笔和矩阵数据
- 设计目的:重置画布状态,清空所有已绘制内容
- 使用场景:需要重新绘制或清空画布时调用
SetMatrix
void SetMatrix(Matrix3<float> matrix, int16_t index = -1)
功能说明
- 核心用途:设置指定路径对象的变换矩阵
- 设计目的:对路径施加平移、旋转、缩放等几何变换
- 使用场景:需要在绘制前对路径进行变换操作时调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| matrix | Matrix3 |
变换矩阵 | 有效的 3x3 变换矩阵 |
| index | int16_t | 路径对象索引,关联到 BeginPath 或 DrawGraphics 方法的返回值;默认值 -1 关联最后创建的路径对象 | -1 或有效路径索引 |
SetSvgMatrix
void SetSvgMatrix(Matrix3<float> matrix, int16_t index)
功能说明
- 核心用途:设置指定 SVG 对象的变换矩阵
- 设计目的:对 SVG 渲染结果施加几何变换
- 使用场景:需要在绘制前对 SVG 对象进行变换操作时调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| matrix | Matrix3 |
变换矩阵 | 有效的 3x3 变换矩阵 |
| index | int16_t | SVG 对象索引,即 DrawSvg 的返回值 | 有效的 SVG 索引 |
DrawPath
void DrawPath()
功能说明
- 核心用途:将绘制标志设置为 true,标记当前路径可绘制
- 设计目的:通知画布当前路径数据已就绪,可进行渲染
- 使用场景:在 BeginPath 和 SetPathData 之后调用,启用路径绘制
DrawSvg
int16_t DrawSvg(const char* path)
功能说明
- 核心用途:绘制指定路径的 SVG 数据
- 设计目的:加载并渲染 SVG 二进制文件
- 使用场景:需要在画布上渲染 SVG 图形时调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| path | const char* | 入参只读指针,SVG 二进制文件路径 | 非 nullptr,有效的文件路径字符串 |
返回值
- 返回类型:
int16_t
返回与 SVG 对象关联的索引值
| 返回值 | 触发场景 |
|---|---|
| >= 0 | 成功创建 SVG 对象,返回有效索引 |
| -1 | 创建 SVG 对象失败 |
DrawLine
int16_t DrawLine(const Point& startPoint, const Point& endPoint, const PaintExt& paint)
功能说明
- 核心用途:绘制从起点坐标到终点坐标的直线
- 设计目的:提供基础线段绘制能力
- 使用场景:绘制界面中的直线元素
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| startPoint | const Point& | 入参只读引用,直线起点坐标 | 有效的 Point 对象 |
| endPoint | const Point& | 入参只读引用,直线终点坐标 | 有效的 Point 对象 |
| paint | const PaintExt& | 入参只读引用,直线样式 | 有效的 PaintExt 对象 |
返回值
- 返回类型:
int16_t
返回与绘制对象关联的索引值
| 返回值 | 触发场景 |
|---|---|
| >= 0 | 成功创建绘制对象,返回有效索引 |
| -1 | 创建绘制对象失败 |
DrawPolyline
int16_t DrawPolyline(const Point *points, uint32_t pointNum, const PaintExt& paint)
功能说明
- 核心用途:绘制由多个点描述的折线
- 设计目的:提供多点连接的折线绘制能力
- 使用场景:绘制多段连续线段
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| points | const Point* | 入参只读指针,折线途经点数组 | 非 nullptr |
| pointNum | uint32_t | 途经点数量 | >= 2 |
| paint | const PaintExt& | 入参只读引用,折线样式 | 有效的 PaintExt 对象 |
返回值
- 返回类型:
int16_t
返回与绘制对象关联的索引值
| 返回值 | 触发场景 |
|---|---|
| >= 0 | 成功创建绘制对象,返回有效索引 |
| -1 | 创建绘制对象失败 |
DrawPolygon
int16_t DrawPolygon(const Point *points, uint32_t pointNum, const PaintExt& paint)
功能说明
- 核心用途:绘制由多个点描述的多边形
- 设计目的:提供闭合多边形绘制能力
- 使用场景:绘制填充或描边的多边形图形
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| points | const Point* | 入参只读指针,多边形顶点数组 | 非 nullptr |
| pointNum | uint32_t | 顶点数量 | >= 3 |
| paint | const PaintExt& | 入参只读引用,多边形样式 | 有效的 PaintExt 对象 |
返回值
- 返回类型:
int16_t
返回与绘制对象关联的索引值
| 返回值 | 触发场景 |
|---|---|
| >= 0 | 成功创建绘制对象,返回有效索引 |
| -1 | 创建绘制对象失败 |
DrawCurve
int16_t DrawCurve(const Point& startPoint, const Point& control1, const Point& control2, const Point& endPoint, const PaintExt& paint)
功能说明
- 核心用途:绘制三次贝塞尔曲线
- 设计目的:提供从起点经两个控制点到终点的平滑曲线绘制能力
- 使用场景:绘制平滑曲线、弧形路径
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| startPoint | const Point& | 入参只读引用,曲线起点坐标 | 有效的 Point 对象 |
| control1 | const Point& | 入参只读引用,第一个控制点坐标 | 有效的 Point 对象 |
| control2 | const Point& | 入参只读引用,第二个控制点坐标 | 有效的 Point 对象 |
| endPoint | const Point& | 入参只读引用,曲线终点坐标 | 有效的 Point 对象 |
| paint | const PaintExt& | 入参只读引用,曲线样式 | 有效的 PaintExt 对象 |
返回值
- 返回类型:
int16_t
返回与绘制对象关联的索引值
| 返回值 | 触发场景 |
|---|---|
| >= 0 | 成功创建绘制对象,返回有效索引 |
| -1 | 创建绘制对象失败 |
DrawRect
int16_t DrawRect(const Point& startPoint, int16_t height, int16_t width, const PaintExt& paint, uint16_t radius = 0)
功能说明
- 核心用途:绘制矩形,支持圆角
- 设计目的:提供矩形绘制能力,可通过 radius 参数指定圆角半径
- 使用场景:绘制界面中的矩形区域、圆角矩形
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| startPoint | const Point& | 入参只读引用,矩形左上角坐标 | 有效的 Point 对象 |
| height | int16_t | 矩形高度 | > 0 |
| width | int16_t | 矩形宽度 | > 0 |
| paint | const PaintExt& | 入参只读引用,矩形样式 | 有效的 PaintExt 对象 |
| radius | uint16_t | 圆角半径,缺省值为 0(直角矩形) | 0 ~ min(height, width) / 2 |
返回值
- 返回类型:
int16_t
返回与绘制对象关联的索引值
| 返回值 | 触发场景 |
|---|---|
| >= 0 | 成功创建绘制对象,返回有效索引 |
| -1 | 创建绘制对象失败 |
DrawCircle
int16_t DrawCircle(const Point& center, uint16_t radius, const PaintExt& paint)
功能说明
- 核心用途:绘制圆形
- 设计目的:提供以指定圆心和半径绘制圆形的能力
- 使用场景:绘制圆形图形元素
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| center | const Point& | 入参只读引用,圆心坐标 | 有效的 Point 对象 |
| radius | uint16_t | 圆的半径 | > 0 |
| paint | const PaintExt& | 入参只读引用,圆形样式 | 有效的 PaintExt 对象 |
返回值
- 返回类型:
int16_t
返回与绘制对象关联的索引值
| 返回值 | 触发场景 |
|---|---|
| >= 0 | 成功创建绘制对象,返回有效索引 |
| -1 | 创建绘制对象失败 |
DrawSector
int16_t DrawSector(const Point& center, uint16_t radius, float startAngle, float endAngle, const PaintExt& paint)
功能说明
- 核心用途:绘制扇形
- 设计目的:提供以指定圆心、半径和角度范围绘制扇形的能力
- 使用场景:绘制饼图、扇形指示器等图形
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| center | const Point& | 入参只读引用,扇形圆心坐标 | 有效的 Point 对象 |
| radius | uint16_t | 扇形半径 | > 0 |
| startAngle | float | 起始角度,0 表示 12 点钟方向,90 表示 3 点钟方向 | 任意浮点值 |
| endAngle | float | 结束角度,0 表示 12 点钟方向,90 表示 3 点钟方向 | 任意浮点值 |
| paint | const PaintExt& | 入参只读引用,扇形样式 | 有效的 PaintExt 对象 |
返回值
- 返回类型:
int16_t
返回与绘制对象关联的索引值
| 返回值 | 触发场景 |
|---|---|
| >= 0 | 成功创建绘制对象,返回有效索引 |
| -1 | 创建绘制对象失败 |
DrawArc
int16_t DrawArc(const Point& center, uint16_t radius, float startAngle, float endAngle, const PaintExt& paint)
功能说明
- 核心用途:绘制弧线
- 设计目的:提供以指定圆心、半径和角度范围绘制弧线的能力
- 使用场景:绘制弧形路径、圆弧指示器
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| center | const Point& | 入参只读引用,弧线圆心坐标 | 有效的 Point 对象 |
| radius | uint16_t | 弧线半径 | > 0 |
| startAngle | float | 起始角度,0 表示 12 点钟方向,90 表示 3 点钟方向 | 任意浮点值 |
| endAngle | float | 结束角度,0 表示 12 点钟方向,90 表示 3 点钟方向 | 任意浮点值 |
| paint | const PaintExt& | 入参只读引用,弧线样式 | 有效的 PaintExt 对象 |
返回值
- 返回类型:
int16_t
返回与绘制对象关联的索引值
| 返回值 | 触发场景 |
|---|---|
| >= 0 | 成功创建绘制对象,返回有效索引 |
| -1 | 创建绘制对象失败 |
DrawImage
int16_t DrawImage(const Point& startPoint, const char* image, const PaintExt& paint)
功能说明
- 核心用途:绘制图像,通过文件路径加载
- 设计目的:提供从文件路径加载图像并绘制到画布的能力
- 使用场景:在画布上渲染图片文件
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| startPoint | const Point& | 入参只读引用,图像左上角坐标 | 有效的 Point 对象 |
| image | const char* | 入参只读指针,图像文件路径 | 非 nullptr,有效的文件路径字符串 |
| paint | const PaintExt& | 入参只读引用,图像样式 | 有效的 PaintExt 对象 |
返回值
- 返回类型:
int16_t
返回与绘制对象关联的索引值
| 返回值 | 触发场景 |
|---|---|
| >= 0 | 成功创建绘制对象,返回有效索引 |
| -1 | 创建绘制对象失败 |
DrawImage
int16_t DrawImage(const Point& startPoint, ImageInfo *image, const PaintExt& paint)
功能说明
- 核心用途:绘制图像,通过 ImageInfo 数据加载
- 设计目的:提供从 ImageInfo 结构体加载图像并绘制到画布的能力
- 使用场景:在画布上渲染内存中的图像数据
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| startPoint | const Point& | 入参只读引用,图像左上角坐标 | 有效的 Point 对象 |
| image | ImageInfo* | 入参指针,图像信息结构体 | 非 nullptr,有效的 ImageInfo 对象 |
| paint | const PaintExt& | 入参只读引用,图像样式 | 有效的 PaintExt 对象 |
返回值
- 返回类型:
int16_t
返回与绘制对象关联的索引值
| 返回值 | 触发场景 |
|---|---|
| >= 0 | 成功创建绘制对象,返回有效索引 |
| -1 | 创建绘制对象失败 |
DrawLabel
int16_t DrawLabel(const Point& startPoint, const char* text, uint16_t maxWidth, const FontStyle& fontStyle, const PaintExt& paint)
功能说明
- 核心用途:绘制文本,以起点坐标定位
- 设计目的:提供从指定起点绘制文本的能力,支持最大宽度截断
- 使用场景:在画布上渲染文字内容
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| startPoint | const Point& | 入参只读引用,文本起始坐标 | 有效的 Point 对象 |
| text | const char* | 入参只读指针,文本内容 | 非 nullptr |
| maxWidth | uint16_t | 文本最大显示宽度,超出则截断 | > 0 |
| fontStyle | const FontStyle& | 入参只读引用,文本布局与字体样式 | 有效的 FontStyle 对象 |
| paint | const PaintExt& | 入参只读引用,文本样式 | 有效的 PaintExt 对象 |
返回值
- 返回类型:
int16_t
返回与绘制对象关联的索引值
| 返回值 | 触发场景 |
|---|---|
| >= 0 | 成功创建绘制对象,返回有效索引 |
| -1 | 创建绘制对象失败 |
DrawLabel
int16_t DrawLabel(const Rect& rect, const char* text, const FontStyle& fontStyle, const PaintExt& paint)
功能说明
- 核心用途:绘制文本,以矩形区域定位
- 设计目的:提供在指定矩形区域内绘制文本的能力
- 使用场景:在画布指定区域内渲染文字内容
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| rect | const Rect& | 入参只读引用,文本绘制区域 | 有效的 Rect 对象 |
| text | const char* | 入参只读指针,文本内容 | 非 nullptr |
| fontStyle | const FontStyle& | 入参只读引用,文本布局与字体样式 | 有效的 FontStyle 对象 |
| paint | const PaintExt& | 入参只读引用,文本样式 | 有效的 PaintExt 对象 |
返回值
- 返回类型:
int16_t
返回与绘制对象关联的索引值
| 返回值 | 触发场景 |
|---|---|
| >= 0 | 成功创建绘制对象,返回有效索引 |
| -1 | 创建绘制对象失败 |
DrawBitmap
int16_t DrawBitmap(const BufferInfo *bitmap, const PaintExt& paint)
功能说明
- 核心用途:绘制位图
- 设计目的:提供从 BufferInfo 缓冲区数据绘制位图的能力
- 使用场景:在画布上渲染内存中的位图数据
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| bitmap | const BufferInfo* | 入参只读指针,位图缓冲区信息 | 非 nullptr,有效的 BufferInfo 对象 |
| paint | const PaintExt& | 入参只读引用,位图样式 | 有效的 PaintExt 对象 |
返回值
- 返回类型:
int16_t
返回与绘制对象关联的索引值
| 返回值 | 触发场景 |
|---|---|
| >= 0 | 成功创建绘制对象,返回有效索引 |
| -1 | 创建绘制对象失败 |
DrawRenderCache
int16_t DrawRenderCache(uint32_t cacheKey, const PaintExt& paint)
功能说明
- 核心用途:绘制渲染缓存
- 设计目的:提供按缓存键绘制预渲染内容的能力
- 使用场景:绘制已缓存的渲染结果以提升渲染性能
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| cacheKey | uint32_t | 渲染缓存的键值 | 有效的缓存键 |
| paint | const PaintExt& | 入参只读引用,渲染缓存样式 | 有效的 PaintExt 对象 |
返回值
- 返回类型:
int16_t
返回与绘制对象关联的索引值
| 返回值 | 触发场景 |
|---|---|
| >= 0 | 成功创建绘制对象,返回有效索引 |
| -1 | 创建绘制对象失败 |
Enumerations
UIViewType
enum UIViewType : uint8_t {
UI_ROOT_VIEW = 0,
UI_VIEW_GROUP,
UI_LABEL,
UI_ARC_LABEL,
UI_LABEL_BUTTON,
UI_CHECK_BOX,
UI_TOGGLE_BUTTON,
UI_RADIO_BUTTON,
UI_IMAGE_VIEW,
UI_BOX_PROGRESS,
UI_SLIDER,
UI_CIRCLE_PROGRESS,
UI_SCROLL_VIEW,
UI_LIST,
UI_DIGITAL_CLOCK,
UI_ANALOG_CLOCK,
UI_PICKER,
UI_SWIPE_VIEW,
UI_TIME_PICKER,
UI_ABSTRACT_CLOCK,
UI_ABSTRACT_PROGRESS,
UI_ABSTRACT_SCROLL,
UI_AXIS,
UI_BUTTON,
UI_CANVAS,
UI_CHART,
UI_IMAGE_ANIMATOR_VIEW,
UI_REPEAT_BUTTON,
UI_TEXTURE_MAPPER,
UI_DIALOG,
UI_QRCODE,
UI_LABEL_EXT,
UI_LABEL_BUTTON_EXT,
UI_CANVAS_EXT,
UI_CHART_PILLAR,
UI_CHART_POLYLINE,
UI_X_AXIS,
UI_Y_AXIS,
UI_LITE_SURFACE_VIEW,
LAYOUT,
LIST_LAYOUT,
FLEX_LAYOUT,
GRID_LAYOUT,
};
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| UI_CANVAS_EXT | 33 | 扩展画布视图类型 |
PathCmd
enum PathCmd {
CMD_CLOSE = 0,
CMD_MOVE_TO = 1 << 1,
CMD_LINE_TO = 2 << 1,
CMD_HLINE_TO = 3 << 1,
CMD_VLINE_TO = 4 << 1,
CMD_QUARD_TO = 5 << 1,
CMD_CUBIC_TO = 6 << 1,
CMD_SQUARD_TO = 7 << 1,
CMD_SCUBIC_TO = 8 << 1,
CMD_SCCWARC_TO = 9 << 1,
CMD_SCWARC_TO = 10 << 1,
CMD_LCCWARC_TO = 11 << 1,
CMD_LCWARC_TO = 12 << 1,
};
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| CMD_CLOSE | 0 | 关闭路径 |
| CMD_MOVE_TO | 2 | 移动到指定点 |
| CMD_LINE_TO | 4 | 绘制直线到指定点 |
| CMD_HLINE_TO | 6 | 绘制水平线到指定 x 坐标 |
| CMD_VLINE_TO | 8 | 绘制垂直线到指定 y 坐标 |
| CMD_QUARD_TO | 10 | 绘制二次贝塞尔曲线 |
| CMD_CUBIC_TO | 12 | 绘制三次贝塞尔曲线 |
| CMD_SQUARD_TO | 14 | 绘制平滑二次贝塞尔曲线 |
| CMD_SCUBIC_TO | 16 | 绘制平滑三次贝塞尔曲线 |
| CMD_SCCWARC_TO | 18 | 绘制小弧逆时针弧线 |
| CMD_SCWARC_TO | 20 | 绘制小弧顺时针弧线 |
| CMD_LCCWARC_TO | 22 | 绘制大弧逆时针弧线 |
| CMD_LCWARC_TO | 24 | 绘制大弧顺时针弧线 |
FillRule
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| NON_ZERO | 0 | 非零环绕规则 |
| EVEN_ODD | 1 | 奇偶规则 |
GradientSpread
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| SPREAD_PAD | 0 | 边缘填充 |
| SPREAD_REFLECT | 1 | 反射扩展 |
| SPREAD_REPEAT | 2 | 重复扩展 |
JoinType
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| JOIN_MITER | 0 | 尖角连接 |
| JOIN_ROUND | 1 | 圆角连接 |
| JOIN_BEVEL | 2 | 斜角连接 |
GradientType
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| GRADIENT_LINEAR | 0 | 线性渐变 |
| GRADIENT_RADIAL | 1 | 径向渐变 |
| GRADIENT_SWEEP | 2 | 扫描渐变 |
| GRADIENT_BUTT | 3 | 渐变类型结束标记 |
PatternType
enum class PatternType {
PATTERN_DISABLE = 0,
PATTERN_FILL,
PATTERN_PAD,
PATTERN_REFLECT,
PATTERN_REPEAT,
};
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| PATTERN_DISABLE | 0 | 禁用图案填充 |
| PATTERN_FILL | 1 | 纯色填充 |
| PATTERN_PAD | 2 | 边缘填充 |
| PATTERN_REFLECT | 3 | 反射图案 |
| PATTERN_REPEAT | 4 | 重复图案 |
PaintType
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| PAINT_GRADIENT | 0 | 渐变画笔 |
| PAINT_PATTERN | 1 | 图案画笔 |
| PAINT_COLOR | 2 | 纯色画笔 |
| PAINT_BUTT | 3 | 画笔类型结束标记 |
Structures
Point
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| x | int16_t | X 坐标 |
| y | int16_t | Y 坐标 |
Path
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| cmdNum | uint32_t | 命令数量 |
| cmds | uint8_t* | 命令数组指针 |
| dataNum | uint32_t | 浮点数据数量 |
| data | float* | 浮点数据数组指针 |
ColorStop
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| stop | float | 渐变停止位置,取值范围 0.0 ~ 1.0 |
| color | uint32_t | 渐变停止颜色值 |
LinearGradient
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| startX | int16_t | 起点X坐标 |
| startY | int16_t | 起点Y坐标 |
| endX | int16_t | 终点X坐标 |
| endY | int16_t | 终点Y坐标 |
RadialGradient
struct RadialGradient {
int16_t centerX;
int16_t centerY;
int16_t focalX;
int16_t focalY;
int16_t radius;
};
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| centerX | int16_t | 圆心X坐标 |
| centerY | int16_t | 圆心Y坐标 |
| focalX | int16_t | 焦点X坐标(当前不支持) |
| focalY | int16_t | 焦点Y坐标(当前不支持) |
| radius | int16_t | 半径 |
SweepGradient
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| centerX | int16_t | 圆心X坐标 |
| centerY | int16_t | 圆心Y坐标 |
| startAngle | int16_t | 起始角度,0 表示 12 点钟方向,90 表示 3 点钟方向 |
PatternInfo
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| img | ImageInfo | 图像信息 |
| wrap | PatternType | 图案填充类型 |
| color | uint32_t | 填充颜色,wrap 为 PATTERN_FILL 时使用 |
| mat3 | Matrix3 |
变换矩阵,图案填充时使用 |
BufferInfo
struct BufferInfo {
Rect rect;
uint32_t stride;
void* phyAddr;
void* virAddr;
uint16_t width;
uint16_t height;
ColorMode mode;
uint32_t color;
};
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| rect | Rect | 缓冲区矩形区域 |
| stride | uint32_t | 行跨度(字节) |
| phyAddr | void* | 物理地址指针 |
| virAddr | void* | 虚拟地址指针 |
| width | uint16_t | 宽度 |
| height | uint16_t | 高度 |
| mode | ColorMode | 颜色模式 |
| color | uint32_t | 颜色值 |
FontStyle(UICanvas::FontStyle)
struct FontStyle {
UITextLanguageDirect direct;
UITextLanguageAlignment align;
UITextLanguageAlignment verticalAlign = TEXT_ALIGNMENT_TOP;
uint8_t fontSize;
int16_t letterSpace;
const char* fontName;
};
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| direct | UITextLanguageDirect | 文本方向 |
| align | UITextLanguageAlignment | 水平对齐方式 |
| verticalAlign | UITextLanguageAlignment | 垂直对齐方式,默认 TEXT_ALIGNMENT_TOP |
| fontSize | uint8_t | 字体大小 |
| letterSpace | int16_t | 字间距 |
| fontName | const char* | 字体名称 |