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

Side by Side Diff: third_party/WebKit/Source/modules/canvas2d/BaseRenderingContext2D.h

Issue 2572873002: Add ColorBehavior plumbing for 2D canvas drawImage (Closed)
Patch Set: Created 4 years 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 #ifndef BaseRenderingContext2D_h 5 #ifndef BaseRenderingContext2D_h
6 #define BaseRenderingContext2D_h 6 #define BaseRenderingContext2D_h
7 7
8 #include "bindings/modules/v8/CSSImageValueOrHTMLImageElementOrHTMLVideoElementO rHTMLCanvasElementOrImageBitmapOrOffscreenCanvas.h" 8 #include "bindings/modules/v8/CSSImageValueOrHTMLImageElementOrHTMLVideoElementO rHTMLCanvasElementOrImageBitmapOrOffscreenCanvas.h"
9 #include "bindings/modules/v8/StringOrCanvasGradientOrCanvasPattern.h" 9 #include "bindings/modules/v8/StringOrCanvasGradientOrCanvasPattern.h"
10 #include "core/html/ImageData.h" 10 #include "core/html/ImageData.h"
11 #include "modules/ModulesExport.h" 11 #include "modules/ModulesExport.h"
12 #include "modules/canvas2d/CanvasGradient.h" 12 #include "modules/canvas2d/CanvasGradient.h"
13 #include "modules/canvas2d/CanvasPathMethods.h" 13 #include "modules/canvas2d/CanvasPathMethods.h"
14 #include "modules/canvas2d/CanvasRenderingContext2DState.h" 14 #include "modules/canvas2d/CanvasRenderingContext2DState.h"
15 #include "modules/canvas2d/CanvasStyle.h" 15 #include "modules/canvas2d/CanvasStyle.h"
16 #include "platform/graphics/ColorBehavior.h"
16 #include "platform/graphics/ExpensiveCanvasHeuristicParameters.h" 17 #include "platform/graphics/ExpensiveCanvasHeuristicParameters.h"
17 #include "third_party/skia/include/core/SkCanvas.h" 18 #include "third_party/skia/include/core/SkCanvas.h"
18 #include "third_party/skia/include/effects/SkComposeImageFilter.h" 19 #include "third_party/skia/include/effects/SkComposeImageFilter.h"
19 20
20 namespace blink { 21 namespace blink {
21 22
22 class CanvasImageSource; 23 class CanvasImageSource;
23 class Color; 24 class Color;
24 class Image; 25 class Image;
25 class ImageBuffer; 26 class ImageBuffer;
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 virtual bool stateHasFilter() = 0; 233 virtual bool stateHasFilter() = 0;
233 virtual sk_sp<SkImageFilter> stateGetFilter() = 0; 234 virtual sk_sp<SkImageFilter> stateGetFilter() = 0;
234 virtual void snapshotStateForFilter() = 0; 235 virtual void snapshotStateForFilter() = 0;
235 236
236 virtual void validateStateStack() const = 0; 237 virtual void validateStateStack() const = 0;
237 238
238 virtual bool hasAlpha() const = 0; 239 virtual bool hasAlpha() const = 0;
239 240
240 virtual bool isContextLost() const = 0; 241 virtual bool isContextLost() const = 0;
241 242
243 virtual ColorBehavior drawImageColorBehavior() const = 0;
244
242 void restoreMatrixClipStack(SkCanvas*) const; 245 void restoreMatrixClipStack(SkCanvas*) const;
243 246
244 DECLARE_VIRTUAL_TRACE(); 247 DECLARE_VIRTUAL_TRACE();
245 248
246 enum DrawCallType { 249 enum DrawCallType {
247 StrokePath = 0, 250 StrokePath = 0,
248 FillPath, 251 FillPath,
249 DrawVectorImage, 252 DrawVectorImage,
250 DrawBitmapImage, 253 DrawBitmapImage,
251 FillText, 254 FillText,
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
466 foregroundPaint.setBlendMode(SkBlendMode::kSrcOver); 469 foregroundPaint.setBlendMode(SkBlendMode::kSrcOver);
467 c->setMatrix(ctm); 470 c->setMatrix(ctm);
468 drawFunc(c, &foregroundPaint); 471 drawFunc(c, &foregroundPaint);
469 c->restore(); 472 c->restore();
470 c->setMatrix(ctm); 473 c->setMatrix(ctm);
471 } 474 }
472 475
473 } // namespace blink 476 } // namespace blink
474 477
475 #endif // BaseRenderingContext2D_h 478 #endif // BaseRenderingContext2D_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698