| /* | 
 |  * Copyright 2012 Google Inc. | 
 |  * | 
 |  * Use of this source code is governed by a BSD-style license that can be | 
 |  * found in the LICENSE file. | 
 |  */ | 
 | #include "SkPathOpsBounds.h" | 
 | #include "SkPathOpsCubic.h" | 
 | #include "SkPathOpsLine.h" | 
 | #include "SkPathOpsQuad.h" | 
 |  | 
 | void SkPathOpsBounds::setCubicBounds(const SkPoint a[4]) { | 
 |     SkDCubic cubic; | 
 |     cubic.set(a); | 
 |     SkDRect dRect; | 
 |     dRect.setBounds(cubic); | 
 |     set(SkDoubleToScalar(dRect.fLeft), SkDoubleToScalar(dRect.fTop), | 
 |             SkDoubleToScalar(dRect.fRight), SkDoubleToScalar(dRect.fBottom)); | 
 | } | 
 |  | 
 | void SkPathOpsBounds::setLineBounds(const SkPoint a[2]) { | 
 |     setPointBounds(a[0]); | 
 |     add(a[1]); | 
 | } | 
 |  | 
 | void SkPathOpsBounds::setQuadBounds(const SkPoint a[3]) { | 
 |     SkDQuad quad; | 
 |     quad.set(a); | 
 |     SkDRect dRect; | 
 |     dRect.setBounds(quad); | 
 |     set(SkDoubleToScalar(dRect.fLeft), SkDoubleToScalar(dRect.fTop), | 
 |             SkDoubleToScalar(dRect.fRight), SkDoubleToScalar(dRect.fBottom)); | 
 | } | 
 |  | 
 | void (SkPathOpsBounds::*SetCurveBounds[])(const SkPoint[]) = { | 
 |     NULL, | 
 |     &SkPathOpsBounds::setLineBounds, | 
 |     &SkPathOpsBounds::setQuadBounds, | 
 |     &SkPathOpsBounds::setCubicBounds | 
 | }; |