awtk/docs/manual/g2d_t.md

155 lines
5.9 KiB
Markdown
Raw Normal View History

2019-10-17 14:23:01 +08:00
## g2d\_t
### 概述
2019-11-15 11:33:43 +08:00
2D加速接口。
2019-10-17 14:23:01 +08:00
----------------------------------
### 函数
<p id="g2d_t_methods">
| 函数名称 | 说明 |
| -------- | ------------ |
2019-12-14 13:25:56 +08:00
| <a href="#g2d_t_g2d_blend_image">g2d\_blend\_image</a> | 把图片指定的区域渲染到framebuffer指定的区域src的大小和dst的大小不一致则进行缩放。 |
2022-12-05 12:10:53 +08:00
| <a href="#g2d_t_g2d_blend_image_rotate">g2d\_blend\_image\_rotate</a> | 把图片指定的区域渲染到framebuffer指定的区域src的大小和dst的大小不一致则进行缩放以及旋转。 |
2019-10-17 14:23:01 +08:00
| <a href="#g2d_t_g2d_copy_image">g2d\_copy\_image</a> | 把图片指定的区域拷贝到framebuffer中。 |
| <a href="#g2d_t_g2d_fill_rect">g2d\_fill\_rect</a> | 用颜色填充指定的区域。 |
2020-05-24 19:28:22 +08:00
| <a href="#g2d_t_g2d_rotate_image">g2d\_rotate\_image</a> | 把图片指定的区域进行旋转并拷贝到framebuffer相应的区域本函数主要用于辅助实现横屏和竖屏的切换一般支持90度旋转即可。 |
2023-06-29 10:44:29 +08:00
| <a href="#g2d_t_g2d_rotate_image_ex">g2d\_rotate\_image\_ex</a> | 把图片指定的区域进行旋转。 |
2019-10-17 14:23:01 +08:00
#### g2d\_blend\_image 函数
-----------------------
* 函数功能:
2019-12-14 13:25:56 +08:00
> <p id="g2d_t_g2d_blend_image">把图片指定的区域渲染到framebuffer指定的区域src的大小和dst的大小不一致则进行缩放。
1.硬件不支持缩放则返回NOT_IMPL。
2.硬件不支持全局alphaglobal_alpha!=0xff时返回NOT_IMPL。
2019-10-17 14:23:01 +08:00
* 函数原型:
```
2020-09-23 17:37:32 +08:00
ret_t g2d_blend_image (bitmap_t* fb, bitmap_t* img, const rect_t* dst, const rect_t* src, uint8_t global_alpha);
2019-10-17 14:23:01 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败返回失败则上层用软件实现。 |
| fb | bitmap\_t* | framebuffer对象。 |
| img | bitmap\_t* | 图片对象。 |
2020-09-23 17:37:32 +08:00
| dst | const rect\_t* | 目的区域。 |
| src | const rect\_t* | 源区域。 |
2019-10-17 14:23:01 +08:00
| global\_alpha | uint8\_t | 全局alpha。 |
2022-12-05 12:10:53 +08:00
#### g2d\_blend\_image\_rotate 函数
-----------------------
* 函数功能:
> <p id="g2d_t_g2d_blend_image_rotate">把图片指定的区域渲染到framebuffer指定的区域src的大小和dst的大小不一致则进行缩放以及旋转。
* 函数原型:
```
2023-06-29 10:44:29 +08:00
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);
2022-12-05 12:10:53 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败返回失败则上层用软件实现。 |
| dst | bitmap\_t* | 目标图片对象。 |
| src | bitmap\_t* | 源图片对象。 |
| dst\_r | const rectf\_t* | 目的区域。(坐标原点为旋转后的坐标系原点,并非是 dst 的左上角) |
| src\_r | const rectf\_t* | 源区域。 |
2023-06-29 10:44:29 +08:00
| alpha | uint8\_t | 全局alpha。 |
2022-12-05 12:10:53 +08:00
| o | lcd\_orientation\_t | 旋转角度(一般支持90度即可旋转方向为逆时针)。 |
2019-10-17 14:23:01 +08:00
#### g2d\_copy\_image 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="g2d_t_g2d_copy_image">把图片指定的区域拷贝到framebuffer中。
2019-10-17 14:23:01 +08:00
* 函数原型:
```
2020-09-23 17:37:32 +08:00
ret_t g2d_copy_image (bitmap_t* fb, bitmap_t* img, const rect_t* src, xy_t dx, xy_t dy);
2019-10-17 14:23:01 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败返回失败则上层用软件实现。 |
| fb | bitmap\_t* | framebuffer对象。 |
| img | bitmap\_t* | 图片对象。 |
2020-09-23 17:37:32 +08:00
| src | const rect\_t* | 要拷贝的区域。 |
2019-10-17 14:23:01 +08:00
| dx | xy\_t | 目标位置的x坐标。 |
| dy | xy\_t | 目标位置的y坐标。 |
2020-05-24 19:28:22 +08:00
#### g2d\_fill\_rect 函数
2019-10-17 14:23:01 +08:00
-----------------------
* 函数功能:
2020-05-24 19:28:22 +08:00
> <p id="g2d_t_g2d_fill_rect">用颜色填充指定的区域。
2019-10-17 14:23:01 +08:00
* 函数原型:
```
2020-09-23 17:37:32 +08:00
ret_t g2d_fill_rect (bitmap_t* fb, const rect_t* dst, color_t c);
2019-10-17 14:23:01 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败返回失败则上层用软件实现。 |
| fb | bitmap\_t* | framebuffer对象。 |
2020-09-23 17:37:32 +08:00
| dst | const rect\_t* | 要填充的目标区域。 |
2020-05-24 19:28:22 +08:00
| c | color\_t | 颜色。 |
#### g2d\_rotate\_image 函数
2019-10-17 14:23:01 +08:00
-----------------------
* 函数功能:
2020-05-24 19:28:22 +08:00
> <p id="g2d_t_g2d_rotate_image">把图片指定的区域进行旋转并拷贝到framebuffer相应的区域本函数主要用于辅助实现横屏和竖屏的切换一般支持90度旋转即可。
2019-10-17 14:23:01 +08:00
* 函数原型:
```
2020-09-23 17:37:32 +08:00
ret_t g2d_rotate_image (bitmap_t* fb, bitmap_t* img, const rect_t* src, lcd_orientation_t o);
2019-10-17 14:23:01 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败返回失败则上层用软件实现。 |
| fb | bitmap\_t* | framebuffer对象。 |
2020-05-24 19:28:22 +08:00
| img | bitmap\_t* | 图片对象。 |
2020-09-23 17:37:32 +08:00
| src | const rect\_t* | 要旋转并拷贝的区域。 |
2020-05-24 19:28:22 +08:00
| o | lcd\_orientation\_t | 旋转角度(一般支持90度即可)。 |
2023-06-29 10:44:29 +08:00
#### g2d\_rotate\_image\_ex 函数
2022-12-05 12:10:53 +08:00
-----------------------
* 函数功能:
2023-06-29 10:44:29 +08:00
> <p id="g2d_t_g2d_rotate_image_ex">把图片指定的区域进行旋转。
2022-12-05 12:10:53 +08:00
* 函数原型:
```
2023-06-29 10:44:29 +08:00
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);
2022-12-05 12:10:53 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | 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度即可旋转方向为逆时针)。 |