11cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 20910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project/* 31cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * Copyright 2006 The Android Open Source Project 40910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project * 51cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * Use of this source code is governed by a BSD-style license that can be 61cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * found in the LICENSE file. 70910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project */ 80910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 91cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 100910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#ifndef SkCornerPathEffect_DEFINED 110910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#define SkCornerPathEffect_DEFINED 120910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 130910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkPathEffect.h" 140910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 150910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project/** \class SkCornerPathEffect 160910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 170910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SkCornerPathEffect is a subclass of SkPathEffect that can turn sharp corners 180910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project into various treatments (e.g. rounded corners) 190910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project*/ 20137a4ca42423bbb6d683067ea544c9a48f18f06cDerek Sollenbergerclass SK_API SkCornerPathEffect : public SkPathEffect { 210910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectpublic: 220910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project /** radius must be > 0 to have an effect. It specifies the distance from each corner 230910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project that should be "rounded". 240910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project */ 250910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SkCornerPathEffect(SkScalar radius); 260910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project virtual ~SkCornerPathEffect(); 270910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 280910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project // overrides for SkPathEffect 290910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project // This method is not exported to java. 300910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project virtual bool filterPath(SkPath* dst, const SkPath& src, SkScalar* width); 310910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 320910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project // overrides for SkFlattenable 330910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project // This method is not exported to java. 340910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project virtual Factory getFactory(); 350910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project // This method is not exported to java. 360910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project virtual void flatten(SkFlattenableWriteBuffer&); 370910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 381cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger static SkFlattenable* CreateProc(SkFlattenableReadBuffer&); 391cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 401cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger SK_DECLARE_FLATTENABLE_REGISTRAR() 411cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 420910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectprotected: 430910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SkCornerPathEffect(SkFlattenableReadBuffer&); 440910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 450910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectprivate: 460910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SkScalar fRadius; 470910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 480910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project typedef SkPathEffect INHERITED; 490910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project}; 500910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 510910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#endif 520910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 53