1/* 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 11void 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 31void 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} 40