SkCornerPathEffect.h revision fbfcd5602128ec010c82cb733c9cdc0a3254f9f3
1ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com
28a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com/*
3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Copyright 2006 The Android Open Source Project
48a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com *
5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Use of this source code is governed by a BSD-style license that can be
6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * found in the LICENSE file.
78a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com */
88a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
9ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com
108a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#ifndef SkCornerPathEffect_DEFINED
118a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#define SkCornerPathEffect_DEFINED
128a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
138a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include "SkPathEffect.h"
148a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
158a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com/** \class SkCornerPathEffect
168a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
178a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    SkCornerPathEffect is a subclass of SkPathEffect that can turn sharp corners
188a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    into various treatments (e.g. rounded corners)
198a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com*/
207ffb1b21abcc7bbed5a0fc711f6dd7b9dbb4f577ctguil@chromium.orgclass SK_API SkCornerPathEffect : public SkPathEffect {
218a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.compublic:
228a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    /** radius must be > 0 to have an effect. It specifies the distance from each corner
238a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com        that should be "rounded".
248a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    */
258a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    SkCornerPathEffect(SkScalar radius);
268a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    virtual ~SkCornerPathEffect();
278a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
288a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    // overrides for SkPathEffect
298a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    //  This method is not exported to java.
30fd4be26c4202ae91f0f7cf2c03e44b5169d885ebreed@google.com    virtual bool filterPath(SkPath* dst, const SkPath& src, SkStrokeRec*) SK_OVERRIDE;
318a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
32ba28d03e94dc221d6a803bf2a84a420b9159255cdjsollen@google.com    SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkCornerPathEffect)
336bac947cd5bc460dd9166ada6310d678fd2e39f8reed@google.com
348a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comprotected:
358a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    SkCornerPathEffect(SkFlattenableReadBuffer&);
3654924243c1b65b3ee6d8fa064b50a9b1bb2a19a5djsollen@google.com    virtual void flatten(SkFlattenableWriteBuffer&) const SK_OVERRIDE;
378a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
388a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comprivate:
398a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    SkScalar    fRadius;
40fbfcd5602128ec010c82cb733c9cdc0a3254f9f3rmistry@google.com
418a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    typedef SkPathEffect INHERITED;
428a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com};
438a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
448a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#endif
458a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
46