1
2/*
3 * Copyright 2009 The Android Open Source Project
4 *
5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file.
7 */
8
9
10#ifndef SkCubicClipper_DEFINED
11#define SkCubicClipper_DEFINED
12
13#include "SkPoint.h"
14#include "SkRect.h"
15
16/** This class is initialized with a clip rectangle, and then can be fed cubics,
17    which must already be monotonic in Y.
18
19    In the future, it might return a series of segments, allowing it to clip
20    also in X, to ensure that all segments fit in a finite coordinate system.
21 */
22class SkCubicClipper {
23public:
24    SkCubicClipper();
25
26    void setClip(const SkIRect& clip);
27
28    bool clipCubic(const SkPoint src[4], SkPoint dst[4]);
29
30private:
31    SkRect      fClip;
32};
33
34#endif  // SkCubicClipper_DEFINED
35