# g2d_t
# 概述
2D加速接口。
# 函数
函数名称 | 说明 |
---|---|
g2d_blend_image | 把图片指定的区域渲染到framebuffer指定的区域,src的大小和dst的大小不一致则进行缩放。 |
g2d_blend_image_rotate | 把图片指定的区域渲染到framebuffer指定的区域,src的大小和dst的大小不一致则进行缩放以及旋转。 |
g2d_copy_image | 把图片指定的区域拷贝到framebuffer中。 |
g2d_fill_rect | 用颜色填充指定的区域。 |
g2d_rotate_image | 把图片指定的区域进行旋转并拷贝到framebuffer相应的区域,本函数主要用于辅助实现横屏和竖屏的切换,一般支持90度旋转即可。 |
g2d_rotate_image_ex | 把图片指定的区域进行旋转。 |
# g2d_blend_image 函数
- 函数功能:
把图片指定的区域渲染到framebuffer指定的区域,src的大小和dst的大小不一致则进行缩放。 1.硬件不支持缩放,则返回NOT_IMPL。 2.硬件不支持全局alpha,global_alpha!=0xff时返回NOT_IMPL。
- 函数原型:
ret_t g2d_blend_image (bitmap_t* fb, bitmap_t* img, const rect_t* dst, const rect_t* src, uint8_t global_alpha);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败,返回失败则上层用软件实现。 |
fb | bitmap_t* | framebuffer对象。 |
img | bitmap_t* | 图片对象。 |
dst | const rect_t* | 目的区域。 |
src | const rect_t* | 源区域。 |
global_alpha | uint8_t | 全局alpha。 |
# g2d_blend_image_rotate 函数
- 函数功能:
把图片指定的区域渲染到framebuffer指定的区域,src的大小和dst的大小不一致则进行缩放以及旋转。
- 函数原型:
ret_t g2d_blend_image_rotate (bitmap_t* dst, bitmap_t* src, const rectf_t* dst_r, const rectf_t* src_r, uint8_t alpha, lcd_orientation_t o);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败,返回失败则上层用软件实现。 |
dst | bitmap_t* | 目标图片对象。 |
src | bitmap_t* | 源图片对象。 |
dst_r | const rectf_t* | 目的区域。(坐标原点为旋转后的坐标系原点,并非是 dst 的左上角) |
src_r | const rectf_t* | 源区域。 |
alpha | uint8_t | 全局alpha。 |
o | lcd_orientation_t | 旋转角度(一般支持90度即可,旋转方向为逆时针)。 |
# g2d_copy_image 函数
- 函数功能:
把图片指定的区域拷贝到framebuffer中。
- 函数原型:
ret_t g2d_copy_image (bitmap_t* fb, bitmap_t* img, const rect_t* src, xy_t dx, xy_t dy);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败,返回失败则上层用软件实现。 |
fb | bitmap_t* | framebuffer对象。 |
img | bitmap_t* | 图片对象。 |
src | const rect_t* | 要拷贝的区域。 |
dx | xy_t | 目标位置的x坐标。 |
dy | xy_t | 目标位置的y坐标。 |
# g2d_fill_rect 函数
- 函数功能:
用颜色填充指定的区域。
- 函数原型:
ret_t g2d_fill_rect (bitmap_t* fb, const rect_t* dst, color_t c);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败,返回失败则上层用软件实现。 |
fb | bitmap_t* | framebuffer对象。 |
dst | const rect_t* | 要填充的目标区域。 |
c | color_t | 颜色。 |
# g2d_rotate_image 函数
- 函数功能:
把图片指定的区域进行旋转并拷贝到framebuffer相应的区域,本函数主要用于辅助实现横屏和竖屏的切换,一般支持90度旋转即可。
- 函数原型:
ret_t g2d_rotate_image (bitmap_t* fb, bitmap_t* img, const rect_t* src, lcd_orientation_t o);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败,返回失败则上层用软件实现。 |
fb | bitmap_t* | framebuffer对象。 |
img | bitmap_t* | 图片对象。 |
src | const rect_t* | 要旋转并拷贝的区域。 |
o | lcd_orientation_t | 旋转角度(一般支持90度即可)。 |
# g2d_rotate_image_ex 函数
- 函数功能:
把图片指定的区域进行旋转。
- 函数原型:
ret_t g2d_rotate_image_ex (bitmap_t* dst, bitmap_t* src, const rect_t* src_r, xy_t dx, xy_t dy, lcd_orientation_t o);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败,返回失败则上层用软件实现。 |
dst | bitmap_t* | 目标图片对象。 |
src | bitmap_t* | 源图片对象。 |
src_r | const rect_t* | 要旋转并拷贝的区域。 |
dx | xy_t | 目标位置的x坐标。(坐标原点为旋转后的坐标系原点,并非是 dst 的左上角) |
dy | xy_t | 目标位置的y坐标。(坐标原点为旋转后的坐标系原点,并非是 dst 的左上角) |
o | lcd_orientation_t | 旋转角度(一般支持90度即可,旋转方向为逆时针)。 |