1/*
2 * Copyright 2012 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7#ifndef SkDQuadImplicit_DEFINED
8#define SkDQuadImplicit_DEFINED
9
10#include "SkPathOpsQuad.h"
11
12class SkDQuadImplicit {
13public:
14    explicit SkDQuadImplicit(const SkDQuad& q);
15
16    bool match(const SkDQuadImplicit& two) const;
17    static bool Match(const SkDQuad& quad1, const SkDQuad& quad2);
18
19    double x2() const { return fP[kXx_Coeff]; }
20    double xy() const { return fP[kXy_Coeff]; }
21    double y2() const { return fP[kYy_Coeff]; }
22    double x() const { return fP[kX_Coeff]; }
23    double y() const { return fP[kY_Coeff]; }
24    double c() const { return fP[kC_Coeff]; }
25
26private:
27    enum Coeffs {
28        kXx_Coeff,
29        kXy_Coeff,
30        kYy_Coeff,
31        kX_Coeff,
32        kY_Coeff,
33        kC_Coeff,
34    };
35
36    double fP[kC_Coeff + 1];
37};
38
39#endif
40