0. 简介
Scene
类是Paint
类的子类,命名于tvg
命名空间。该类提供了一组用于管理场景中绘制元素的方法。
1. 成员函数
Result push(std::unique_ptr<Paint> paint) noexcept
:向场景中添加绘制元素。- 使用方法:传入一个 Paint 对象的智能指针。
- 注意事项:添加的绘制元素会被场景保留,直到调用 Scene::clear() 函数。
std::list<Paint*>& paints() noexcept
:返回当前场景中所持有的绘制元素列表。- 使用方法:调用该函数以获取场景中的绘制元素列表。
- 注意事项:在更新或绘制场景期间,请避免访问绘制元素,可以在调用 Canvas::sync() 后访问。
Result clear(bool free = true) noexcept
:清空场景中的绘制元素。- 使用方法:调用该函数来清空场景中的绘制元素。
- 注意事项:如果
free
参数设置为true
,则释放所持有的绘制元素内存;否则,绘制元素内存不会被释放,需要调用者负责管理。
static std::unique_ptr<Scene> gen() noexcept
:创建一个新的 Scene 对象。- 使用方法:调用该静态函数以创建一个新的
Scene
对象。 - 注意事项:返回的对象需要由调用者持有和管理。
- 使用方法:调用该静态函数以创建一个新的
static uint32_t identifier() noexcept
:返回Scene
类的唯一标识符。- 使用方法:调用该静态函数以获取
Scene
类的标识符。 - 注意事项:可用于识别
Scene
类的具体类型。
- 使用方法:调用该静态函数以获取