矢量图画布抽象基类。
具体实现时可以使用agg,nanovg, cairo和skia等方式。
cairo和skia体积太大,不适合嵌入式平台,但在PC平台也是一种选择。
目前我们只提供了基于nanovg的实现,支持软件渲染和硬件渲染。
我们对nanovg进行了一些改进:
-
可以用agg/agge实现软件渲染(暂时不支持文本绘制)。
-
可以用bgfx使用DirectX(Windows平台)和Metal(iOS)平台硬件加速。
示例:
vgcanvas_t* vg = canvas_get_vgcanvas(c);
vgcanvas_save(vg);
vgcanvas_translate(vg, 0, 100);
vgcanvas_set_line_width(vg, 1);
vgcanvas_set_fill_color(vg, color_init(0xff, 0, 0, 0xff));
vgcanvas_rect(vg, 5, 5, 100, 100);
vgcanvas_fill(vg);
vgcanvas_restore(vg);
属性名称 | 类型 | 说明 |
---|---|---|
anti_alias | bool_t | 是否启用反走样功能。 |
fill_color | color_t | 填充颜色 |
font | char* | 字体。 |
font_size | float_t | 字体大小。 |
global_alpha | float_t | 全局alpha。 |
h | wh_t | canvas的高度 |
line_cap | char* | line_cap。 |
line_join | char* | line_join。 |
line_width | float_t | 线宽。 |
miter_limit | float_t | miter_limit。 |
ratio | float_t | 显示比例。 |
stroke_color | color_t | 线条颜色 |
text_align | char* | 文本对齐方式。 |
text_baseline | char* | 文本基线。 |
w | wh_t | canvas的宽度 |
- 函数功能:
生成一条圆弧。
- 函数原型:
ret_t vgcanvas_arc (vgcanvas_t* vg, float_t x, float_t y, float_t r, float_t start_angle, float_t end_angle, bool_t ccw);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
x | float_t | 原点x坐标。 |
y | float_t | 原点y坐标。 |
r | float_t | 半径。 |
start_angle | float_t | 起始角度。 |
end_angle | float_t | 结束角度。 |
ccw | bool_t | 是否逆时针。 |
- 函数功能:
生成一条圆弧路径到指定点。
- 函数原型:
ret_t vgcanvas_arc_to (vgcanvas_t* vg, float_t x1, float_t y1, float_t x2, float_t y2, float_t r);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
x1 | float_t | 起始点x坐标。 |
y1 | float_t | 起始点y坐标。 |
x2 | float_t | 结束点x坐标。 |
y2 | float_t | 结束点y坐标。 |
r | float_t | 半径。 |
- 函数功能:
开始绘制,系统内部调用。
- 函数原型:
ret_t vgcanvas_begin_frame (vgcanvas_t* vg, rect_t* dirty_rect);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
dirty_rect | rect_t* | 需要绘制的区域。 |
- 函数功能:
清除之前的路径,并重新开始一条路径。
- 函数原型:
ret_t vgcanvas_begin_path (vgcanvas_t* vg);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
- 函数功能:
生成一条三次贝塞尔曲线。
- 函数原型:
ret_t vgcanvas_bezier_to (vgcanvas_t* vg, float_t cp1x, float_t cp1y, float_t cp2x, float_t cp2y, float_t x, float_t y);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
cp1x | float_t | 控制点1x坐标。 |
cp1y | float_t | 控制点1y坐标。 |
cp2x | float_t | 控制点2x坐标。 |
cp2y | float_t | 控制点3y坐标。 |
x | float_t | x坐标。 |
y | float_t | y坐标。 |
- 函数功能:
转换为vgcanvas对象(供脚本语言使用)。
- 函数原型:
vgcanvas_t* vgcanvas_cast (vgcanvas_t* vg);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | vgcanvas_t* | vgcanvas对象。 |
vg | vgcanvas_t* | vgcanvas对象。 |
- 函数功能:
用颜色清除指定矩形区域。
- 函数原型:
ret_t vgcanvas_clear_rect (vgcanvas_t* vg, float_t x, float_t y, float_t w, float_t h, color_t c);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
x | float_t | x坐标。 |
y | float_t | y坐标。 |
w | float_t | 宽度。 |
h | float_t | 高度。 |
c | color_t | 颜色。 |
- 函数功能:
矩形裁剪。
- 函数原型:
ret_t vgcanvas_clip_rect (vgcanvas_t* vg, float_t x, float_t y, float_t w, float_t h);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
x | float_t | x坐标。 |
y | float_t | y坐标。 |
w | float_t | 宽度。 |
h | float_t | 高度。 |
- 函数功能:
闭合路径。
闭合路径是指把起点和终点连接起来,形成一个封闭的多边形。
- 函数原型:
ret_t vgcanvas_close_path (vgcanvas_t* vg);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
- 函数功能:
创建vgcanvas。
- 函数原型:
vgcanvas_t vgcanvas_create (uint32_t w, uint32_t h, uint32_t stride, bitmap_format_t format, void* data);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | vgcanvas_t | 返回vgcanvas |
w | uint32_t | 宽度 |
h | uint32_t | 高度 |
stride | uint32_t | 一行占用的字节数。 |
format | bitmap_format_t | 如果data是framebuffer,format指定data的格式。 |
data | void* | framebuffer或其它ctx。 |
- 函数功能:
销毁vgcanvas对象。
- 函数原型:
ret_t vgcanvas_destroy (vgcanvas_t* vg);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
- 函数功能:
绘制图标。
绘制图标时会根据屏幕密度进行自动缩放,而绘制普通图片时不会。
- 函数原型:
ret_t vgcanvas_draw_icon (vgcanvas_t* vg, bitmap_t* img, float_t sx, float_t sy, float_t sw, float_t sh, float_t dx, float_t dy, float_t dw, float_t dh);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
img | bitmap_t* | 图片。 |
sx | float_t | sx |
sy | float_t | sy |
sw | float_t | sw |
sh | float_t | sh |
dx | float_t | dx |
dy | float_t | dy |
dw | float_t | dw |
dh | float_t | dh |
- 函数功能:
绘制图片。
- 函数原型:
ret_t vgcanvas_draw_image (vgcanvas_t* vg, bitmap_t* img, float_t sx, float_t sy, float_t sw, float_t sh, float_t dx, float_t dy, float_t dw, float_t dh);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
img | bitmap_t* | 图片。 |
sx | float_t | sx |
sy | float_t | sy |
sw | float_t | sw |
sh | float_t | sh |
dx | float_t | dx |
dy | float_t | dy |
dw | float_t | dw |
dh | float_t | dh |
- 函数功能:
生成一个椭圆路径。
- 函数原型:
ret_t vgcanvas_ellipse (vgcanvas_t* vg, float_t x, float_t y, float_t rx, float_t ry);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
x | float_t | x坐标。 |
y | float_t | y坐标。 |
rx | float_t | 圆角半径。 |
ry | float_t | 圆角半径。 |
- 函数功能:
结束绘制。系统内部调用。
- 函数原型:
ret_t vgcanvas_end_frame (vgcanvas_t* vg);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
- 函数功能:
填充多边形。
- 函数原型:
ret_t vgcanvas_fill (vgcanvas_t* vg);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
- 函数功能:
绘制文本。
- 函数原型:
ret_t vgcanvas_fill_text (vgcanvas_t* vg, char* text, float_t x, float_t y, float_t max_width);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
text | char* | text |
x | float_t | x坐标。 |
y | float_t | y坐标。 |
max_width | float_t | 最大宽度。 |
- 函数功能:
flush
- 函数原型:
ret_t vgcanvas_flush (vgcanvas_t* vg);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
- 函数功能:
检查点是否在当前路径中。
- 函数原型:
bool_t vgcanvas_is_point_in_path (vgcanvas_t* vg, float_t x, float_t y);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | bool_t | 返回TRUE表示在,否则表示不在。 |
vg | vgcanvas_t* | vgcanvas对象。 |
x | float_t | x坐标。 |
y | float_t | y坐标。 |
- 函数功能:
生成一条线段(从当前点到目标点)。
- 函数原型:
ret_t vgcanvas_line_to (vgcanvas_t* vg, float_t x, float_t y);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
x | float_t | x坐标。 |
y | float_t | y坐标。 |
- 函数功能:
测量文本的宽度。
- 函数原型:
float_t vgcanvas_measure_text (vgcanvas_t* vg, char* text);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | float_t | 返回text的宽度。 |
vg | vgcanvas_t* | vgcanvas对象。 |
text | char* | text |
- 函数功能:
移动当前点到指定点。
- 函数原型:
ret_t vgcanvas_move_to (vgcanvas_t* vg, float_t x, float_t y);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
x | float_t | x坐标。 |
y | float_t | y坐标。 |
- 函数功能:
用图片填充/画多边形(可能存在可移植性问题,除非必要请勿使用)。
多边形的顶点必须在图片范围内,可以通过矩阵变化画到不同的位置。
- 函数原型:
ret_t vgcanvas_paint (vgcanvas_t* vg, bool_t stroke, bitmap_t* img);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
stroke | bool_t | TRUE表示画线FALSE表示填充。 |
img | bitmap_t* | 图片。 |
- 函数功能:
生成一条二次贝塞尔曲线。
- 函数原型:
ret_t vgcanvas_quad_to (vgcanvas_t* vg, float_t cpx, float_t cpy, float_t x, float_t y);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
cpx | float_t | 控制点x坐标。 |
cpy | float_t | 控制点y坐标。 |
x | float_t | x坐标。 |
y | float_t | y坐标。 |
- 函数功能:
生成一个矩形路径。
- 函数原型:
ret_t vgcanvas_rect (vgcanvas_t* vg, float_t x, float_t y, float_t w, float_t h);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
x | float_t | x坐标。 |
y | float_t | y坐标。 |
w | float_t | 宽度。 |
h | float_t | 高度。 |
- 函数功能:
重新初始化,系统内部调用。
- 函数原型:
ret_t vgcanvas_reinit (vgcanvas_t* vg, uint32_t w, uint32_t h, uint32_t stride, bitmap_format_t format, void* data);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
w | uint32_t | 宽度 |
h | uint32_t | 高度 |
stride | uint32_t | 一行占用的字节数。 |
format | bitmap_format_t | 如果data是framebuffer,format指定data的格式。 |
data | void* | framebuffer或其它ctx。 |
- 函数功能:
重置状态。
- 函数原型:
ret_t vgcanvas_reset (vgcanvas_t* vg);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
- 函数功能:
恢复上次save的状态。
save/restore必须配套使用,否则可能导致状态混乱。
- 函数原型:
ret_t vgcanvas_restore (vgcanvas_t* vg);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
- 函数功能:
旋转。
- 函数原型:
ret_t vgcanvas_rotate (vgcanvas_t* vg, float_t rad);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
rad | float_t | 角度 |
- 函数功能:
生成一个圆角矩形路径。
- 函数原型:
ret_t vgcanvas_rounded_rect (vgcanvas_t* vg, float_t x, float_t y, float_t w, float_t h, float_t r);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
x | float_t | x坐标。 |
y | float_t | y坐标。 |
w | float_t | 宽度。 |
h | float_t | 高度。 |
r | float_t | 圆角半径。 |
- 函数功能:
保存当前的状态。如颜色和矩阵等信息。
save/restore必须配套使用,否则可能导致状态混乱。
- 函数原型:
ret_t vgcanvas_save (vgcanvas_t* vg);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
- 函数功能:
缩放。
- 函数原型:
ret_t vgcanvas_scale (vgcanvas_t* vg, float_t x, float_t y);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
x | float_t | x方向缩放比例。 |
y | float_t | y方向缩放比例。 |
- 函数功能:
设置是否启用反走样。
- 函数原型:
ret_t vgcanvas_set_antialias (vgcanvas_t* vg, bool_t value);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
value | bool_t | 是否启用反走样。 |
- 函数功能:
设置填充颜色。
- 函数原型:
ret_t vgcanvas_set_fill_color (vgcanvas_t* vg, color_t color);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
color | color_t | 颜色。 |
- 函数功能:
设置填充颜色。
- 函数原型:
ret_t vgcanvas_set_fill_color_str (vgcanvas_t* vg, const char* color);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
color | const char* | 颜色。 |
- 函数功能:
设置填充颜色为线性渐变色。
- 函数原型:
ret_t vgcanvas_set_fill_linear_gradient (vgcanvas_t* vg, float_t sx, float_t sy, float_t ex, float_t ey, color_t icolor, color_t ocolor);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
sx | float_t | start x |
sy | float_t | start y |
ex | float_t | end x |
ey | float_t | end y |
icolor | color_t | 开始颜色。 |
ocolor | color_t | 结束颜色。 |
- 函数功能:
设置填充颜色为径向渐变色。
- 函数原型:
ret_t vgcanvas_set_fill_radial_gradient (vgcanvas_t* vg, float_t cx, float_t cy, float_t inr, float_t outr, color_t icolor, color_t ocolor);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
cx | float_t | center x |
cy | float_t | center y |
inr | float_t | 内环半径 |
outr | float_t | 外环半径。 |
icolor | color_t | 开始颜色。 |
ocolor | color_t | 结束颜色。 |
- 函数功能:
设置字体的名称。
- 函数原型:
ret_t vgcanvas_set_font (vgcanvas_t* vg, char* font);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
font | char* | 字体名称。 |
- 函数功能:
设置字体的大小。
- 函数原型:
ret_t vgcanvas_set_font_size (vgcanvas_t* vg, float_t font);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
font | float_t | 字体大小。 |
- 函数功能:
设置全局透明度。
- 函数原型:
ret_t vgcanvas_set_global_alpha (vgcanvas_t* vg, float_t alpha);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
alpha | float_t | global alpha。 |
- 函数功能:
设置line cap。
- 函数原型:
ret_t vgcanvas_set_line_cap (vgcanvas_t* vg, char* value);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
value | char* | 取值:butt |
- 函数功能:
设置line join。
- 函数原型:
ret_t vgcanvas_set_line_join (vgcanvas_t* vg, char* value);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
value | char* | 取值:bevel |
- 函数功能:
设置线条的宽度。
- 函数原型:
ret_t vgcanvas_set_line_width (vgcanvas_t* vg, float_t value);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
value | float_t | 线宽。 |
- 函数功能:
设置miter limit。
- 函数原型:
ret_t vgcanvas_set_miter_limit (vgcanvas_t* vg, float_t value);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
value | float_t | miter limit |
- 函数功能:
设置线条颜色。
- 函数原型:
ret_t vgcanvas_set_stroke_color (vgcanvas_t* vg, color_t color);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
color | color_t | 颜色。 |
- 函数功能:
设置线条颜色。
- 函数原型:
ret_t vgcanvas_set_stroke_color_str (vgcanvas_t* vg, const char* color);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
color | const char* | 颜色。 |
- 函数功能:
设置线条颜色为线性渐变色。
- 函数原型:
ret_t vgcanvas_set_stroke_linear_gradient (vgcanvas_t* vg, float_t sx, float_t sy, float_t ex, float_t ey, color_t icolor, color_t ocolor);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
sx | float_t | start x |
sy | float_t | start y |
ex | float_t | end x |
ey | float_t | end y |
icolor | color_t | 开始颜色。 |
ocolor | color_t | 结束颜色。 |
- 函数功能:
设置线条颜色为径向渐变色。
- 函数原型:
ret_t vgcanvas_set_stroke_radial_gradient (vgcanvas_t* vg, float_t cx, float_t cy, float_t inr, float_t outr, color_t icolor, color_t ocolor);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
cx | float_t | center x |
cy | float_t | center y |
inr | float_t | 内环半径 |
outr | float_t | 外环半径。 |
icolor | color_t | 开始颜色。 |
ocolor | color_t | 结束颜色。 |
- 函数功能:
设置文本水平对齐的方式。
- 函数原型:
ret_t vgcanvas_set_text_align (vgcanvas_t* vg, char* value);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
value | char* | 取值:left |
- 函数功能:
设置文本垂直对齐的方式。
- 函数原型:
ret_t vgcanvas_set_text_baseline (vgcanvas_t* vg, char* value);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
value | char* | 取值:top |
- 函数功能:
设置变换矩阵。
- 函数原型:
ret_t vgcanvas_set_transform (vgcanvas_t* vg, float_t a, float_t b, float_t c, float_t d, float_t e, float_t f);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
a | float_t | a |
b | float_t | b |
c | float_t | c |
d | float_t | d |
e | float_t | e |
f | float_t | f |
- 函数功能:
画线。
- 函数原型:
ret_t vgcanvas_stroke (vgcanvas_t* vg);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
- 函数功能:
变换矩阵。
- 函数原型:
ret_t vgcanvas_transform (vgcanvas_t* vg, float_t a, float_t b, float_t c, float_t d, float_t e, float_t f);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
a | float_t | a |
b | float_t | b |
c | float_t | c |
d | float_t | d |
e | float_t | e |
f | float_t | f |
- 函数功能:
平移。
- 函数原型:
ret_t vgcanvas_translate (vgcanvas_t* vg, float_t x, float_t y);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
vg | vgcanvas_t* | vgcanvas对象。 |
x | float_t | x方向偏移。 |
y | float_t | y方向偏移。 |
是否启用反走样功能。
- 类型:bool_t
特性 | 是否支持 |
---|---|
可直接读取 | 是 |
可直接修改 | 否 |
可脚本化 | 是 |
填充颜色
- 类型:color_t
特性 | 是否支持 |
---|---|
可直接读取 | 是 |
可直接修改 | 否 |
字体。
- 类型:char*
特性 | 是否支持 |
---|---|
可直接读取 | 是 |
可直接修改 | 否 |
可脚本化 | 是 |
字体大小。
- 类型:float_t
特性 | 是否支持 |
---|---|
可直接读取 | 是 |
可直接修改 | 否 |
可脚本化 | 是 |
全局alpha。
- 类型:float_t
特性 | 是否支持 |
---|---|
可直接读取 | 是 |
可直接修改 | 否 |
可脚本化 | 是 |
canvas的高度
- 类型:wh_t
特性 | 是否支持 |
---|---|
可直接读取 | 是 |
可直接修改 | 否 |
可脚本化 | 是 |
line\_cap。
@see http://www.w3school.com.cn/tags/canvas_linecap.asp
- 类型:char*
特性 | 是否支持 |
---|---|
可直接读取 | 是 |
可直接修改 | 否 |
可脚本化 | 是 |
line\_join。
@see http://www.w3school.com.cn/tags/canvas_linejoin.asp
- 类型:char*
特性 | 是否支持 |
---|---|
可直接读取 | 是 |
可直接修改 | 否 |
可脚本化 | 是 |
线宽。
- 类型:float_t
特性 | 是否支持 |
---|---|
可直接读取 | 是 |
可直接修改 | 否 |
可脚本化 | 是 |
miter\_limit。
@see http://www.w3school.com.cn/tags/canvas_miterlimit.asp
- 类型:float_t
特性 | 是否支持 |
---|---|
可直接读取 | 是 |
可直接修改 | 否 |
可脚本化 | 是 |
显示比例。
- 类型:float_t
特性 | 是否支持 |
---|---|
可直接读取 | 是 |
可直接修改 | 否 |
可脚本化 | 是 |
线条颜色
- 类型:color_t
特性 | 是否支持 |
---|---|
可直接读取 | 是 |
可直接修改 | 否 |
文本对齐方式。
@see http://www.w3school.com.cn/tags/canvas_textalign.asp
- 类型:char*
特性 | 是否支持 |
---|---|
可直接读取 | 是 |
可直接修改 | 否 |
可脚本化 | 是 |
文本基线。
@see http://www.w3school.com.cn/tags/canvas_textbaseline.asp
- 类型:char*
特性 | 是否支持 |
---|---|
可直接读取 | 是 |
可直接修改 | 否 |
可脚本化 | 是 |
canvas的宽度
- 类型:wh_t
特性 | 是否支持 |
---|---|
可直接读取 | 是 |
可直接修改 | 否 |
可脚本化 | 是 |