1fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot/* 2fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * Copyright 2006 The Android Open Source Project 3fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * 4fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * Use of this source code is governed by a BSD-style license that can be 5fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * found in the LICENSE file. 6fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot */ 7fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 8fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#ifndef SkCornerPathEffect_DEFINED 9fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#define SkCornerPathEffect_DEFINED 10fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 11fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#include "SkPathEffect.h" 12fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 13fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot/** \class SkCornerPathEffect 14fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 15fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SkCornerPathEffect is a subclass of SkPathEffect that can turn sharp corners 16fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot into various treatments (e.g. rounded corners) 17fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot*/ 18fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotclass SK_API SkCornerPathEffect : public SkPathEffect { 19fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotpublic: 20fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot /** radius must be > 0 to have an effect. It specifies the distance from each corner 21fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot that should be "rounded". 22fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot */ 23fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot static sk_sp<SkPathEffect> Make(SkScalar radius) { 24fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot return sk_sp<SkPathEffect>(new SkCornerPathEffect(radius)); 25fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot } 26fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 27fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot virtual bool filterPath(SkPath* dst, const SkPath& src, 28fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SkStrokeRec*, const SkRect*) const override; 29fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 30fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SK_TO_STRING_OVERRIDE() 31fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkCornerPathEffect) 32fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 33fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK 34fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot bool exposedInAndroidJavaAPI() const override { return true; } 35fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#endif 36fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 37fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotprotected: 38fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot ~SkCornerPathEffect() override; 39fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 40fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot explicit SkCornerPathEffect(SkScalar radius); 41fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot void flatten(SkWriteBuffer&) const override; 42fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 43fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotprivate: 44fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SkScalar fRadius; 45fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 46fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot typedef SkPathEffect INHERITED; 47fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot}; 48fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 49fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#endif 50