12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- // Copyright (c) 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 UI_GFX_SKIA_PAINT_UTIL_H_
- #define UI_GFX_SKIA_PAINT_UTIL_H_
- #include <memory>
- #include <vector>
- #include "cc/paint/paint_shader.h"
- #include "ui/gfx/gfx_export.h"
- #include "ui/gfx/shadow_value.h"
- class SkDrawLooper;
- class SkMatrix;
- namespace gfx {
- class ImageSkiaRep;
- // Creates a bitmap shader for the image rep with the image rep's scale factor.
- // Sets the created shader's local matrix such that it displays the image rep at
- // the correct scale factor.
- // The shader's local matrix should not be changed after the shader is created.
- // TODO(pkotwicz): Allow shader's local matrix to be changed after the shader
- // is created.
- //
- GFX_EXPORT sk_sp<cc::PaintShader> CreateImageRepShader(
- const gfx::ImageSkiaRep& image_rep,
- SkTileMode tile_mode_x,
- SkTileMode tile_mode_y,
- const SkMatrix& local_matrix);
- // Creates a bitmap shader for the image rep with the passed in scale factor.
- GFX_EXPORT sk_sp<cc::PaintShader> CreateImageRepShaderForScale(
- const gfx::ImageSkiaRep& image_rep,
- SkTileMode tile_mode_x,
- SkTileMode tile_mode_y,
- const SkMatrix& local_matrix,
- SkScalar scale);
- // Creates a gradient shader. The caller owns the shader.
- GFX_EXPORT sk_sp<cc::PaintShader> CreateGradientShader(
- const gfx::Point& start_point,
- const gfx::Point& end_point,
- SkColor start_color,
- SkColor end_color);
- // Creates a draw looper to generate |shadows|. The caller owns the draw looper.
- // NULL is returned if |shadows| is empty since no draw looper is needed in
- // this case.
- GFX_EXPORT sk_sp<SkDrawLooper> CreateShadowDrawLooper(
- const std::vector<ShadowValue>& shadows);
- } // namespace gfx
- #endif // UI_GFX_SKIA_PAINT_UTIL_H_
|