| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006, 2007, 2009, 2010, 2011, 2012 Apple Inc. All rights reserv
ed. | 2 * Copyright (C) 2006, 2007, 2009, 2010, 2011, 2012 Apple Inc. All rights reserv
ed. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 42 #include "wtf/HashMap.h" | 42 #include "wtf/HashMap.h" |
| 43 #include "wtf/Vector.h" | 43 #include "wtf/Vector.h" |
| 44 #include "wtf/text/WTFString.h" | 44 #include "wtf/text/WTFString.h" |
| 45 | 45 |
| 46 namespace blink { class WebLayer; } | 46 namespace blink { class WebLayer; } |
| 47 | 47 |
| 48 namespace WebCore { | 48 namespace WebCore { |
| 49 | 49 |
| 50 class CanvasImageSource; | 50 class CanvasImageSource; |
| 51 class CanvasGradient; | 51 class CanvasGradient; |
| 52 class CanvasHitRegion; |
| 53 class CanvasHitRegionManager; |
| 52 class CanvasPattern; | 54 class CanvasPattern; |
| 53 class CanvasStyle; | 55 class CanvasStyle; |
| 54 class Path2D; | 56 struct DecodedHitRegionOptions; |
| 55 class Element; | 57 class Element; |
| 56 class ExceptionState; | 58 class ExceptionState; |
| 57 class FloatRect; | 59 class FloatRect; |
| 58 class GraphicsContext; | 60 class GraphicsContext; |
| 59 class HTMLCanvasElement; | 61 class HTMLCanvasElement; |
| 60 class HTMLImageElement; | 62 class HTMLImageElement; |
| 61 class HTMLVideoElement; | 63 class HTMLVideoElement; |
| 62 class ImageBitmap; | 64 class ImageBitmap; |
| 63 class ImageData; | 65 class ImageData; |
| 66 class Path2D; |
| 64 class TextMetrics; | 67 class TextMetrics; |
| 65 | 68 |
| 66 typedef WillBeHeapHashMap<String, RefPtrWillBeMember<MutableStylePropertySet> >
MutableStylePropertyMap; | 69 typedef WillBeHeapHashMap<String, RefPtrWillBeMember<MutableStylePropertySet> >
MutableStylePropertyMap; |
| 67 | 70 |
| 68 class CanvasRenderingContext2D FINAL: public CanvasRenderingContext, public Scri
ptWrappable, public CanvasPathMethods { | 71 class CanvasRenderingContext2D FINAL: public CanvasRenderingContext, public Scri
ptWrappable, public CanvasPathMethods { |
| 69 public: | 72 public: |
| 70 static PassOwnPtrWillBeRawPtr<CanvasRenderingContext2D> create(HTMLCanvasEle
ment* canvas, const Canvas2DContextAttributes* attrs, bool usesCSSCompatibilityP
arseMode) | 73 static PassOwnPtrWillBeRawPtr<CanvasRenderingContext2D> create(HTMLCanvasEle
ment* canvas, const Canvas2DContextAttributes* attrs, bool usesCSSCompatibilityP
arseMode) |
| 71 { | 74 { |
| 72 return adoptPtrWillBeNoop(new CanvasRenderingContext2D(canvas, attrs, us
esCSSCompatibilityParseMode)); | 75 return adoptPtrWillBeNoop(new CanvasRenderingContext2D(canvas, attrs, us
esCSSCompatibilityParseMode)); |
| 73 } | 76 } |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 217 PassRefPtr<TextMetrics> measureText(const String& text); | 220 PassRefPtr<TextMetrics> measureText(const String& text); |
| 218 | 221 |
| 219 LineCap getLineCap() const { return state().m_lineCap; } | 222 LineCap getLineCap() const { return state().m_lineCap; } |
| 220 LineJoin getLineJoin() const { return state().m_lineJoin; } | 223 LineJoin getLineJoin() const { return state().m_lineJoin; } |
| 221 | 224 |
| 222 bool imageSmoothingEnabled() const; | 225 bool imageSmoothingEnabled() const; |
| 223 void setImageSmoothingEnabled(bool); | 226 void setImageSmoothingEnabled(bool); |
| 224 | 227 |
| 225 PassRefPtr<Canvas2DContextAttributes> getContextAttributes() const; | 228 PassRefPtr<Canvas2DContextAttributes> getContextAttributes() const; |
| 226 | 229 |
| 230 void addHitRegion(ExceptionState&); |
| 231 void addHitRegion(const Dictionary& options, ExceptionState&); |
| 232 void removeHitRegion(const String& id); |
| 233 CanvasHitRegion* hitRegionAtPoint(const LayoutPoint&); |
| 234 |
| 227 void drawFocusIfNeeded(Element*); | 235 void drawFocusIfNeeded(Element*); |
| 228 void drawFocusIfNeeded(Path2D*, Element*); | 236 void drawFocusIfNeeded(Path2D*, Element*); |
| 229 bool drawCustomFocusRing(Element*); | 237 bool drawCustomFocusRing(Element*); |
| 230 | 238 |
| 231 void loseContext(); | 239 void loseContext(); |
| 232 void restoreContext(); | 240 void restoreContext(); |
| 233 | 241 |
| 234 virtual void trace(Visitor*) OVERRIDE; | 242 virtual void trace(Visitor*) OVERRIDE; |
| 235 | 243 |
| 236 private: | 244 private: |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 323 | 331 |
| 324 void clearCanvas(); | 332 void clearCanvas(); |
| 325 bool rectContainsTransformedRect(const FloatRect&, const FloatRect&) const; | 333 bool rectContainsTransformedRect(const FloatRect&, const FloatRect&) const; |
| 326 | 334 |
| 327 void inflateStrokeRect(FloatRect&) const; | 335 void inflateStrokeRect(FloatRect&) const; |
| 328 | 336 |
| 329 template<class T> void fullCanvasCompositedFill(const T&); | 337 template<class T> void fullCanvasCompositedFill(const T&); |
| 330 template<class T> void fullCanvasCompositedStroke(const T&); | 338 template<class T> void fullCanvasCompositedStroke(const T&); |
| 331 template<class T> void fullCanvasCompositedDrawImage(T*, const FloatRect&, c
onst FloatRect&, CompositeOperator); | 339 template<class T> void fullCanvasCompositedDrawImage(T*, const FloatRect&, c
onst FloatRect&, CompositeOperator); |
| 332 | 340 |
| 341 void addHitRegionInternal(const DecodedHitRegionOptions&, ExceptionState&); |
| 342 |
| 333 void drawFocusIfNeededInternal(const Path&, Element*); | 343 void drawFocusIfNeededInternal(const Path&, Element*); |
| 334 bool focusRingCallIsValid(const Path&, Element*); | 344 bool focusRingCallIsValid(const Path&, Element*); |
| 335 void updateFocusRingAccessibility(const Path&, Element*); | 345 void updateFocusRingAccessibility(const Path&, Element*); |
| 336 void drawFocusRing(const Path&); | 346 void drawFocusRing(const Path&); |
| 337 | 347 |
| 338 virtual bool is2d() const OVERRIDE { return true; } | 348 virtual bool is2d() const OVERRIDE { return true; } |
| 339 virtual bool isAccelerated() const OVERRIDE; | 349 virtual bool isAccelerated() const OVERRIDE; |
| 340 virtual bool hasAlpha() const OVERRIDE { return m_hasAlpha; } | 350 virtual bool hasAlpha() const OVERRIDE { return m_hasAlpha; } |
| 341 | 351 |
| 342 virtual bool isTransformInvertible() const OVERRIDE { return state().m_inver
tibleCTM; } | 352 virtual bool isTransformInvertible() const OVERRIDE { return state().m_inver
tibleCTM; } |
| 343 | 353 |
| 344 virtual blink::WebLayer* platformLayer() const OVERRIDE; | 354 virtual blink::WebLayer* platformLayer() const OVERRIDE; |
| 345 | 355 |
| 346 WillBeHeapVector<OwnPtrWillBeMember<State> > m_stateStack; | 356 WillBeHeapVector<OwnPtrWillBeMember<State> > m_stateStack; |
| 357 OwnPtrWillBeMember<CanvasHitRegionManager> m_hitRegionManager; |
| 347 bool m_usesCSSCompatibilityParseMode; | 358 bool m_usesCSSCompatibilityParseMode; |
| 348 bool m_hasAlpha; | 359 bool m_hasAlpha; |
| 349 bool m_isContextLost; | 360 bool m_isContextLost; |
| 350 bool m_contextRestorable; | 361 bool m_contextRestorable; |
| 351 Canvas2DContextStorage m_storageMode; | 362 Canvas2DContextStorage m_storageMode; |
| 352 MutableStylePropertyMap m_fetchedFonts; | 363 MutableStylePropertyMap m_fetchedFonts; |
| 353 unsigned m_tryRestoreContextAttemptCount; | 364 unsigned m_tryRestoreContextAttemptCount; |
| 354 Timer<CanvasRenderingContext2D> m_dispatchContextLostEventTimer; | 365 Timer<CanvasRenderingContext2D> m_dispatchContextLostEventTimer; |
| 355 Timer<CanvasRenderingContext2D> m_dispatchContextRestoredEventTimer; | 366 Timer<CanvasRenderingContext2D> m_dispatchContextRestoredEventTimer; |
| 356 Timer<CanvasRenderingContext2D> m_tryRestoreContextEventTimer; | 367 Timer<CanvasRenderingContext2D> m_tryRestoreContextEventTimer; |
| 357 }; | 368 }; |
| 358 | 369 |
| 359 DEFINE_TYPE_CASTS(CanvasRenderingContext2D, CanvasRenderingContext, context, con
text->is2d(), context.is2d()); | 370 DEFINE_TYPE_CASTS(CanvasRenderingContext2D, CanvasRenderingContext, context, con
text->is2d(), context.is2d()); |
| 360 | 371 |
| 361 } // namespace WebCore | 372 } // namespace WebCore |
| 362 | 373 |
| 363 #endif | 374 #endif |
| OLD | NEW |