# GfxFuncs ## 概述 显示硬件加速驱动接口结构体,定义硬件加速驱动接口函数指针。 **相关模块:** [Display](_display.md) ## 汇总 ### Public 属性 | 名称 | 描述 | | -------- | -------- | | (\* [InitGfx](#initgfx) )(void) | int32_t
初始化硬件加速。 | | (\* [DeinitGfx](#deinitgfx) )(void) | int32_t
去初始化硬件加速。 | | (\* [FillRect](#fillrect) )([ISurface](_i_surface.md) \*surface, [IRect](_i_rect.md) \*rect, uint32_t color, [GfxOpt](_gfx_opt.md) \*opt) | int32_t
填充矩形,用一种颜色填充画布上指定矩形区域的矩形框。 | | (\* [DrawRectangle](#drawrectangle) )([ISurface](_i_surface.md) \*surface, [Rectangle](_rectangle.md) \*rect, uint32_t color, [GfxOpt](_gfx_opt.md) \*opt) | int32_t
绘制矩形框,用一种颜色在画布上绘制指定区域的矩形框。 | | (\* [DrawLine](#drawline) )([ISurface](_i_surface.md) \*surface, [ILine](_i_line.md) \*line, [GfxOpt](_gfx_opt.md) \*opt) | int32_t
绘制直线,使用一种颜色在画布上绘制一条直线。 | | (\* [DrawCircle](#drawcircle) )([ISurface](_i_surface.md) \*surface, [ICircle](_i_circle.md) \*circle, [GfxOpt](_gfx_opt.md) \*opt) | int32_t
绘制圆形,使用一种颜色在画布上绘制指定圆心和半径的圆。 | | (\* [Blit](#blit) )([ISurface](_i_surface.md) \*srcSurface, [IRect](_i_rect.md) \*srcRect, [ISurface](_i_surface.md) \*dstSurface, [IRect](_i_rect.md) \*dstRect, [GfxOpt](_gfx_opt.md) \*opt) | int32_t
位图搬移 | | (\* [Sync](#sync) )(int32_t timeOut) | int32_t
硬件加速同步。 | ## 类成员变量说明 ### Blit ``` int32_t(* GfxFuncs::Blit) (ISurface *srcSurface, IRect *srcRect, ISurface *dstSurface, IRect *dstRect, GfxOpt *opt) ``` **描述:** 位图搬移 在位图搬移过程中,可以实现色彩空间转换、缩放、旋转等功能。 **参数:** | 名称 | 描述 | | -------- | -------- | | srcSurface | 输入参数,源位图信息。 | | srcRect | 输入参数,源位图搬移区域。 | | dstSurface | 输出参数,目标位图信息。 | | dstRect | 输出参数,目标位图区域。 | | opt | 输入参数,硬件加速选项。 | **返回:** DISPLAY_SUCCESS 表示执行成功。 其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。 ### DeinitGfx ``` int32_t(* GfxFuncs::DeinitGfx) (void) ``` **描述:** 去初始化硬件加速。 **返回:** DISPLAY_SUCCESS 表示执行成功。 其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。 **参见:** [InitGfx](#initgfx) ### DrawCircle ``` int32_t(* GfxFuncs::DrawCircle) (ISurface *surface, ICircle *circle, GfxOpt *opt) ``` **描述:** 绘制圆形,使用一种颜色在画布上绘制指定圆心和半径的圆。 **参数:** | 名称 | 描述 | | -------- | -------- | | surface | 输入参数,画布。 | | circle | 输入参数,圆形结构。 | | opt | 输入参数,硬件加速选项。 | **返回:** DISPLAY_SUCCESS 表示执行成功。 其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。 ### DrawLine ``` int32_t(* GfxFuncs::DrawLine) (ISurface *surface, ILine *line, GfxOpt *opt) ``` **描述:** 绘制直线,使用一种颜色在画布上绘制一条直线。 **参数:** | 名称 | 描述 | | -------- | -------- | | surface | 输入参数,画布。 | | line | 输入参数,直线结构。 | | opt | 输入参数,硬件加速选项。 | **返回:** DISPLAY_SUCCESS 表示执行成功。 其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。 ### DrawRectangle ``` int32_t(* GfxFuncs::DrawRectangle) (ISurface *surface, Rectangle *rect, uint32_t color, GfxOpt *opt) ``` **描述:** 绘制矩形框,用一种颜色在画布上绘制指定区域的矩形框。 **参数:** | 名称 | 描述 | | -------- | -------- | | surface | 输入参数,画布。 | | rect | 输入参数,矩形框结构。 | | color | 输入参数,绘制的颜色。 | | opt | 输入参数,硬件加速选项。 | **返回:** DISPLAY_SUCCESS 表示执行成功。 其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。 ### FillRect ``` int32_t(* GfxFuncs::FillRect) (ISurface *surface, IRect *rect, uint32_t color, GfxOpt *opt) ``` **描述:** 填充矩形,用一种颜色填充画布上指定矩形区域的矩形框。 **参数:** | 名称 | 描述 | | -------- | -------- | | surface | 输入参数,画布。 | | rect | 输入参数,填充的矩形区域。 | | color | 输入参数,填充的颜色。 | | opt | 输入参数,硬件加速选项。 | **返回:** DISPLAY_SUCCESS 表示执行成功。 其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。 ### InitGfx ``` int32_t(* GfxFuncs::InitGfx) (void) ``` **描述:** 初始化硬件加速。 **返回:** DISPLAY_SUCCESS 表示执行成功。 其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。 **参见:** [DeinitGfx](#deinitgfx) ### Sync ``` int32_t(* GfxFuncs::Sync) (int32_t timeOut) ``` **描述:** 硬件加速同步。 在使用硬件加速模块进行图像绘制、图像叠加、图像搬移时,通过调用该接口进行硬件同步,该接口会等待硬件加速完成。 **参数:** | 名称 | 描述 | | -------- | -------- | | timeOut | 输入参数,硬件加速同步超时设置,设置为0表示无超时,等待直到硬件加速完成。 | **返回:** DISPLAY_SUCCESS 表示执行成功。 其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。