1 /* 2 * Copyright 2021 Google LLC 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 #ifndef DrawMeshOp_DEFINED 8 #define DrawMeshOp_DEFINED 9 10 #include "include/core/SkRefCnt.h" 11 #include "include/private/base/SkTArray.h" 12 #include "src/gpu/ganesh/ops/GrOp.h" 13 14 #include <cstdint> 15 #include <memory> 16 17 class GrColorSpaceXform; 18 class GrFragmentProcessor; 19 class GrPaint; 20 class GrRecordingContext; 21 class SkMatrix; 22 class SkMesh; 23 class SkVertices; 24 enum class GrAAType : unsigned int; 25 enum class GrPrimitiveType : uint8_t; 26 27 namespace skgpu::ganesh::DrawMeshOp { 28 GrOp::Owner Make(GrRecordingContext*, 29 GrPaint&&, 30 const SkMesh&, 31 skia_private::TArray<std::unique_ptr<GrFragmentProcessor>> children, 32 const SkMatrix&, 33 GrAAType, 34 sk_sp<GrColorSpaceXform>); 35 36 GrOp::Owner Make(GrRecordingContext*, 37 GrPaint&&, 38 sk_sp<SkVertices>, 39 const GrPrimitiveType* overridePrimitiveType, 40 const SkMatrix&, 41 GrAAType, 42 sk_sp<GrColorSpaceXform>); 43 } // namespace skgpu::ganesh::DrawMeshOp 44 45 #endif // DrawMeshOp_DEFINED 46