16c177a1a49fcfe8bfd5f3ffda3ee50bbe2679463jvanverth/* 26c177a1a49fcfe8bfd5f3ffda3ee50bbe2679463jvanverth * Copyright 2016 Google Inc. 36c177a1a49fcfe8bfd5f3ffda3ee50bbe2679463jvanverth * 46c177a1a49fcfe8bfd5f3ffda3ee50bbe2679463jvanverth * Use of this source code is governed by a BSD-style license that can be 56c177a1a49fcfe8bfd5f3ffda3ee50bbe2679463jvanverth * found in the LICENSE file. 66c177a1a49fcfe8bfd5f3ffda3ee50bbe2679463jvanverth */ 76c177a1a49fcfe8bfd5f3ffda3ee50bbe2679463jvanverth 86c177a1a49fcfe8bfd5f3ffda3ee50bbe2679463jvanverth#ifndef SkGaussianEdgeShader_DEFINED 96c177a1a49fcfe8bfd5f3ffda3ee50bbe2679463jvanverth#define SkGaussianEdgeShader_DEFINED 106c177a1a49fcfe8bfd5f3ffda3ee50bbe2679463jvanverth 116c177a1a49fcfe8bfd5f3ffda3ee50bbe2679463jvanverth#include "SkShader.h" 126c177a1a49fcfe8bfd5f3ffda3ee50bbe2679463jvanverth 136c177a1a49fcfe8bfd5f3ffda3ee50bbe2679463jvanverthclass SK_API SkGaussianEdgeShader { 146c177a1a49fcfe8bfd5f3ffda3ee50bbe2679463jvanverthpublic: 156c177a1a49fcfe8bfd5f3ffda3ee50bbe2679463jvanverth /** Returns a shader that applies a Gaussian blur depending on distance to the edge 166c177a1a49fcfe8bfd5f3ffda3ee50bbe2679463jvanverth * Currently this is only useable with Circle and RRect shapes on the GPU backend. 176c177a1a49fcfe8bfd5f3ffda3ee50bbe2679463jvanverth * Raster will draw nothing. 186c177a1a49fcfe8bfd5f3ffda3ee50bbe2679463jvanverth */ 19a8370b2c56e42b9e29b4cfbda95d14fdfba7f15ejvanverth static sk_sp<SkShader> Make(); 206c177a1a49fcfe8bfd5f3ffda3ee50bbe2679463jvanverth 216c177a1a49fcfe8bfd5f3ffda3ee50bbe2679463jvanverth SK_DECLARE_FLATTENABLE_REGISTRAR_GROUP() 2205a4cf59591024d838b204bb0f6fac42598ead28robertphillips 2305a4cf59591024d838b204bb0f6fac42598ead28robertphillipsprivate: 2405a4cf59591024d838b204bb0f6fac42598ead28robertphillips SkGaussianEdgeShader(); // can't be instantiated 256c177a1a49fcfe8bfd5f3ffda3ee50bbe2679463jvanverth}; 266c177a1a49fcfe8bfd5f3ffda3ee50bbe2679463jvanverth 276c177a1a49fcfe8bfd5f3ffda3ee50bbe2679463jvanverth#endif 28