/* * Copyright 2024 Google LLC * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef skgpu_graphite_precompile_PrecompileRuntimeEffect_DEFINED #define skgpu_graphite_precompile_PrecompileRuntimeEffect_DEFINED #include "include/core/SkRefCnt.h" #include "include/core/SkSpan.h" class SkRuntimeEffect; namespace skgpu::graphite { class PrecompileBase; class PrecompileBlender; class PrecompileColorFilter; class PrecompileShader; using PrecompileChildOptions = SkSpan>; //-------------------------------------------------------------------------------------------------- // These factory functions correspond to the main API's SkRuntimeEffect makeShader, makeColorFilter, // and makeBlender functions. The uniform values found in the main API are abstracted away since // they do not alter the generated code. namespace PrecompileRuntimeEffects { SK_API sk_sp MakePrecompileShader( sk_sp effect, SkSpan childOptions = {}); SK_API sk_sp MakePrecompileColorFilter( sk_sp effect, SkSpan childOptions = {}); SK_API sk_sp MakePrecompileBlender( sk_sp effect, SkSpan childOptions = {}); } // namespace PrecompileRuntimeEffects } // namespace skgpu::graphite #endif // skgpu_graphite_precompile_PrecompileRuntimeEffect_DEFINED