// Copyright 2017 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CC_PAINT_PAINT_SHADER_H_ #define CC_PAINT_PAINT_SHADER_H_ #include "cc/paint/paint_record.h" #include "third_party/skia/include/core/SkImage.h" #include "third_party/skia/include/core/SkShader.h" namespace cc { using PaintShader = SkShader; inline sk_sp WrapSkShader(sk_sp shader) { return shader; } inline sk_sp MakePaintShaderImage(sk_sp image, SkShader::TileMode tx, SkShader::TileMode ty, const SkMatrix* local_matrix) { return image->makeShader(tx, ty, local_matrix); } inline sk_sp MakePaintShaderRecord(sk_sp record, const SkRect& tile, SkShader::TileMode tx, SkShader::TileMode ty, const SkMatrix* local_matrix) { return SkShader::MakePictureShader(ToSkPicture(record, tile), tx, ty, local_matrix, nullptr); } } // namespace cc #endif // CC_PAINT_PAINT_SHADER_H_