Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(65)

Side by Side Diff: third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp

Issue 2640983002: Rename paint data structures (Closed)
Patch Set: Clean up comments, fix mac build Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "modules/canvas2d/CanvasRenderingContext2DState.h" 5 #include "modules/canvas2d/CanvasRenderingContext2DState.h"
6 6
7 #include "core/css/CSSFontSelector.h" 7 #include "core/css/CSSFontSelector.h"
8 #include "core/css/resolver/FilterOperationResolver.h" 8 #include "core/css/resolver/FilterOperationResolver.h"
9 #include "core/css/resolver/StyleBuilder.h" 9 #include "core/css/resolver/StyleBuilder.h"
10 #include "core/css/resolver/StyleResolverState.h" 10 #include "core/css/resolver/StyleResolverState.h"
11 #include "core/html/HTMLCanvasElement.h" 11 #include "core/html/HTMLCanvasElement.h"
12 #include "core/paint/FilterEffectBuilder.h" 12 #include "core/paint/FilterEffectBuilder.h"
13 #include "core/style/ComputedStyle.h" 13 #include "core/style/ComputedStyle.h"
14 #include "core/style/FilterOperation.h" 14 #include "core/style/FilterOperation.h"
15 #include "core/svg/SVGFilterElement.h" 15 #include "core/svg/SVGFilterElement.h"
16 #include "modules/canvas2d/CanvasGradient.h" 16 #include "modules/canvas2d/CanvasGradient.h"
17 #include "modules/canvas2d/CanvasPattern.h" 17 #include "modules/canvas2d/CanvasPattern.h"
18 #include "modules/canvas2d/CanvasRenderingContext2D.h" 18 #include "modules/canvas2d/CanvasRenderingContext2D.h"
19 #include "modules/canvas2d/CanvasStyle.h" 19 #include "modules/canvas2d/CanvasStyle.h"
20 #include "platform/graphics/DrawLooperBuilder.h" 20 #include "platform/graphics/DrawLooperBuilder.h"
21 #include "platform/graphics/filters/FilterEffect.h" 21 #include "platform/graphics/filters/FilterEffect.h"
22 #include "platform/graphics/filters/SkiaImageFilterBuilder.h" 22 #include "platform/graphics/filters/SkiaImageFilterBuilder.h"
23 #include "platform/graphics/paint/PaintCanvas.h"
24 #include "platform/graphics/paint/PaintFlags.h"
23 #include "platform/graphics/skia/SkiaUtils.h" 25 #include "platform/graphics/skia/SkiaUtils.h"
24 #include "third_party/skia/include/effects/SkDashPathEffect.h" 26 #include "third_party/skia/include/effects/SkDashPathEffect.h"
25 #include "third_party/skia/include/effects/SkDropShadowImageFilter.h" 27 #include "third_party/skia/include/effects/SkDropShadowImageFilter.h"
26 #include <memory> 28 #include <memory>
27 29
28 static const char defaultFont[] = "10px sans-serif"; 30 static const char defaultFont[] = "10px sans-serif";
29 static const char defaultFilter[] = "none"; 31 static const char defaultFilter[] = "none";
30 32
31 namespace blink { 33 namespace blink {
32 34
(...skipping 11 matching lines...) Expand all
44 m_textBaseline(AlphabeticTextBaseline), 46 m_textBaseline(AlphabeticTextBaseline),
45 m_direction(DirectionInherit), 47 m_direction(DirectionInherit),
46 m_realizedFont(false), 48 m_realizedFont(false),
47 m_isTransformInvertible(true), 49 m_isTransformInvertible(true),
48 m_hasClip(false), 50 m_hasClip(false),
49 m_hasComplexClip(false), 51 m_hasComplexClip(false),
50 m_fillStyleDirty(true), 52 m_fillStyleDirty(true),
51 m_strokeStyleDirty(true), 53 m_strokeStyleDirty(true),
52 m_lineDashDirty(false), 54 m_lineDashDirty(false),
53 m_imageSmoothingQuality(kLow_SkFilterQuality) { 55 m_imageSmoothingQuality(kLow_SkFilterQuality) {
54 m_fillPaint.setStyle(SkPaint::kFill_Style); 56 m_fillPaint.setStyle(PaintFlags::kFill_Style);
55 m_fillPaint.setAntiAlias(true); 57 m_fillPaint.setAntiAlias(true);
56 m_imagePaint.setStyle(SkPaint::kFill_Style); 58 m_imagePaint.setStyle(PaintFlags::kFill_Style);
57 m_imagePaint.setAntiAlias(true); 59 m_imagePaint.setAntiAlias(true);
58 m_strokePaint.setStyle(SkPaint::kStroke_Style); 60 m_strokePaint.setStyle(PaintFlags::kStroke_Style);
59 m_strokePaint.setStrokeWidth(1); 61 m_strokePaint.setStrokeWidth(1);
60 m_strokePaint.setStrokeCap(SkPaint::kButt_Cap); 62 m_strokePaint.setStrokeCap(PaintFlags::kButt_Cap);
61 m_strokePaint.setStrokeMiter(10); 63 m_strokePaint.setStrokeMiter(10);
62 m_strokePaint.setStrokeJoin(SkPaint::kMiter_Join); 64 m_strokePaint.setStrokeJoin(PaintFlags::kMiter_Join);
63 m_strokePaint.setAntiAlias(true); 65 m_strokePaint.setAntiAlias(true);
64 setImageSmoothingEnabled(true); 66 setImageSmoothingEnabled(true);
65 } 67 }
66 68
67 CanvasRenderingContext2DState::CanvasRenderingContext2DState( 69 CanvasRenderingContext2DState::CanvasRenderingContext2DState(
68 const CanvasRenderingContext2DState& other, 70 const CanvasRenderingContext2DState& other,
69 ClipListCopyMode mode) 71 ClipListCopyMode mode)
70 : CSSFontSelectorClient(), 72 : CSSFontSelectorClient(),
71 m_unrealizedSaveCount(other.m_unrealizedSaveCount), 73 m_unrealizedSaveCount(other.m_unrealizedSaveCount),
72 m_unparsedStrokeColor(other.m_unparsedStrokeColor), 74 m_unparsedStrokeColor(other.m_unparsedStrokeColor),
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 StyleResolverState resolverState(styleResolutionHost->document(), 297 StyleResolverState resolverState(styleResolutionHost->document(),
296 styleResolutionHost, filterStyle.get()); 298 styleResolutionHost, filterStyle.get());
297 resolverState.setStyle(filterStyle); 299 resolverState.setStyle(filterStyle);
298 300
299 StyleBuilder::applyProperty(CSSPropertyFilter, resolverState, 301 StyleBuilder::applyProperty(CSSPropertyFilter, resolverState,
300 *m_filterValue); 302 *m_filterValue);
301 resolverState.loadPendingResources(); 303 resolverState.loadPendingResources();
302 304
303 // We can't reuse m_fillPaint and m_strokePaint for the filter, since these 305 // We can't reuse m_fillPaint and m_strokePaint for the filter, since these
304 // incorporate the global alpha, which isn't applicable here. 306 // incorporate the global alpha, which isn't applicable here.
305 SkPaint fillPaintForFilter; 307 PaintFlags fillPaintForFilter;
306 m_fillStyle->applyToPaint(fillPaintForFilter); 308 m_fillStyle->applyToPaint(fillPaintForFilter);
307 fillPaintForFilter.setColor(m_fillStyle->paintColor()); 309 fillPaintForFilter.setColor(m_fillStyle->paintColor());
308 SkPaint strokePaintForFilter; 310 PaintFlags strokePaintForFilter;
309 m_strokeStyle->applyToPaint(strokePaintForFilter); 311 m_strokeStyle->applyToPaint(strokePaintForFilter);
310 strokePaintForFilter.setColor(m_strokeStyle->paintColor()); 312 strokePaintForFilter.setColor(m_strokeStyle->paintColor());
311 313
312 FilterEffectBuilder filterEffectBuilder( 314 FilterEffectBuilder filterEffectBuilder(
313 styleResolutionHost, FloatRect((FloatPoint()), FloatSize(canvasSize)), 315 styleResolutionHost, FloatRect((FloatPoint()), FloatSize(canvasSize)),
314 1.0f, // Deliberately ignore zoom on the canvas element. 316 1.0f, // Deliberately ignore zoom on the canvas element.
315 &fillPaintForFilter, &strokePaintForFilter); 317 &fillPaintForFilter, &strokePaintForFilter);
316 318
317 if (FilterEffect* lastEffect = 319 if (FilterEffect* lastEffect =
318 filterEffectBuilder.buildFilterEffect(filterStyle->filter())) { 320 filterEffectBuilder.buildFilterEffect(filterStyle->filter())) {
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
489 m_strokePaint.setFilterQuality(filterQuality); 491 m_strokePaint.setFilterQuality(filterQuality);
490 m_fillPaint.setFilterQuality(filterQuality); 492 m_fillPaint.setFilterQuality(filterQuality);
491 m_imagePaint.setFilterQuality(filterQuality); 493 m_imagePaint.setFilterQuality(filterQuality);
492 } 494 }
493 495
494 bool CanvasRenderingContext2DState::shouldDrawShadows() const { 496 bool CanvasRenderingContext2DState::shouldDrawShadows() const {
495 return alphaChannel(m_shadowColor) && 497 return alphaChannel(m_shadowColor) &&
496 (m_shadowBlur || !m_shadowOffset.isZero()); 498 (m_shadowBlur || !m_shadowOffset.isZero());
497 } 499 }
498 500
499 const SkPaint* CanvasRenderingContext2DState::getPaint( 501 const PaintFlags* CanvasRenderingContext2DState::getPaint(
500 PaintType paintType, 502 PaintType paintType,
501 ShadowMode shadowMode, 503 ShadowMode shadowMode,
502 ImageType imageType) const { 504 ImageType imageType) const {
503 SkPaint* paint; 505 PaintFlags* paint;
504 switch (paintType) { 506 switch (paintType) {
505 case StrokePaintType: 507 case StrokePaintType:
506 updateLineDash(); 508 updateLineDash();
507 updateStrokeStyle(); 509 updateStrokeStyle();
508 paint = &m_strokePaint; 510 paint = &m_strokePaint;
509 break; 511 break;
510 default: 512 default:
511 ASSERT_NOT_REACHED(); 513 ASSERT_NOT_REACHED();
512 // no break on purpose: paint needs to be assigned to avoid compiler warning 514 // no break on purpose: paint needs to be assigned to avoid compiler warning
513 // about uninitialized variable. 515 // about uninitialized variable.
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
549 paint->setLooper(0); 551 paint->setLooper(0);
550 paint->setImageFilter(shadowAndForegroundImageFilter()); 552 paint->setImageFilter(shadowAndForegroundImageFilter());
551 return paint; 553 return paint;
552 } 554 }
553 paint->setLooper(sk_ref_sp(shadowAndForegroundDrawLooper())); 555 paint->setLooper(sk_ref_sp(shadowAndForegroundDrawLooper()));
554 paint->setImageFilter(0); 556 paint->setImageFilter(0);
555 return paint; 557 return paint;
556 } 558 }
557 559
558 } // namespace blink 560 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698