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

Side by Side Diff: Source/core/html/HTMLCanvasElement.h

Issue 749653002: WebGL: clarify which Front or Back buffer is used by each API. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Address nits Created 6 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 /* 1 /*
2 * Copyright (C) 2004, 2006, 2009, 2010 Apple Inc. All rights reserved. 2 * Copyright (C) 2004, 2006, 2009, 2010 Apple Inc. All rights reserved.
3 * Copyright (C) 2007 Alp Toker <alp@atoker.com> 3 * Copyright (C) 2007 Alp Toker <alp@atoker.com>
4 * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved. 4 * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved.
5 * 5 *
6 * Redistribution and use in source and binary forms, with or without 6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions 7 * modification, are permitted provided that the following conditions
8 * are met: 8 * are met:
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 16 matching lines...) Expand all
27 27
28 #ifndef HTMLCanvasElement_h 28 #ifndef HTMLCanvasElement_h
29 #define HTMLCanvasElement_h 29 #define HTMLCanvasElement_h
30 30
31 #include "core/dom/Document.h" 31 #include "core/dom/Document.h"
32 #include "core/html/HTMLElement.h" 32 #include "core/html/HTMLElement.h"
33 #include "core/html/canvas/CanvasImageSource.h" 33 #include "core/html/canvas/CanvasImageSource.h"
34 #include "platform/geometry/FloatRect.h" 34 #include "platform/geometry/FloatRect.h"
35 #include "platform/geometry/IntSize.h" 35 #include "platform/geometry/IntSize.h"
36 #include "platform/graphics/GraphicsTypes.h" 36 #include "platform/graphics/GraphicsTypes.h"
37 #include "platform/graphics/GraphicsTypes3D.h"
37 #include "platform/graphics/ImageBufferClient.h" 38 #include "platform/graphics/ImageBufferClient.h"
38 #include "platform/heap/Handle.h" 39 #include "platform/heap/Handle.h"
39 #include "public/platform/WebThread.h" 40 #include "public/platform/WebThread.h"
40 #include "wtf/Forward.h"
41 41
42 #define CanvasDefaultInterpolationQuality InterpolationLow 42 #define CanvasDefaultInterpolationQuality InterpolationLow
43 43
44 namespace blink { 44 namespace blink {
45 45
46 class AffineTransform; 46 class AffineTransform;
47 class CanvasContextAttributes; 47 class CanvasContextAttributes;
48 class CanvasRenderingContext; 48 class CanvasRenderingContext;
49 class GraphicsContext; 49 class GraphicsContext;
50 class GraphicsContextStateSaver; 50 class GraphicsContextStateSaver;
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 112
113 void paint(GraphicsContext*, const LayoutRect&); 113 void paint(GraphicsContext*, const LayoutRect&);
114 114
115 GraphicsContext* drawingContext() const; 115 GraphicsContext* drawingContext() const;
116 GraphicsContext* existingDrawingContext() const; 116 GraphicsContext* existingDrawingContext() const;
117 117
118 CanvasRenderingContext* renderingContext() const { return m_context.get(); } 118 CanvasRenderingContext* renderingContext() const { return m_context.get(); }
119 119
120 void ensureUnacceleratedImageBuffer(); 120 void ensureUnacceleratedImageBuffer();
121 ImageBuffer* buffer() const; 121 ImageBuffer* buffer() const;
122 Image* copiedImage() const; 122 Image* copiedImage(SourceDrawingBuffer) const;
123 void clearCopiedImage(); 123 void clearCopiedImage();
124 PassRefPtrWillBeRawPtr<ImageData> getImageData() const;
125 124
126 SecurityOrigin* securityOrigin() const; 125 SecurityOrigin* securityOrigin() const;
127 bool originClean() const { return m_originClean; } 126 bool originClean() const { return m_originClean; }
128 void setOriginTainted() { m_originClean = false; } 127 void setOriginTainted() { m_originClean = false; }
129 128
130 AffineTransform baseTransform() const; 129 AffineTransform baseTransform() const;
131 130
132 bool is3D() const; 131 bool is3D() const;
133 132
134 bool hasImageBuffer() const { return m_imageBuffer; } 133 bool hasImageBuffer() const { return m_imageBuffer; }
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 bool shouldUseDisplayList(const IntSize& deviceSize); 179 bool shouldUseDisplayList(const IntSize& deviceSize);
181 180
182 void resetDirtyRect(); 181 void resetDirtyRect();
183 182
184 void setSurfaceSize(const IntSize&); 183 void setSurfaceSize(const IntSize&);
185 184
186 bool paintsIntoCanvasBuffer() const; 185 bool paintsIntoCanvasBuffer() const;
187 186
188 void updateExternallyAllocatedMemory() const; 187 void updateExternallyAllocatedMemory() const;
189 188
190 String toDataURLInternal(const String& mimeType, const double* quality, bool isSaving = false) const; 189 String toDataURLInternal(const String& mimeType, const double* quality, Sour ceDrawingBuffer) const;
191 190
192 WillBeHeapHashSet<RawPtrWillBeWeakMember<CanvasObserver>> m_observers; 191 WillBeHeapHashSet<RawPtrWillBeWeakMember<CanvasObserver>> m_observers;
193 192
194 IntSize m_size; 193 IntSize m_size;
195 194
196 OwnPtrWillBeMember<CanvasRenderingContext> m_context; 195 OwnPtrWillBeMember<CanvasRenderingContext> m_context;
197 196
198 bool m_ignoreReset; 197 bool m_ignoreReset;
199 bool m_accelerationDisabled; 198 bool m_accelerationDisabled;
200 FloatRect m_dirtyRect; 199 FloatRect m_dirtyRect;
201 200
202 mutable intptr_t m_externallyAllocatedMemory; 201 mutable intptr_t m_externallyAllocatedMemory;
203 202
204 bool m_originClean; 203 bool m_originClean;
205 204
206 // It prevents HTMLCanvasElement::buffer() from continuously re-attempting t o allocate an imageBuffer 205 // It prevents HTMLCanvasElement::buffer() from continuously re-attempting t o allocate an imageBuffer
207 // after the first attempt failed. 206 // after the first attempt failed.
208 mutable bool m_didFailToCreateImageBuffer; 207 mutable bool m_didFailToCreateImageBuffer;
209 bool m_imageBufferIsClear; 208 bool m_imageBufferIsClear;
210 OwnPtr<ImageBuffer> m_imageBuffer; 209 OwnPtr<ImageBuffer> m_imageBuffer;
211 mutable OwnPtr<GraphicsContextStateSaver> m_contextStateSaver; 210 mutable OwnPtr<GraphicsContextStateSaver> m_contextStateSaver;
212 211
213 mutable RefPtr<Image> m_copiedImage; // FIXME: This is temporary for platfor ms that have to copy the image buffer to render (and for CSSCanvasValue). 212 mutable RefPtr<Image> m_copiedImage; // FIXME: This is temporary for platfor ms that have to copy the image buffer to render (and for CSSCanvasValue).
214 }; 213 };
215 214
216 } // namespace blink 215 } // namespace blink
217 216
218 #endif // HTMLCanvasElement_h 217 #endif // HTMLCanvasElement_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698