SkCornerPathEffect.h revision a2ca41e3afdd8fad5e0e924dec029f33918e0a67
18403881c365ab36b721ccc4500af1b3a5bd25870mikesamuel 28403881c365ab36b721ccc4500af1b3a5bd25870mikesamuel/* 38403881c365ab36b721ccc4500af1b3a5bd25870mikesamuel * Copyright 2006 The Android Open Source Project 48403881c365ab36b721ccc4500af1b3a5bd25870mikesamuel * 58403881c365ab36b721ccc4500af1b3a5bd25870mikesamuel * Use of this source code is governed by a BSD-style license that can be 68403881c365ab36b721ccc4500af1b3a5bd25870mikesamuel * found in the LICENSE file. 78403881c365ab36b721ccc4500af1b3a5bd25870mikesamuel */ 88403881c365ab36b721ccc4500af1b3a5bd25870mikesamuel 98403881c365ab36b721ccc4500af1b3a5bd25870mikesamuel 108403881c365ab36b721ccc4500af1b3a5bd25870mikesamuel#ifndef SkCornerPathEffect_DEFINED 118403881c365ab36b721ccc4500af1b3a5bd25870mikesamuel#define SkCornerPathEffect_DEFINED 128403881c365ab36b721ccc4500af1b3a5bd25870mikesamuel 138403881c365ab36b721ccc4500af1b3a5bd25870mikesamuel#include "SkPathEffect.h" 148403881c365ab36b721ccc4500af1b3a5bd25870mikesamuel 158403881c365ab36b721ccc4500af1b3a5bd25870mikesamuel/** \class SkCornerPathEffect 168403881c365ab36b721ccc4500af1b3a5bd25870mikesamuel 178403881c365ab36b721ccc4500af1b3a5bd25870mikesamuel SkCornerPathEffect is a subclass of SkPathEffect that can turn sharp corners 188403881c365ab36b721ccc4500af1b3a5bd25870mikesamuel into various treatments (e.g. rounded corners) 198403881c365ab36b721ccc4500af1b3a5bd25870mikesamuel*/ 208403881c365ab36b721ccc4500af1b3a5bd25870mikesamuelclass SK_API SkCornerPathEffect : public SkPathEffect { 218403881c365ab36b721ccc4500af1b3a5bd25870mikesamuelpublic: 228403881c365ab36b721ccc4500af1b3a5bd25870mikesamuel /** radius must be > 0 to have an effect. It specifies the distance from each corner 238403881c365ab36b721ccc4500af1b3a5bd25870mikesamuel that should be "rounded". 248403881c365ab36b721ccc4500af1b3a5bd25870mikesamuel */ 258403881c365ab36b721ccc4500af1b3a5bd25870mikesamuel SkCornerPathEffect(SkScalar radius); 268403881c365ab36b721ccc4500af1b3a5bd25870mikesamuel virtual ~SkCornerPathEffect(); 278403881c365ab36b721ccc4500af1b3a5bd25870mikesamuel 288403881c365ab36b721ccc4500af1b3a5bd25870mikesamuel // overrides for SkPathEffect 295c702c12be71d8070da9287cc4a044617dd726a7manico.james@gmail.com // This method is not exported to java. 305c702c12be71d8070da9287cc4a044617dd726a7manico.james@gmail.com virtual bool filterPath(SkPath* dst, const SkPath& src, SkScalar* width); 315c702c12be71d8070da9287cc4a044617dd726a7manico.james@gmail.com 325c702c12be71d8070da9287cc4a044617dd726a7manico.james@gmail.com // overrides for SkFlattenable 335c702c12be71d8070da9287cc4a044617dd726a7manico.james@gmail.com // This method is not exported to java. 345c702c12be71d8070da9287cc4a044617dd726a7manico.james@gmail.com virtual Factory getFactory(); 355c702c12be71d8070da9287cc4a044617dd726a7manico.james@gmail.com // This method is not exported to java. 365c702c12be71d8070da9287cc4a044617dd726a7manico.james@gmail.com virtual void flatten(SkFlattenableWriteBuffer&); 375c702c12be71d8070da9287cc4a044617dd726a7manico.james@gmail.com 385c702c12be71d8070da9287cc4a044617dd726a7manico.james@gmail.com static SkFlattenable* CreateProc(SkFlattenableReadBuffer&); 395c702c12be71d8070da9287cc4a044617dd726a7manico.james@gmail.com 405c702c12be71d8070da9287cc4a044617dd726a7manico.james@gmail.comprotected: 415c702c12be71d8070da9287cc4a044617dd726a7manico.james@gmail.com SkCornerPathEffect(SkFlattenableReadBuffer&); 425c702c12be71d8070da9287cc4a044617dd726a7manico.james@gmail.com 435c702c12be71d8070da9287cc4a044617dd726a7manico.james@gmail.comprivate: 445c702c12be71d8070da9287cc4a044617dd726a7manico.james@gmail.com SkScalar fRadius; 455c702c12be71d8070da9287cc4a044617dd726a7manico.james@gmail.com 465c702c12be71d8070da9287cc4a044617dd726a7manico.james@gmail.com typedef SkPathEffect INHERITED; 475c702c12be71d8070da9287cc4a044617dd726a7manico.james@gmail.com}; 485c702c12be71d8070da9287cc4a044617dd726a7manico.james@gmail.com 495c702c12be71d8070da9287cc4a044617dd726a7manico.james@gmail.com#endif 505c702c12be71d8070da9287cc4a044617dd726a7manico.james@gmail.com 515c702c12be71d8070da9287cc4a044617dd726a7manico.james@gmail.com