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

Side by Side Diff: third_party/WebKit/Source/platform/graphics/ImageBuffer.h

Issue 1609343004: Add display list fallback reason histograms for 2D canvas (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: git cl web Created 4 years, 10 months 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) 2006 Nikolas Zimmermann <zimmermann@kde.org> 2 * Copyright (C) 2006 Nikolas Zimmermann <zimmermann@kde.org>
3 * Copyright (C) 2007, 2008, 2009 Apple Inc. All rights reserved. 3 * Copyright (C) 2007, 2008, 2009 Apple Inc. All rights reserved.
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 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 bool wasDrawnToAfterSnapshot() const { return m_snapshotState == DrawnToAfte rSnapshot; } 88 bool wasDrawnToAfterSnapshot() const { return m_snapshotState == DrawnToAfte rSnapshot; }
89 89
90 void setFilterQuality(SkFilterQuality filterQuality) { m_surface->setFilterQ uality(filterQuality); } 90 void setFilterQuality(SkFilterQuality filterQuality) { m_surface->setFilterQ uality(filterQuality); }
91 void setIsHidden(bool hidden) { m_surface->setIsHidden(hidden); } 91 void setIsHidden(bool hidden) { m_surface->setIsHidden(hidden); }
92 92
93 // Called by subclasses of ImageBufferSurface to install a new canvas object . 93 // Called by subclasses of ImageBufferSurface to install a new canvas object .
94 // Virtual for mocking 94 // Virtual for mocking
95 virtual void resetCanvas(SkCanvas*) const; 95 virtual void resetCanvas(SkCanvas*) const;
96 96
97 SkCanvas* canvas() const; 97 SkCanvas* canvas() const;
98 void disableDeferral() const; 98 void disableDeferral(DisableDeferralReason) const;
99 99
100 // Called at the end of a task that rendered a whole frame 100 // Called at the end of a task that rendered a whole frame
101 void finalizeFrame(const FloatRect &dirtyRect); 101 void finalizeFrame(const FloatRect &dirtyRect);
102 void didFinalizeFrame(); 102 void didFinalizeFrame();
103 103
104 bool isDirty(); 104 bool isDirty();
105 105
106 bool writePixels(const SkImageInfo&, const void* pixels, size_t rowBytes, in t x, int y); 106 bool writePixels(const SkImageInfo&, const void* pixels, size_t rowBytes, in t x, int y);
107 107
108 void willOverwriteCanvas() { m_surface->willOverwriteCanvas(); } 108 void willOverwriteCanvas() { m_surface->willOverwriteCanvas(); }
109 109
110 bool getImageData(Multiply, const IntRect&, WTF::ArrayBufferContents&) const ; 110 bool getImageData(Multiply, const IntRect&, WTF::ArrayBufferContents&) const ;
111 111
112 void putByteArray(Multiply, const unsigned char* source, const IntSize& sour ceSize, const IntRect& sourceRect, const IntPoint& destPoint); 112 void putByteArray(Multiply, const unsigned char* source, const IntSize& sour ceSize, const IntRect& sourceRect, const IntPoint& destPoint);
113 113
114 AffineTransform baseTransform() const { return AffineTransform(); } 114 AffineTransform baseTransform() const { return AffineTransform(); }
115 WebLayer* platformLayer() const; 115 WebLayer* platformLayer() const;
116 116
117 // FIXME: current implementations of this method have the restriction that t hey only work 117 // FIXME: current implementations of this method have the restriction that t hey only work
118 // with textures that are RGB or RGBA format, UNSIGNED_BYTE type and level 0 , as specified in 118 // with textures that are RGB or RGBA format, UNSIGNED_BYTE type and level 0 , as specified in
119 // Extensions3D::canUseCopyTextureCHROMIUM(). 119 // Extensions3D::canUseCopyTextureCHROMIUM().
120 // Destroys the TEXTURE_2D binding for the active texture unit of the passed context 120 // Destroys the TEXTURE_2D binding for the active texture unit of the passed context
121 bool copyToPlatformTexture(WebGraphicsContext3D*, Platform3DObject, GLenum, GLenum, GLint, bool, bool); 121 bool copyToPlatformTexture(WebGraphicsContext3D*, Platform3DObject, GLenum, GLenum, GLint, bool, bool);
122 122
123 bool copyRenderingResultsFromDrawingBuffer(DrawingBuffer*, SourceDrawingBuff er); 123 bool copyRenderingResultsFromDrawingBuffer(DrawingBuffer*, SourceDrawingBuff er);
124 124
125 void flush(); // process deferred draw commands immediately 125 void flush(FlushReason); // process deferred draw commands immediately
126 void flushGpu(); // Like flush(), but flushes all the way down to the Gpu co ntext if the surface is accelerated 126 void flushGpu(FlushReason); // Like flush(), but flushes all the way down to the Gpu context if the surface is accelerated
127 127
128 void notifySurfaceInvalid(); 128 void notifySurfaceInvalid();
129 129
130 PassRefPtr<SkImage> newSkImageSnapshot(AccelerationHint) const; 130 PassRefPtr<SkImage> newSkImageSnapshot(AccelerationHint, SnapshotReason) con st;
131 PassRefPtr<Image> newImageSnapshot(AccelerationHint = PreferNoAcceleration) const; 131 PassRefPtr<Image> newImageSnapshot(AccelerationHint = PreferNoAcceleration, SnapshotReason = SnapshotReasonUnknown) const;
132 132
133 void draw(GraphicsContext&, const FloatRect&, const FloatRect*, SkXfermode:: Mode); 133 void draw(GraphicsContext&, const FloatRect&, const FloatRect*, SkXfermode:: Mode);
134 134
135 void updateGPUMemoryUsage() const; 135 void updateGPUMemoryUsage() const;
136 static intptr_t getGlobalGPUMemoryUsage() { return s_globalGPUMemoryUsage; } 136 static intptr_t getGlobalGPUMemoryUsage() { return s_globalGPUMemoryUsage; }
137 intptr_t getGPUMemoryUsage() { return m_gpuMemoryUsage; } 137 intptr_t getGPUMemoryUsage() { return m_gpuMemoryUsage; }
138 138
139 protected: 139 protected:
140 ImageBuffer(PassOwnPtr<ImageBufferSurface>); 140 ImageBuffer(PassOwnPtr<ImageBufferSurface>);
141 141
(...skipping 20 matching lines...) Expand all
162 int height() const { return m_size.height(); } 162 int height() const { return m_size.height(); }
163 int width() const { return m_size.width(); } 163 int width() const { return m_size.width(); }
164 164
165 const unsigned char* m_data; 165 const unsigned char* m_data;
166 const IntSize m_size; 166 const IntSize m_size;
167 }; 167 };
168 168
169 } // namespace blink 169 } // namespace blink
170 170
171 #endif // ImageBuffer_h 171 #endif // ImageBuffer_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698