Extract app frame and export dialog helpers
This commit is contained in:
@@ -811,6 +811,82 @@ inline void execute_legacy_canvas_draw_merge_layer_path(
|
||||
};
|
||||
}
|
||||
|
||||
template <
|
||||
typename BindBlenderFramebuffer,
|
||||
typename ClearBlenderFramebuffer,
|
||||
typename UnbindBlenderFramebuffer,
|
||||
typename BindSampler,
|
||||
typename BindNearestSampler,
|
||||
typename BindStencilSampler,
|
||||
typename SetActiveTextureUnit,
|
||||
typename BindTemporaryTexture,
|
||||
typename UnbindTemporaryTexture,
|
||||
typename BindSmaskTexture,
|
||||
typename UnbindSmaskTexture,
|
||||
typename BindTemporaryDualTexture,
|
||||
typename UnbindTemporaryDualTexture,
|
||||
typename BindPatternTexture,
|
||||
typename DrawFace,
|
||||
typename BindBlenderTexture,
|
||||
typename UnbindBlenderTexture,
|
||||
typename BindDestinationTexture,
|
||||
typename UnbindDestinationTexture,
|
||||
typename CopyDestinationFramebuffer,
|
||||
typename DrawDebugOutline,
|
||||
typename DrawFrame>
|
||||
[[nodiscard]] inline LegacyCanvasDrawMergeLayerPathExecution make_legacy_canvas_draw_merge_layer_path_gl_execution(
|
||||
const LegacyCanvasDrawMergeLayerPathGlUniforms& uniforms,
|
||||
BindBlenderFramebuffer&& bind_blender_framebuffer,
|
||||
ClearBlenderFramebuffer&& clear_blender_framebuffer,
|
||||
UnbindBlenderFramebuffer&& unbind_blender_framebuffer,
|
||||
BindSampler&& bind_sampler,
|
||||
BindNearestSampler&& bind_nearest_sampler,
|
||||
BindStencilSampler&& bind_stencil_sampler,
|
||||
SetActiveTextureUnit&& set_active_texture_unit,
|
||||
BindTemporaryTexture&& bind_temporary_texture,
|
||||
UnbindTemporaryTexture&& unbind_temporary_texture,
|
||||
BindSmaskTexture&& bind_smask_texture,
|
||||
UnbindSmaskTexture&& unbind_smask_texture,
|
||||
BindTemporaryDualTexture&& bind_temporary_dual_texture,
|
||||
UnbindTemporaryDualTexture&& unbind_temporary_dual_texture,
|
||||
BindPatternTexture&& bind_pattern_texture,
|
||||
DrawFace&& draw_face,
|
||||
BindBlenderTexture&& bind_blender_texture,
|
||||
UnbindBlenderTexture&& unbind_blender_texture,
|
||||
BindDestinationTexture&& bind_destination_texture,
|
||||
UnbindDestinationTexture&& unbind_destination_texture,
|
||||
CopyDestinationFramebuffer&& copy_destination_framebuffer,
|
||||
DrawDebugOutline&& draw_debug_outline,
|
||||
DrawFrame&& draw_frame)
|
||||
{
|
||||
return make_legacy_canvas_draw_merge_layer_path_gl_execution(
|
||||
uniforms,
|
||||
LegacyCanvasDrawMergeLayerPathGlExecution {
|
||||
.bind_blender_framebuffer = std::forward<BindBlenderFramebuffer>(bind_blender_framebuffer),
|
||||
.clear_blender_framebuffer = std::forward<ClearBlenderFramebuffer>(clear_blender_framebuffer),
|
||||
.unbind_blender_framebuffer = std::forward<UnbindBlenderFramebuffer>(unbind_blender_framebuffer),
|
||||
.bind_sampler = std::forward<BindSampler>(bind_sampler),
|
||||
.bind_nearest_sampler = std::forward<BindNearestSampler>(bind_nearest_sampler),
|
||||
.bind_stencil_sampler = std::forward<BindStencilSampler>(bind_stencil_sampler),
|
||||
.set_active_texture_unit = std::forward<SetActiveTextureUnit>(set_active_texture_unit),
|
||||
.bind_temporary_texture = std::forward<BindTemporaryTexture>(bind_temporary_texture),
|
||||
.unbind_temporary_texture = std::forward<UnbindTemporaryTexture>(unbind_temporary_texture),
|
||||
.bind_smask_texture = std::forward<BindSmaskTexture>(bind_smask_texture),
|
||||
.unbind_smask_texture = std::forward<UnbindSmaskTexture>(unbind_smask_texture),
|
||||
.bind_temporary_dual_texture = std::forward<BindTemporaryDualTexture>(bind_temporary_dual_texture),
|
||||
.unbind_temporary_dual_texture = std::forward<UnbindTemporaryDualTexture>(unbind_temporary_dual_texture),
|
||||
.bind_pattern_texture = std::forward<BindPatternTexture>(bind_pattern_texture),
|
||||
.draw_face = std::forward<DrawFace>(draw_face),
|
||||
.bind_blender_texture = std::forward<BindBlenderTexture>(bind_blender_texture),
|
||||
.unbind_blender_texture = std::forward<UnbindBlenderTexture>(unbind_blender_texture),
|
||||
.bind_destination_texture = std::forward<BindDestinationTexture>(bind_destination_texture),
|
||||
.unbind_destination_texture = std::forward<UnbindDestinationTexture>(unbind_destination_texture),
|
||||
.copy_destination_framebuffer = std::forward<CopyDestinationFramebuffer>(copy_destination_framebuffer),
|
||||
.draw_debug_outline = std::forward<DrawDebugOutline>(draw_debug_outline),
|
||||
.draw_frame = std::forward<DrawFrame>(draw_frame),
|
||||
});
|
||||
}
|
||||
|
||||
template <typename PlanOnionRange, typename ShouldDrawPlane, typename VisitLayerPlane, typename LogOnionRangeFailure>
|
||||
inline void execute_legacy_canvas_draw_layer_traversal(
|
||||
size_t layer_count,
|
||||
|
||||
Reference in New Issue
Block a user