OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 Google 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 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 11 matching lines...) Expand all Loading... |
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
23 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 23 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
24 */ | 24 */ |
25 | 25 |
26 #ifndef GraphicsContext3DInternal_h | 26 #ifndef GraphicsContext3DInternal_h |
27 #define GraphicsContext3DInternal_h | 27 #define GraphicsContext3DInternal_h |
28 | 28 |
29 #include "Extensions3DChromium.h" | 29 #include "Extensions3DChromium.h" |
30 #include "GraphicsContext3D.h" | 30 #include "GraphicsContext3D.h" |
31 #include <wtf/HashSet.h> | 31 #include <wtf/HashSet.h> |
| 32 #include <wtf/OwnArrayPtr.h> |
32 #include <wtf/OwnPtr.h> | 33 #include <wtf/OwnPtr.h> |
33 #if USE(SKIA) | 34 #if USE(SKIA) |
34 #include "SkBitmap.h" | 35 #include "SkBitmap.h" |
35 #endif | 36 #endif |
36 | 37 |
37 #if USE(SKIA) | 38 #if USE(SKIA) |
38 class GrContext; | 39 class GrContext; |
39 #endif | 40 #endif |
40 | 41 |
41 namespace WebKit { | 42 namespace WebKit { |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 bool makeContextCurrent(); | 74 bool makeContextCurrent(); |
74 | 75 |
75 void reshape(int width, int height); | 76 void reshape(int width, int height); |
76 IntSize getInternalFramebufferSize() const; | 77 IntSize getInternalFramebufferSize() const; |
77 | 78 |
78 void markContextChanged(); | 79 void markContextChanged(); |
79 bool layerComposited() const; | 80 bool layerComposited() const; |
80 void markLayerComposited(); | 81 void markLayerComposited(); |
81 | 82 |
82 void paintRenderingResultsToCanvas(CanvasRenderingContext*); | 83 void paintRenderingResultsToCanvas(CanvasRenderingContext*); |
| 84 void paintFramebufferToCanvas(int framebuffer, int width, int height, bool p
remultiplyAlpha, ImageBuffer*); |
83 PassRefPtr<ImageData> paintRenderingResultsToImageData(); | 85 PassRefPtr<ImageData> paintRenderingResultsToImageData(); |
84 bool paintsIntoCanvasBuffer() const; | 86 bool paintsIntoCanvasBuffer() const; |
| 87 bool paintCompositedResultsToCanvas(CanvasRenderingContext*); |
85 | 88 |
86 void prepareTexture(); | 89 void prepareTexture(); |
87 | 90 |
88 #if USE(ACCELERATED_COMPOSITING) | 91 #if USE(ACCELERATED_COMPOSITING) |
89 WebGLLayerChromium* platformLayer() const; | 92 WebGLLayerChromium* platformLayer() const; |
90 #endif | 93 #endif |
91 bool isGLES2Compliant() const; | 94 bool isGLES2Compliant() const; |
92 | 95 |
93 void releaseShaderCompiler(); | 96 void releaseShaderCompiler(); |
94 bool isContextLost(); | 97 bool isContextLost(); |
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
313 // match those that we were given in the most recent call to | 316 // match those that we were given in the most recent call to |
314 // reshape(), then we need an intermediate bitmap to read back the | 317 // reshape(), then we need an intermediate bitmap to read back the |
315 // frame buffer into. This seems to happen when CSS styles are | 318 // frame buffer into. This seems to happen when CSS styles are |
316 // used to resize the Canvas. | 319 // used to resize the Canvas. |
317 SkBitmap m_resizingBitmap; | 320 SkBitmap m_resizingBitmap; |
318 | 321 |
319 GrContext* m_grContext; | 322 GrContext* m_grContext; |
320 #endif | 323 #endif |
321 | 324 |
322 #if USE(CG) | 325 #if USE(CG) |
323 unsigned char* m_renderOutput; | 326 OwnArrayPtr<unsigned char> m_renderOutput; |
| 327 size_t m_renderOutputSize; |
324 #endif | 328 #endif |
325 | 329 |
326 void initializeExtensions(); | 330 void initializeExtensions(); |
327 }; | 331 }; |
328 | 332 |
329 } // namespace WebCore | 333 } // namespace WebCore |
330 | 334 |
331 #endif // GraphicsContext3D_h | 335 #endif // GraphicsContext3D_h |
OLD | NEW |