aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkDraw.cpp
diff options
context:
space:
mode:
authorGravatar robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-12-05 19:07:21 +0000
committerGravatar robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-12-05 19:07:21 +0000
commit935ad026826fb7d31d562ff7326b84ec3a827456 (patch)
tree3579e7292b147aa8cdb8cdc0182756087207be98 /src/core/SkDraw.cpp
parentf6c7e72c2c79537c4a56f5baefc79c073c80054e (diff)
Add drawPoints dash bench
Diffstat (limited to 'src/core/SkDraw.cpp')
-rw-r--r--src/core/SkDraw.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/core/SkDraw.cpp b/src/core/SkDraw.cpp
index e1ddb337f0..7593086abe 100644
--- a/src/core/SkDraw.cpp
+++ b/src/core/SkDraw.cpp
@@ -672,18 +672,26 @@ void SkDraw::drawPoints(SkCanvas::PointMode mode, size_t count,
!(SkPathEffect::PointData::kUsePath_PointFlag & dst.fFlags)) {
SkPaint newP(paint);
newP.setPathEffect(NULL);
+ newP.setStyle(SkPaint::kFill_Style);
if (SkPathEffect::PointData::kCircles_PointFlag & dst.fFlags) {
newP.setStrokeCap(SkPaint::kRound_Cap);
} else {
newP.setStrokeCap(SkPaint::kButt_Cap);
}
-
- this->drawPoints(SkCanvas::kPoints_PointMode,
- dst.fPoints.count(),
- dst.fPoints.begin(),
- newP,
- forceUseDevice);
+ if (fDevice) {
+ fDevice->drawPoints(*this,
+ SkCanvas::kPoints_PointMode,
+ dst.fNumPoints,
+ dst.fPoints,
+ newP);
+ } else {
+ this->drawPoints(SkCanvas::kPoints_PointMode,
+ dst.fNumPoints,
+ dst.fPoints,
+ newP,
+ forceUseDevice);
+ }
break;
}
}