| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009 Apple Inc. All rights reserved. | 2 * Copyright (C) 2009 Apple Inc. All rights reserved. |
| 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 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 74 | 74 |
| 75 static ContextType contextTypeFromId(const String& id); | 75 static ContextType contextTypeFromId(const String& id); |
| 76 static ContextType resolveContextTypeAliases(ContextType); | 76 static ContextType resolveContextTypeAliases(ContextType); |
| 77 | 77 |
| 78 HTMLCanvasElement* canvas() const { return m_canvas; } | 78 HTMLCanvasElement* canvas() const { return m_canvas; } |
| 79 | 79 |
| 80 CanvasColorSpace colorSpace() const { return m_colorSpace; }; | 80 CanvasColorSpace colorSpace() const { return m_colorSpace; }; |
| 81 WTF::String colorSpaceAsString() const; | 81 WTF::String colorSpaceAsString() const; |
| 82 sk_sp<SkColorSpace> skColorSpace() const; | 82 sk_sp<SkColorSpace> skColorSpace() const; |
| 83 | 83 |
| 84 virtual PassRefPtr<Image> getImage(SnapshotReason) const = 0; |
| 84 virtual ContextType getContextType() const = 0; | 85 virtual ContextType getContextType() const = 0; |
| 85 virtual bool isAccelerated() const { return false; } | 86 virtual bool isAccelerated() const { return false; } |
| 86 virtual bool shouldAntialias() const { return false; } | 87 virtual bool shouldAntialias() const { return false; } |
| 87 virtual void setIsHidden(bool) = 0; | 88 virtual void setIsHidden(bool) = 0; |
| 88 virtual bool isContextLost() const { return true; } | 89 virtual bool isContextLost() const { return true; } |
| 89 virtual void setCanvasGetContextResult(RenderingContext&) { NOTREACHED(); }; | 90 virtual void setCanvasGetContextResult(RenderingContext&) { NOTREACHED(); }; |
| 90 virtual void setOffscreenCanvasGetContextResult(OffscreenRenderingContext&)
{ NOTREACHED(); } | 91 virtual void setOffscreenCanvasGetContextResult(OffscreenRenderingContext&)
{ NOTREACHED(); } |
| 92 virtual bool isPaintable() const = 0; |
| 91 | 93 |
| 92 // Return true if the content is updated. | 94 // Return true if the content is updated. |
| 93 virtual bool paintRenderingResultsToCanvas(SourceDrawingBuffer) { return fal
se; } | 95 virtual bool paintRenderingResultsToCanvas(SourceDrawingBuffer) { return fal
se; } |
| 94 | 96 |
| 95 // Note: this function is strictly for OffscreenCanvas only. | |
| 96 virtual bool isPaintable() const = 0; | |
| 97 | 97 |
| 98 virtual WebLayer* platformLayer() const { return nullptr; } | 98 virtual WebLayer* platformLayer() const { return nullptr; } |
| 99 | 99 |
| 100 enum LostContextMode { | 100 enum LostContextMode { |
| 101 NotLostContext, | 101 NotLostContext, |
| 102 | 102 |
| 103 // Lost context occurred at the graphics system level. | 103 // Lost context occurred at the graphics system level. |
| 104 RealLostContext, | 104 RealLostContext, |
| 105 | 105 |
| 106 // Lost context provoked by WEBGL_lose_context. | 106 // Lost context provoked by WEBGL_lose_context. |
| (...skipping 23 matching lines...) Expand all Loading... |
| 130 // WebGL-specific interface | 130 // WebGL-specific interface |
| 131 virtual bool is3d() const { return false; } | 131 virtual bool is3d() const { return false; } |
| 132 virtual void setFilterQuality(SkFilterQuality) { NOTREACHED(); } | 132 virtual void setFilterQuality(SkFilterQuality) { NOTREACHED(); } |
| 133 virtual void reshape(int width, int height) { NOTREACHED(); } | 133 virtual void reshape(int width, int height) { NOTREACHED(); } |
| 134 virtual void markLayerComposited() { NOTREACHED(); } | 134 virtual void markLayerComposited() { NOTREACHED(); } |
| 135 virtual ImageData* paintRenderingResultsToImageData(SourceDrawingBuffer) { N
OTREACHED(); return nullptr; } | 135 virtual ImageData* paintRenderingResultsToImageData(SourceDrawingBuffer) { N
OTREACHED(); return nullptr; } |
| 136 virtual int externallyAllocatedBytesPerPixel() { NOTREACHED(); return 0; } | 136 virtual int externallyAllocatedBytesPerPixel() { NOTREACHED(); return 0; } |
| 137 | 137 |
| 138 // ImageBitmap-specific interface | 138 // ImageBitmap-specific interface |
| 139 virtual bool paint(GraphicsContext&, const IntRect&) { return false; } | 139 virtual bool paint(GraphicsContext&, const IntRect&) { return false; } |
| 140 virtual PassRefPtr<Image> getImage() const { return nullptr; } | |
| 141 | |
| 142 bool wouldTaintOrigin(CanvasImageSource*, SecurityOrigin* = nullptr); | |
| 143 void didMoveToNewDocument(Document*); | |
| 144 | 140 |
| 145 // OffscreenCanvas-specific methods | 141 // OffscreenCanvas-specific methods |
| 146 OffscreenCanvas* getOffscreenCanvas() const { return m_offscreenCanvas; } | 142 OffscreenCanvas* getOffscreenCanvas() const { return m_offscreenCanvas; } |
| 147 virtual ImageBitmap* transferToImageBitmap(ExceptionState&) { return nullptr
; } | 143 virtual ImageBitmap* transferToImageBitmap(ExceptionState&) { return nullptr
; } |
| 148 | 144 |
| 145 bool wouldTaintOrigin(CanvasImageSource*, SecurityOrigin* = nullptr); |
| 146 void didMoveToNewDocument(Document*); |
| 147 |
| 149 void detachCanvas() { m_canvas = nullptr; } | 148 void detachCanvas() { m_canvas = nullptr; } |
| 150 | 149 |
| 151 const CanvasContextCreationAttributes& creationAttributes() const { return m
_creationAttributes; } | 150 const CanvasContextCreationAttributes& creationAttributes() const { return m
_creationAttributes; } |
| 152 | 151 |
| 153 protected: | 152 protected: |
| 154 CanvasRenderingContext(HTMLCanvasElement*, OffscreenCanvas*, const CanvasCon
textCreationAttributes&); | 153 CanvasRenderingContext(HTMLCanvasElement*, OffscreenCanvas*, const CanvasCon
textCreationAttributes&); |
| 155 DECLARE_VIRTUAL_TRACE(); | 154 DECLARE_VIRTUAL_TRACE(); |
| 156 virtual void stop() = 0; | 155 virtual void stop() = 0; |
| 157 | 156 |
| 158 private: | 157 private: |
| 159 void dispose(); | 158 void dispose(); |
| 160 | 159 |
| 161 Member<HTMLCanvasElement> m_canvas; | 160 Member<HTMLCanvasElement> m_canvas; |
| 162 Member<OffscreenCanvas> m_offscreenCanvas; | 161 Member<OffscreenCanvas> m_offscreenCanvas; |
| 163 HashSet<String> m_cleanURLs; | 162 HashSet<String> m_cleanURLs; |
| 164 HashSet<String> m_dirtyURLs; | 163 HashSet<String> m_dirtyURLs; |
| 165 CanvasColorSpace m_colorSpace; | 164 CanvasColorSpace m_colorSpace; |
| 166 CanvasContextCreationAttributes m_creationAttributes; | 165 CanvasContextCreationAttributes m_creationAttributes; |
| 167 }; | 166 }; |
| 168 | 167 |
| 169 } // namespace blink | 168 } // namespace blink |
| 170 | 169 |
| 171 #endif | 170 #endif |
| OLD | NEW |