OLD | NEW |
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" |
(...skipping 18 matching lines...) Expand all Loading... |
29 typedef CSSImageValueOrHTMLImageElementOrHTMLVideoElementOrHTMLCanvasElementOrIm
ageBitmapOrOffscreenCanvas | 29 typedef CSSImageValueOrHTMLImageElementOrHTMLVideoElementOrHTMLCanvasElementOrIm
ageBitmapOrOffscreenCanvas |
30 CanvasImageSourceUnion; | 30 CanvasImageSourceUnion; |
31 | 31 |
32 class MODULES_EXPORT BaseRenderingContext2D : public GarbageCollectedMixin, | 32 class MODULES_EXPORT BaseRenderingContext2D : public GarbageCollectedMixin, |
33 public CanvasPathMethods { | 33 public CanvasPathMethods { |
34 WTF_MAKE_NONCOPYABLE(BaseRenderingContext2D); | 34 WTF_MAKE_NONCOPYABLE(BaseRenderingContext2D); |
35 | 35 |
36 public: | 36 public: |
37 ~BaseRenderingContext2D() override; | 37 ~BaseRenderingContext2D() override; |
38 | 38 |
| 39 void reset(); |
| 40 |
39 void strokeStyle(StringOrCanvasGradientOrCanvasPattern&) const; | 41 void strokeStyle(StringOrCanvasGradientOrCanvasPattern&) const; |
40 void setStrokeStyle(const StringOrCanvasGradientOrCanvasPattern&); | 42 void setStrokeStyle(const StringOrCanvasGradientOrCanvasPattern&); |
41 | 43 |
42 void fillStyle(StringOrCanvasGradientOrCanvasPattern&) const; | 44 void fillStyle(StringOrCanvasGradientOrCanvasPattern&) const; |
43 void setFillStyle(const StringOrCanvasGradientOrCanvasPattern&); | 45 void setFillStyle(const StringOrCanvasGradientOrCanvasPattern&); |
44 | 46 |
45 double lineWidth() const; | 47 double lineWidth() const; |
46 void setLineWidth(double); | 48 void setLineWidth(double); |
47 | 49 |
48 String lineCap() const; | 50 String lineCap() const; |
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
305 template <typename DrawFunc, typename ContainsFunc> | 307 template <typename DrawFunc, typename ContainsFunc> |
306 bool draw(const DrawFunc&, | 308 bool draw(const DrawFunc&, |
307 const ContainsFunc&, | 309 const ContainsFunc&, |
308 const SkRect& bounds, | 310 const SkRect& bounds, |
309 CanvasRenderingContext2DState::PaintType, | 311 CanvasRenderingContext2DState::PaintType, |
310 CanvasRenderingContext2DState::ImageType = | 312 CanvasRenderingContext2DState::ImageType = |
311 CanvasRenderingContext2DState::NoImage); | 313 CanvasRenderingContext2DState::NoImage); |
312 | 314 |
313 void inflateStrokeRect(FloatRect&) const; | 315 void inflateStrokeRect(FloatRect&) const; |
314 | 316 |
| 317 void unwindStateStack(); |
| 318 |
315 enum DrawType { | 319 enum DrawType { |
316 ClipFill, // Fill that is already known to cover the current clip | 320 ClipFill, // Fill that is already known to cover the current clip |
317 UntransformedUnclippedFill | 321 UntransformedUnclippedFill |
318 }; | 322 }; |
319 | 323 |
320 void checkOverdraw(const SkRect&, | 324 void checkOverdraw(const SkRect&, |
321 const SkPaint*, | 325 const SkPaint*, |
322 CanvasRenderingContext2DState::ImageType, | 326 CanvasRenderingContext2DState::ImageType, |
323 DrawType); | 327 DrawType); |
324 | 328 |
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
462 foregroundPaint.setBlendMode(SkBlendMode::kSrcOver); | 466 foregroundPaint.setBlendMode(SkBlendMode::kSrcOver); |
463 c->setMatrix(ctm); | 467 c->setMatrix(ctm); |
464 drawFunc(c, &foregroundPaint); | 468 drawFunc(c, &foregroundPaint); |
465 c->restore(); | 469 c->restore(); |
466 c->setMatrix(ctm); | 470 c->setMatrix(ctm); |
467 } | 471 } |
468 | 472 |
469 } // namespace blink | 473 } // namespace blink |
470 | 474 |
471 #endif // BaseRenderingContext2D_h | 475 #endif // BaseRenderingContext2D_h |
OLD | NEW |