root_view
root_view 模块提供窗口与根视图管理功能,包含窗口创建、事件分发、按键与手势监听等核心能力。
Class Summary
OHOS::Window
Window 前向声明类,用于窗口管理场景
- 构造:无
- 成员函数:无
- 使用包含头文件:
#include "components/root_view.h" - 声明头文件:
middleware/services/gui/uikit/ui/interfaces/kits/components/root_view.h - 公有运算符:无
- 继承关系:无
- 嵌套类型:无
- 模板形参:无
OHOS::WindowImpl
WindowImpl 前向声明类,用于窗口实现场景
- 构造:无
- 成员函数:无
- 使用包含头文件:
#include "components/root_view.h" - 声明头文件:
middleware/services/gui/uikit/ui/interfaces/kits/components/root_view.h - 公有运算符:无
- 继承关系:无
- 嵌套类型:无
- 模板形参:无
OHOS::RootView
视图树的根节点,管理子视图的添加、删除及事件分发
- 构造:无
-
成员函数:
-
使用包含头文件:
#include "components/root_view.h" - 声明头文件:
middleware/services/gui/uikit/ui/interfaces/kits/components/root_view.h - 公有运算符:无
- 继承关系:UIViewGroup
- 嵌套类型:OnKeyActListener、OnGestureListener、OnVirtualDeviceEventListener、DrawContext
- 模板形参:无
OHOS::RootView::OnKeyActListener
按键事件监听器抽象基类,用于响应物理按键事件
- 构造:无
-
成员函数:
接口名称 功能简述 OnKeyAct 响应物理按键事件的回调接口 -
使用包含头文件:
#include "components/root_view.h" - 声明头文件:
middleware/services/gui/uikit/ui/interfaces/kits/components/root_view.h - 公有运算符:无
- 继承关系:HeapBase
- 嵌套类型:无
- 模板形参:无
OHOS::RootView::OnGestureListener
手势事件监听器抽象基类,用于响应手势事件
- 构造:无
-
成员函数:
接口名称 功能简述 OnGesture 响应手势事件的回调接口 -
使用包含头文件:
#include "components/root_view.h" - 声明头文件:
middleware/services/gui/uikit/ui/interfaces/kits/components/root_view.h - 公有运算符:无
- 继承关系:HeapBase
- 嵌套类型:无
- 模板形参:无
OHOS::RootView::OnVirtualDeviceEventListener
虚拟设备事件监听器抽象基类,用于响应虚拟设备输入事件
- 构造:无
-
成员函数:
接口名称 功能简述 OnVirtualDeviceEvent 响应虚拟设备输入事件的回调接口 -
使用包含头文件:
#include "components/root_view.h" - 声明头文件:
middleware/services/gui/uikit/ui/interfaces/kits/components/root_view.h - 公有运算符:无
- 继承关系:HeapBase
- 嵌套类型:无
- 模板形参:无
Functions
OHOS::Window
类 Window 仅有前向声明,无公有成员函数,不在 Functions 中输出类分组。
OHOS::WindowImpl
类 WindowImpl 仅有前向声明,无公有成员函数,不在 Functions 中输出类分组。
OHOS::RootView
AddHardwareLayer
void AddHardwareLayer(IHardwareView* view)
功能说明
- 将指定的硬件图层视图添加到 RootView
- 调用后硬件图层视图被记录,用于硬件加速渲染
- 重复调用会覆盖之前设置的硬件图层
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| view | IHardwareView* | 入参指针,指向待添加的硬件图层视图 | 非nullptr时指向有效的IHardwareView对象 |
Kconfig 配置
| 配置项 | 说明 | 默认值 |
|---|---|---|
| VERSION_IOT | 启用IoT版本硬件图层功能 | n |
GetHardwareLayer
IHardwareView* GetHardwareLayer()
功能说明
- 获取当前 RootView 中设置的硬件图层视图
- 用于查询当前绑定的硬件加速渲染目标
- 未设置硬件图层时返回 nullptr
返回值
- 返回类型:
IHardwareView*
返回当前硬件图层视图指针
| 返回值 | 触发场景 |
|---|---|
| 非nullptr | 已设置硬件图层视图 |
| nullptr | 未设置硬件图层视图 |
Kconfig 配置
| 配置项 | 说明 | 默认值 |
|---|---|---|
| VERSION_IOT | 启用IoT版本硬件图层功能 | n |
ClearHardwareLayer
void ClearHardwareLayer()
功能说明
- 清除当前 RootView 中设置的硬件图层视图
- 调用后硬件图层指针置空,不再进行硬件加速渲染
- 可与 AddHardwareLayer 配合使用以切换硬件图层
Kconfig 配置
| 配置项 | 说明 | 默认值 |
|---|---|---|
| VERSION_IOT | 启用IoT版本硬件图层功能 | n |
GetInstance
static RootView* GetInstance()
功能说明
- 获取 RootView 的全局单例实例
- 首次调用时自动构造单例对象,后续调用返回同一实例
- 单例生命周期贯穿整个应用运行期
返回值
- 返回类型:
RootView*
返回 RootView 单例指针
| 返回值 | 触发场景 |
|---|---|
| 非nullptr | 始终返回有效的单例指针 |
GetWindowRootView
static RootView* GetWindowRootView()
功能说明
- 创建并获取一个绑定到窗口的 RootView 实例
- 每次调用创建新的 RootView 对象,与 GetInstance 的单例实例独立
- 用于多窗口场景下各窗口拥有独立的 RootView
返回值
- 返回类型:
RootView*
返回新创建的窗口绑定 RootView 实例
| 返回值 | 触发场景 |
|---|---|
| 非nullptr | 新创建的 RootView 实例 |
Kconfig 配置
| 配置项 | 说明 | 默认值 |
|---|---|---|
| ENABLE_WINDOW | 启用窗口管理功能 | n |
DestroyWindowRootView
static bool DestroyWindowRootView(RootView* rootView)
功能说明
- 销毁通过 GetWindowRootView 创建的 RootView 实例
- 不允许销毁全局单例实例(GetInstance 返回的实例),此时返回 false
- 销毁成功后传入的指针不再有效,调用方不应再使用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| rootView | RootView* | 入参指针,指向待销毁的窗口 RootView 实例 | 不得为 GetInstance() 返回的单例指针 |
返回值
- 返回类型:
bool
返回销毁操作结果
| 返回值 | 触发场景 |
|---|---|
| true(1) | 销毁成功 |
| false(0) | 传入指针为单例实例,拒绝销毁 |
Kconfig 配置
| 配置项 | 说明 | 默认值 |
|---|---|---|
| ENABLE_WINDOW | 启用窗口管理功能 | n |
GetViewType
UIViewType GetViewType() const override
功能说明
- 获取当前视图的类型标识
- RootView 始终返回 UI_ROOT_VIEW
- 该函数为 const 成员函数,不修改对象状态
返回值
- 返回类型:
UIViewType
返回视图类型标识
| 返回值 | 触发场景 |
|---|---|
| UI_ROOT_VIEW | RootView 固有视图类型 |
OnKeyEvent
virtual void OnKeyEvent(const KeyEvent& event)
功能说明
- 响应物理按键事件,将其分发给已注册的按键事件监听器
- 若已设置 OnKeyActListener,则调用其 OnKeyAct 回调
- 若未设置监听器,该函数不执行任何操作
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| event | const KeyEvent& | 入参只读引用,待响应的物理按键事件 | 引用有效的 KeyEvent 对象 |
OnGestureEvent
virtual void OnGestureEvent(const GestureEvent& event)
功能说明
- 响应手势事件,将其分发给已注册的手势事件监听器
- 若已设置 OnGestureListener,则调用其 OnGesture 回调
- 若未设置监听器,该函数不执行任何操作
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| event | const GestureEvent& | 入参只读引用,待响应的手势事件 | 引用有效的 GestureEvent 对象 |
SetOnKeyActListener
void SetOnKeyActListener(OnKeyActListener* onKeyActListener)
功能说明
- 设置按键事件监听器,用于接收物理按键事件回调
- 调用后 OnKeyEvent 会将按键事件分发给该监听器
- 重复调用会覆盖之前设置的监听器
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| onKeyActListener | OnKeyActListener* | 入参指针,指向按键事件监听器对象 | 可为nullptr,传入nullptr等同于清除监听器 |
ClearOnKeyActListener
void ClearOnKeyActListener()
功能说明
- 清除已设置的按键事件监听器
- 调用后 OnKeyEvent 不再分发按键事件
- 等同于调用 SetOnKeyActListener(nullptr)
GetOnKeyActListener
OnKeyActListener* GetOnKeyActListener()
功能说明
- 获取当前设置的按键事件监听器
- 用于查询当前是否已注册按键事件监听器
- 未设置监听器时返回 nullptr
返回值
- 返回类型:
OnKeyActListener*
返回当前按键事件监听器指针
| 返回值 | 触发场景 |
|---|---|
| 非nullptr | 已设置按键事件监听器 |
| nullptr | 未设置按键事件监听器 |
SetGestureListener
void SetGestureListener(OnGestureListener* onGestureListener)
功能说明
- 设置手势事件监听器,用于接收手势事件回调
- 调用后 OnGestureEvent 会将手势事件分发给该监听器
- 重复调用会覆盖之前设置的监听器
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| onGestureListener | OnGestureListener* | 入参指针,指向手势事件监听器对象 | 可为nullptr,传入nullptr等同于清除监听器 |
ClearGestureListener
void ClearGestureListener()
功能说明
- 清除已设置的手势事件监听器
- 调用后 OnGestureEvent 不再分发手势事件
- 等同于调用 SetGestureListener(nullptr)
GetGestureListener
OnGestureListener* GetGestureListener()
功能说明
- 获取当前设置的手势事件监听器
- 用于查询当前是否已注册手势事件监听器
- 未设置监听器时返回 nullptr
返回值
- 返回类型:
OnGestureListener*
返回当前手势事件监听器指针
| 返回值 | 触发场景 |
|---|---|
| 非nullptr | 已设置手势事件监听器 |
| nullptr | 未设置手势事件监听器 |
OnVirtualDeviceEvent
virtual void OnVirtualDeviceEvent(const VirtualDeviceEvent& event)
功能说明
- 响应虚拟设备输入事件,将其分发给已注册的虚拟设备事件监听器
- 虚拟设备事件指非触控、非物理按键的输入事件
- 若未设置监听器,该函数不执行任何操作
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| event | const VirtualDeviceEvent& | 入参只读引用,待响应的虚拟设备输入事件 | 引用有效的 VirtualDeviceEvent 对象 |
SetOnVirtualDeviceEventListener
void SetOnVirtualDeviceEventListener(OnVirtualDeviceEventListener* onVirtualDeviceEventListener)
功能说明
- 设置虚拟设备事件监听器,用于接收虚拟设备输入事件回调
- 调用后 OnVirtualDeviceEvent 会将事件分发给该监听器
- 重复调用会覆盖之前设置的监听器
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| onVirtualDeviceEventListener | OnVirtualDeviceEventListener* | 入参指针,指向虚拟设备事件监听器对象 | 可为nullptr,传入nullptr等同于清除监听器 |
ClearOnVirtualDeviceEventListener
void ClearOnVirtualDeviceEventListener()
功能说明
- 清除已设置的虚拟设备事件监听器
- 调用后 OnVirtualDeviceEvent 不再分发事件
- 等同于调用 SetOnVirtualDeviceEventListener(nullptr)
FindSubView
static bool FindSubView(const UIView& parentView, const UIView* subView)
功能说明
- 检查目标视图是否为指定父视图的子视图
- 递归遍历父视图的子视图树进行查找
- 用于确认视图层级关系
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| parentView | const UIView& | 入参只读引用,指定的父视图 | 引用有效的 UIView 对象 |
| subView | const UIView* | 入参只读指针,待查找的目标子视图 | 可为nullptr,nullptr时返回false |
返回值
- 返回类型:
bool
返回查找结果
| 返回值 | 触发场景 |
|---|---|
| true(1) | 目标视图是指定父视图的子视图 |
| false(0) | 目标视图不是指定父视图的子视图;subView 为 nullptr |
GetBoundWindow
Window* GetBoundWindow() const
功能说明
- 获取与当前 RootView 绑定的窗口对象
- 用于多窗口场景下查询 RootView 所属窗口
- 未绑定窗口时返回 nullptr
返回值
- 返回类型:
Window*
返回绑定的窗口指针
| 返回值 | 触发场景 |
|---|---|
| 非nullptr | 已绑定窗口 |
| nullptr | 未绑定窗口 |
Kconfig 配置
| 配置项 | 说明 | 默认值 |
|---|---|---|
| ENABLE_WINDOW | 启用窗口管理功能 | n |
DrawTop
void DrawTop(UIView* view, const Rect& rect)
功能说明
- 在指定矩形区域内绘制指定视图的顶层内容
- 用于局部刷新场景,仅重绘指定区域
- 当存在模糊视图时,绘制逻辑与常规渲染不同
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| view | UIView* | 入参指针,待绘制的视图 | 应指向有效的 UIView 对象 |
| rect | const Rect& | 入参只读引用,指定绘制区域矩形 | 应为有效的 Rect 区域 |
Measure
void Measure()
功能说明
- 对 RootView 下所有子视图执行测量操作
- 当存在无效区域时才执行测量
- 测量是渲染流程的前置步骤
MeasureView
void MeasureView(UIView* view)
功能说明
- 对指定视图及其子视图执行测量操作
- 递归遍历视图树,对每个可见视图调用 ReMeasure 和 UpdatePos
- 测量过程中会更新模糊视图状态
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| view | UIView* | 入参指针,待测量的视图 | 应指向有效的 UIView 对象 |
UpdateBufferInfo
void UpdateBufferInfo(BufferInfo* fbBufferInfo)
功能说明
- 基于 FB 缓冲区信息更新绘图缓冲区
- 用于帧缓冲区切换或更新场景
- 调用后绘图上下文中的缓冲区信息被更新
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| fbBufferInfo | BufferInfo* | 入参指针,指向帧缓冲区信息 | 应指向有效的 BufferInfo 对象 |
SaveDrawContext
void SaveDrawContext()
功能说明
- 保存当前绘图上下文信息
- 用于绘图上下文切换前保存现场
- 可与 RestoreDrawContext 配合使用实现上下文恢复
RestoreDrawContext
void RestoreDrawContext()
功能说明
- 恢复之前保存的绘图上下文信息
- 调用后绘图上下文恢复到保存时的状态
前置条件
- 调用时序约束:必须在 SaveDrawContext() 之后调用
SetScreencapFlag
void SetScreencapFlag()
功能说明
- 设置截屏标志,标记需要在下次渲染时执行截屏
- 截屏完成后标志自动重置为 false
- 用于 DFX 调试诊断场景
Kconfig 配置
| 配置项 | 说明 | 默认值 |
|---|---|---|
| ENABLE_DFX_CMD | 启用DFX调试命令功能 | n |
SetBlurView
bool SetBlurView(UIView* view)
功能说明
- 设置模糊视图,用于全屏模糊渲染场景
- 传入 nullptr 时直接返回 true 且不修改模糊视图栈
- 当模糊视图栈为空时直接入栈,非空时处理去重逻辑后入栈
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| view | UIView* | 入参指针,指向待设置的模糊视图 | 可为nullptr;非nullptr时应指向有效的 UIView 对象 |
返回值
- 返回类型:
bool
返回设置结果
| 返回值 | 触发场景 |
|---|---|
| true(1) | 设置成功(传入nullptr时直接返回true;视图已在栈顶时返回true;正常入栈后返回true) |
ClearBlurView
void ClearBlurView(UIView* view)
功能说明
- 从模糊视图栈中移除指定的模糊视图
- 若栈中存在该视图则移除,否则不执行操作
- 移除后模糊渲染不再应用于该视图
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| view | UIView* | 入参指针,指向待清除的模糊视图 | 应指向有效的 UIView 对象 |
GetBlurView
UIView* GetBlurView()
功能说明
- 获取当前生效的全屏模糊视图
- 用于查询当前是否有模糊视图正在生效
- 未设置模糊视图时返回 nullptr
返回值
- 返回类型:
UIView*
返回当前模糊视图指针
| 返回值 | 触发场景 |
|---|---|
| 非nullptr | 存在生效的模糊视图 |
| nullptr | 无模糊视图生效 |
SetSnapshotFlag
void SetSnapshotFlag(bool flag)
功能说明
- 设置快照标志,标记当前渲染帧是否为快照模式
- 快照模式下渲染行为可能有所不同
- 可与 GetSnapshotFlag 配合使用查询当前标志状态
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| flag | bool | 入参,快照标志值 | true:启用快照模式;false:关闭快照模式 |
GetSnapshotFlag
bool GetSnapshotFlag()
功能说明
- 获取当前快照标志状态
- 用于查询当前渲染帧是否处于快照模式
- 与 SetSnapshotFlag 配合使用
返回值
- 返回类型:
bool
返回快照标志状态
| 返回值 | 触发场景 |
|---|---|
| true(1) | 快照模式已启用 |
| false(0) | 快照模式未启用 |
GetAppView
UIViewGroup* GetAppView()
功能说明
- 获取应用视图容器,即 RootView 中用于承载应用层子视图的 ViewGroup
- 应用层子视图通过 Add/Insert/Remove 等接口操作的对象即为该容器
- 该容器的位置和大小与屏幕尺寸一致
返回值
- 返回类型:
UIViewGroup*
返回应用视图容器指针
| 返回值 | 触发场景 |
|---|---|
| 非nullptr | 始终返回有效的应用视图容器指针 |
Add
void Add(UIView* view) override
功能说明
- 向 RootView 的应用视图容器中添加子视图
- 重写 UIViewGroup::Add,实际操作目标为内部 appView_ 容器
- 添加后子视图将参与后续的测量与渲染流程
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| view | UIView* | 入参指针,指向待添加的子视图 | 应指向有效的 UIView 对象 |
Insert
void Insert(UIView* prevView, UIView* insertView) override
功能说明
- 在指定视图之后插入子视图到应用视图容器
- 重写 UIViewGroup::Insert,实际操作目标为内部 appView_ 容器
- 插入后新视图位于 prevView 之后
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| prevView | UIView* | 入参指针,前驱视图 | 可为nullptr |
| insertView | UIView* | 入参指针,待插入的子视图 | 应指向有效的 UIView 对象 |
Remove
void Remove(UIView* view) override
功能说明
- 从应用视图容器中移除指定的子视图
- 重写 UIViewGroup::Remove,实际操作目标为内部 appView_ 容器
- 移除后该视图不再参与测量与渲染
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| view | UIView* | 入参指针,指向待移除的子视图 | 应指向有效的 UIView 对象 |
RemoveAll
void RemoveAll() override
功能说明
- 移除应用视图容器中的所有子视图
- 重写 UIViewGroup::RemoveAll,实际操作目标为内部 appView_ 容器
- 调用后应用视图容器不包含任何子视图
AddSystemView
void AddSystemView(UIView* view)
功能说明
- 向系统视图容器中添加系统级视图
- 系统视图与应用视图隔离,渲染层级独立
- 系统视图通常用于状态栏、导航栏等系统级 UI 元素
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| view | UIView* | 入参指针,指向待添加的系统视图 | 应指向有效的 UIView 对象 |
RemoveSystemView
void RemoveSystemView(UIView* view)
功能说明
- 从系统视图容器中移除指定的系统视图
- 移除后该系统视图不再参与渲染
- 与 AddSystemView 配合使用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| view | UIView* | 入参指针,指向待移除的系统视图 | 应指向有效的 UIView 对象 |
isSystemViewEmpty
bool isSystemViewEmpty()
功能说明
- 检查系统视图容器是否为空
- 空表示当前无任何系统视图
- 用于查询系统视图的添加/移除状态
返回值
- 返回类型:
bool
返回系统视图容器是否为空
| 返回值 | 触发场景 |
|---|---|
| true(1) | 系统视图容器中无任何子视图 |
| false(0) | 系统视图容器中存在子视图 |
OHOS::RootView::OnKeyActListener
OnKeyAct
virtual bool OnKeyAct(UIView& view, const KeyEvent& event) = 0
功能说明
- 响应物理按键事件的纯虚回调接口
- 由子类实现具体的按键响应逻辑
- 返回 true 表示事件已消费,不再向父视图传递
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| view | UIView& | 入参引用,触发按键事件的视图 | 引用有效的 UIView 对象 |
| event | const KeyEvent& | 入参只读引用,物理按键事件 | 引用有效的 KeyEvent 对象 |
返回值
- 返回类型:
bool
返回事件是否被消费
| 返回值 | 触发场景 |
|---|---|
| true(1) | 按键事件已消费,不再传递 |
| false(0) | 按键事件未消费,继续传递 |
OHOS::RootView::OnGestureListener
OnGesture
virtual bool OnGesture(UIView& view, const GestureEvent& event) = 0
功能说明
- 响应手势事件的纯虚回调接口
- 由子类实现具体的手势响应逻辑
- 返回 true 表示事件已消费
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| view | UIView& | 入参引用,触发手势事件的视图 | 引用有效的 UIView 对象 |
| event | const GestureEvent& | 入参只读引用,手势事件 | 引用有效的 GestureEvent 对象 |
返回值
- 返回类型:
bool
返回事件是否被消费
| 返回值 | 触发场景 |
|---|---|
| true(1) | 手势事件已消费,不再传递 |
| false(0) | 手势事件未消费,继续传递 |
OHOS::RootView::OnVirtualDeviceEventListener
OnVirtualDeviceEvent
virtual bool OnVirtualDeviceEvent(UIView& view, VirtualDeviceEvent event) = 0
功能说明
- 响应虚拟设备输入事件的纯虚回调接口
- 由子类实现具体的虚拟设备事件响应逻辑
- 虚拟设备事件指非触控、非物理按键的输入事件
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| view | UIView& | 入参引用,触发虚拟设备事件的视图 | 引用有效的 UIView 对象 |
| event | VirtualDeviceEvent | 入参,虚拟设备输入事件 | 有效的 VirtualDeviceEvent 枚举值 |
返回值
- 返回类型:
bool
返回事件是否被消费
| 返回值 | 触发场景 |
|---|---|
| true(1) | 虚拟设备事件已消费 |
| false(0) | 虚拟设备事件未消费 |
Structures
DrawContext
struct DrawContext {
BufferInfo* bufferInfo;
#if ENABLE_MAP_BUFFER
BufferInfo* mapBufferInfo;
#endif
};
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| bufferInfo | BufferInfo* | 目标绘图缓冲区信息 |
| mapBufferInfo | BufferInfo* | 目标动画绘图缓冲区信息(需 ENABLE_MAP_BUFFER 宏开启) |