blob: bf44d25e17c9b1ec12f7d85512bd5e2e2564f421 [file] [log] [blame]
caryclarkaec25102015-04-29 08:28:30 -07001/*
2 * Copyright 2015 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#include "SkPathOpsBounds.h"
8#include "SkPathOpsRect.h"
9#include "SkPathOpsCurve.h"
10
caryclarkaec25102015-04-29 08:28:30 -070011void SkDCurve::setConicBounds(const SkPoint curve[3], SkScalar curveWeight,
12 double tStart, double tEnd, SkPathOpsBounds* bounds) {
13 SkDConic dCurve;
14 dCurve.set(curve, curveWeight);
15 SkDRect dRect;
16 dRect.setBounds(dCurve, fConic, tStart, tEnd);
17 bounds->set(SkDoubleToScalar(dRect.fLeft), SkDoubleToScalar(dRect.fTop),
18 SkDoubleToScalar(dRect.fRight), SkDoubleToScalar(dRect.fBottom));
19}
20
21void SkDCurve::setCubicBounds(const SkPoint curve[4], SkScalar ,
22 double tStart, double tEnd, SkPathOpsBounds* bounds) {
23 SkDCubic dCurve;
24 dCurve.set(curve);
25 SkDRect dRect;
26 dRect.setBounds(dCurve, fCubic, tStart, tEnd);
27 bounds->set(SkDoubleToScalar(dRect.fLeft), SkDoubleToScalar(dRect.fTop),
28 SkDoubleToScalar(dRect.fRight), SkDoubleToScalar(dRect.fBottom));
29}
30
caryclarkaec25102015-04-29 08:28:30 -070031void SkDCurve::setQuadBounds(const SkPoint curve[3], SkScalar ,
32 double tStart, double tEnd, SkPathOpsBounds* bounds) {
33 SkDQuad dCurve;
34 dCurve.set(curve);
35 SkDRect dRect;
36 dRect.setBounds(dCurve, fQuad, tStart, tEnd);
37 bounds->set(SkDoubleToScalar(dRect.fLeft), SkDoubleToScalar(dRect.fTop),
38 SkDoubleToScalar(dRect.fRight), SkDoubleToScalar(dRect.fBottom));
39}