本文整理汇总了C++中etl::handle::get_surface方法的典型用法代码示例。如果您正苦于以下问题:C++ handle::get_surface方法的具体用法?C++ handle::get_surface怎么用?C++ handle::get_surface使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类etl::handle
的用法示例。
在下文中一共展示了handle::get_surface方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
bool
synfig::Target_Tile::call_renderer(Context &context, const etl::handle<rendering::SurfaceSW> &surfacesw, int quality, const RendDesc &renddesc, ProgressCallback *cb)
{
surfacesw->set_size(renddesc.get_w(), renddesc.get_h());
if (get_engine().empty())
{
if(!context.accelerated_render(&surfacesw->get_surface(),quality,renddesc,0))
{
// For some reason, the accelerated renderer failed.
if(cb)cb->error(_("Accelerated Renderer Failure"));
return false;
}
}
else
{
rendering::Task::Handle task = context.build_rendering_task();
if (task)
{
rendering::Renderer::Handle renderer = rendering::Renderer::get_renderer(get_engine());
if (!renderer)
throw "Renderer '" + get_engine() + "' not found";
task->target_surface = surfacesw;
task->target_surface->create();
task->init_target_rect(RectInt(VectorInt::zero(), surfacesw->get_size()), renddesc.get_tl(), renddesc.get_br());
rendering::Task::List list;
list.push_back(task);
renderer->run(list);
}
}
return true;
}