Changeset 114150 in webkit
- Timestamp:
- Apr 13, 2012 11:20:25 AM (12 years ago)
- Location:
- trunk
- Files:
-
- 4 added
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r114148 r114150 1 2012-04-13 Dan Bernstein <mitz@apple.com> 2 3 <rdar://problem/10912680> Pixel access canvas APIs do not operate at backing store resolution 4 https://bugs.webkit.org/show_bug.cgi?id=83836 5 6 Reviewed by Darin Adler. 7 8 * fast/canvas/2d.imageDataHD-expected.txt: Added. 9 * fast/canvas/2d.imageDataHD.html: Added. 10 1 11 2012-04-13 Anders Carlsson <andersca@apple.com> 2 12 -
trunk/Source/WebCore/ChangeLog
r114147 r114150 1 2012-04-13 Dan Bernstein <mitz@apple.com> 2 3 <rdar://problem/10912680> Pixel access canvas APIs do not operate at backing store resolution 4 https://bugs.webkit.org/show_bug.cgi?id=83836 5 6 Reviewed by Darin Adler. 7 8 Test: fast/canvas/2d.imageDataHD.html 9 10 Added getImageDataHD and putImageDataHD functions to CanvasRenderingContext2D, as proposed in 11 <http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-March/035112.html>. The functions 12 are prefixed with “webkit” for now. 13 14 * html/canvas/CanvasRenderingContext2D.cpp: 15 (WebCore::CanvasRenderingContext2D::getImageData): Added this cover function that calls 16 through to getImageData with LogicalCoordinateSystem. 17 (WebCore::CanvasRenderingContext2D::webkitGetImageDataHD): Added. Calls through to 18 getImageData with BackingStoreCoordinateSystem. 19 (WebCore::CanvasRenderingContext2D::getImageData): Added a CoordinateSystem parameter to this 20 now-private function. It is passed through to ImageBuffer::getUnmultipliedImageData(). 21 (WebCore::CanvasRenderingContext2D::putImageData): Added this cover function that calls 22 through to putImageData with LogicalCoordinateSystem. 23 (WebCore::CanvasRenderingContext2D::webkitPutImageDataHD): Added. Calls through to 24 putImageData with BackingStoreCoordinateSystem. 25 (WebCore::CanvasRenderingContext2D::putImageData): Added a CoordinateSystem parameter to this 26 function. It is passed through to ImageBuffer::putByteArray, and used to compute the rect to 27 invalidate after the drawing operation. 28 * html/canvas/CanvasRenderingContext2D.h: 29 * html/canvas/CanvasRenderingContext2D.idl: Added webkitPutImageDataHD() and 30 webkitGetImageDataHD(). 31 * platform/graphics/ImageBuffer.h: Added a CoordinateSystem enum with the values 32 LogicalCoordinateSystem and BackingStoreCoordinateSystem. Added a CoordinateSystem parameter, 33 which defaults to LogicalCoordinateSystem, to getUnmultipliedImageData, 34 getPremultipliedImageData, and putByteArray. 35 * platform/graphics/cairo/ImageBufferCairo.cpp: 36 (WebCore::ImageBuffer::getUnmultipliedImageData): 37 (WebCore::ImageBuffer::getPremultipliedImageData): 38 (WebCore::ImageBuffer::putByteArray): 39 (WebCore::ImageBuffer::toDataURL): 40 * platform/graphics/cg/ImageBufferCG.cpp: 41 (WebCore::ImageBuffer::getUnmultipliedImageData): Now uses the CoordinateSystem parameter to 42 decide whether to ask ImageBufferDaya::getData() to apply the resolution scale or not. 43 (WebCore::ImageBuffer::getPremultipliedImageData): Ditto. 44 (WebCore::ImageBuffer::putByteArray): Now uses the CoordinateSystem parameter to decide 45 whether to maintain the resolution scale while drawing or not. 46 (WebCore::ImageBuffer::toDataURL): 47 * platform/graphics/gtk/ImageBufferGtk.cpp: 48 (WebCore::ImageBuffer::toDataURL): 49 * platform/graphics/qt/ImageBufferQt.cpp: 50 (WebCore::ImageBuffer::getUnmultipliedImageData): 51 (WebCore::ImageBuffer::getPremultipliedImageData): 52 (WebCore::ImageBuffer::putByteArray): 53 (WebCore::ImageBuffer::toDataURL): 54 * platform/graphics/skia/ImageBufferSkia.cpp: 55 (WebCore::ImageBuffer::getUnmultipliedImageData): 56 (WebCore::ImageBuffer::getPremultipliedImageData): 57 (WebCore::ImageBuffer::putByteArray): 58 (WebCore::ImageBuffer::toDataURL): 59 * platform/graphics/wince/ImageBufferWinCE.cpp: 60 (WebCore::ImageBuffer::getUnmultipliedImageData): 61 (WebCore::ImageBuffer::getPremultipliedImageData): 62 (WebCore::ImageBuffer::putByteArray): 63 (WebCore::ImageBuffer::toDataURL): 64 * platform/graphics/wx/ImageBufferWx.cpp: 65 (WebCore::ImageBuffer::getUnmultipliedImageData): 66 (WebCore::ImageBuffer::getPremultipliedImageData): 67 (WebCore::ImageBuffer::putByteArray): 68 (WebCore::ImageBuffer::toDataURL): 69 1 70 2012-04-12 Shawn Singh <shawnsingh@chromium.org> 2 71 -
trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp
r113457 r114150 52 52 #include "HTMLNames.h" 53 53 #include "HTMLVideoElement.h" 54 #include "ImageBuffer.h"55 54 #include "ImageData.h" 56 55 #include "KURL.h" … … 1790 1789 PassRefPtr<ImageData> CanvasRenderingContext2D::getImageData(float sx, float sy, float sw, float sh, ExceptionCode& ec) const 1791 1790 { 1791 return getImageData(ImageBuffer::LogicalCoordinateSystem, sx, sy, sw, sh, ec); 1792 } 1793 1794 PassRefPtr<ImageData> CanvasRenderingContext2D::webkitGetImageDataHD(float sx, float sy, float sw, float sh, ExceptionCode& ec) const 1795 { 1796 return getImageData(ImageBuffer::BackingStoreCoordinateSystem, sx, sy, sw, sh, ec); 1797 } 1798 1799 PassRefPtr<ImageData> CanvasRenderingContext2D::getImageData(ImageBuffer::CoordinateSystem coordinateSystem, float sx, float sy, float sw, float sh, ExceptionCode& ec) const 1800 { 1792 1801 if (!canvas()->originClean()) { 1793 1802 DEFINE_STATIC_LOCAL(String, consoleMessage, ("Unable to get image data from canvas because the canvas has been tainted by cross-origin data.")); … … 1796 1805 return 0; 1797 1806 } 1807 1798 1808 if (!sw || !sh) { 1799 1809 ec = INDEX_SIZE_ERR; … … 1813 1823 sh = -sh; 1814 1824 } 1815 1825 1816 1826 FloatRect logicalRect(sx, sy, sw, sh); 1817 1827 if (logicalRect.width() < 1) … … 1827 1837 return createEmptyImageData(imageDataRect.size()); 1828 1838 1829 RefPtr<ByteArray> byteArray = buffer->getUnmultipliedImageData(imageDataRect );1839 RefPtr<ByteArray> byteArray = buffer->getUnmultipliedImageData(imageDataRect, coordinateSystem); 1830 1840 if (!byteArray) 1831 1841 return 0; … … 1843 1853 } 1844 1854 1855 void CanvasRenderingContext2D::webkitPutImageDataHD(ImageData* data, float dx, float dy, ExceptionCode& ec) 1856 { 1857 if (!data) { 1858 ec = TYPE_MISMATCH_ERR; 1859 return; 1860 } 1861 webkitPutImageDataHD(data, dx, dy, 0, 0, data->width(), data->height(), ec); 1862 } 1863 1845 1864 void CanvasRenderingContext2D::putImageData(ImageData* data, float dx, float dy, float dirtyX, float dirtyY, 1865 float dirtyWidth, float dirtyHeight, ExceptionCode& ec) 1866 { 1867 putImageData(data, ImageBuffer::LogicalCoordinateSystem, dx, dy, dirtyX, dirtyY, dirtyWidth, dirtyHeight, ec); 1868 } 1869 1870 void CanvasRenderingContext2D::webkitPutImageDataHD(ImageData* data, float dx, float dy, float dirtyX, float dirtyY, float dirtyWidth, float dirtyHeight, ExceptionCode& ec) 1871 { 1872 putImageData(data, ImageBuffer::BackingStoreCoordinateSystem, dx, dy, dirtyX, dirtyY, dirtyWidth, dirtyHeight, ec); 1873 } 1874 1875 void CanvasRenderingContext2D::putImageData(ImageData* data, ImageBuffer::CoordinateSystem coordinateSystem, float dx, float dy, float dirtyX, float dirtyY, 1846 1876 float dirtyWidth, float dirtyHeight, ExceptionCode& ec) 1847 1877 { … … 1874 1904 IntRect destRect = enclosingIntRect(clipRect); 1875 1905 destRect.move(destOffset); 1876 destRect.intersect(IntRect(IntPoint(), buffer->internalSize()));1906 destRect.intersect(IntRect(IntPoint(), coordinateSystem == ImageBuffer::LogicalCoordinateSystem ? buffer->logicalSize() : buffer->internalSize())); 1877 1907 if (destRect.isEmpty()) 1878 1908 return; … … 1880 1910 sourceRect.move(-destOffset); 1881 1911 1882 buffer->putByteArray(Unmultiplied, data->data()->data(), IntSize(data->width(), data->height()), sourceRect, IntPoint(destOffset)); 1912 buffer->putByteArray(Unmultiplied, data->data()->data(), IntSize(data->width(), data->height()), sourceRect, IntPoint(destOffset), coordinateSystem); 1913 1914 if (coordinateSystem == ImageBuffer::BackingStoreCoordinateSystem) { 1915 FloatRect dirtyRect = destRect; 1916 dirtyRect.scale(1 / canvas()->deviceScaleFactor()); 1917 destRect = enclosingIntRect(dirtyRect); 1918 } 1883 1919 didDraw(destRect, CanvasDidDrawApplyNone); // ignore transform, shadow and clip 1884 1920 } -
trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.h
r113780 r114150 35 35 #include "Font.h" 36 36 #include "GraphicsTypes.h" 37 #include "ImageBuffer.h" 37 38 #include "Path.h" 38 39 #include "PlatformString.h" … … 198 199 PassRefPtr<ImageData> createImageData(float width, float height, ExceptionCode&) const; 199 200 PassRefPtr<ImageData> getImageData(float sx, float sy, float sw, float sh, ExceptionCode&) const; 201 PassRefPtr<ImageData> webkitGetImageDataHD(float sx, float sy, float sw, float sh, ExceptionCode&) const; 200 202 void putImageData(ImageData*, float dx, float dy, ExceptionCode&); 201 203 void putImageData(ImageData*, float dx, float dy, float dirtyX, float dirtyY, float dirtyWidth, float dirtyHeight, ExceptionCode&); 204 void webkitPutImageDataHD(ImageData*, float dx, float dy, ExceptionCode&); 205 void webkitPutImageDataHD(ImageData*, float dx, float dy, float dirtyX, float dirtyY, float dirtyWidth, float dirtyHeight, ExceptionCode&); 202 206 203 207 float webkitBackingStorePixelRatio() const { return canvas()->deviceScaleFactor(); } … … 314 318 void prepareGradientForDashboard(CanvasGradient* gradient) const; 315 319 320 PassRefPtr<ImageData> getImageData(ImageBuffer::CoordinateSystem, float sx, float sy, float sw, float sh, ExceptionCode&) const; 321 void putImageData(ImageData*, ImageBuffer::CoordinateSystem, float dx, float dy, float dirtyX, float dirtyY, float dirtyWidth, float dirtyHeight, ExceptionCode&); 322 316 323 Vector<State, 1> m_stateStack; 317 324 bool m_usesCSSCompatibilityParseMode; -
trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.idl
r113780 r114150 205 205 raises(DOMException); 206 206 207 void webkitPutImageDataHD(in ImageData imagedata, in float dx, in float dy) 208 raises(DOMException); 209 void webkitPutImageDataHD(in ImageData imagedata, in float dx, in float dy, in float dirtyX, in float dirtyY, in float dirtyWidth, in float dirtyHeight) 210 raises(DOMException); 211 207 212 CanvasPattern createPattern(in HTMLCanvasElement canvas, in [TreatNullAs=NullString] DOMString repetitionType) 208 213 raises (DOMException); … … 222 227 raises(DOMException); 223 228 229 ImageData webkitGetImageDataHD(in [Optional=DefaultIsUndefined] float sx, in [Optional=DefaultIsUndefined] float sy, 230 in [Optional=DefaultIsUndefined] float sw, in [Optional=DefaultIsUndefined] float sh) 231 raises(DOMException); 232 224 233 readonly attribute float webkitBackingStorePixelRatio; 225 234 }; -
trunk/Source/WebCore/platform/graphics/ImageBuffer.h
r113457 r114150 97 97 PassRefPtr<Image> copyImage(BackingStoreCopy = CopyBackingStore) const; 98 98 99 PassRefPtr<ByteArray> getUnmultipliedImageData(const IntRect&) const; 100 PassRefPtr<ByteArray> getPremultipliedImageData(const IntRect&) const; 99 enum CoordinateSystem { LogicalCoordinateSystem, BackingStoreCoordinateSystem }; 101 100 102 void putByteArray(Multiply multiplied, ByteArray*, const IntSize& sourceSize, const IntRect& sourceRect, const IntPoint& destPoint); 101 PassRefPtr<ByteArray> getUnmultipliedImageData(const IntRect&, CoordinateSystem = LogicalCoordinateSystem) const; 102 PassRefPtr<ByteArray> getPremultipliedImageData(const IntRect&, CoordinateSystem = LogicalCoordinateSystem) const; 103 104 void putByteArray(Multiply multiplied, ByteArray*, const IntSize& sourceSize, const IntRect& sourceRect, const IntPoint& destPoint, CoordinateSystem = LogicalCoordinateSystem); 103 105 104 106 void convertToLuminanceMask(); 105 107 106 String toDataURL(const String& mimeType, const double* quality = 0 ) const;108 String toDataURL(const String& mimeType, const double* quality = 0, CoordinateSystem = LogicalCoordinateSystem) const; 107 109 #if !USE(CG) 108 110 AffineTransform baseTransform() const { return AffineTransform(); } -
trunk/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp
r113486 r114150 191 191 } 192 192 193 PassRefPtr<ByteArray> ImageBuffer::getUnmultipliedImageData(const IntRect& rect ) const193 PassRefPtr<ByteArray> ImageBuffer::getUnmultipliedImageData(const IntRect& rect, CoordinateSystem) const 194 194 { 195 195 return getImageData<Unmultiplied>(rect, m_data, m_size); 196 196 } 197 197 198 PassRefPtr<ByteArray> ImageBuffer::getPremultipliedImageData(const IntRect& rect ) const198 PassRefPtr<ByteArray> ImageBuffer::getPremultipliedImageData(const IntRect& rect, CoordinateSystem) const 199 199 { 200 200 return getImageData<Premultiplied>(rect, m_data, m_size); 201 201 } 202 202 203 void ImageBuffer::putByteArray(Multiply multiplied, ByteArray* source, const IntSize& sourceSize, const IntRect& sourceRect, const IntPoint& destPoint )203 void ImageBuffer::putByteArray(Multiply multiplied, ByteArray* source, const IntSize& sourceSize, const IntRect& sourceRect, const IntPoint& destPoint, CoordinateSystem) 204 204 { 205 205 ASSERT(cairo_surface_get_type(m_data.m_surface) == CAIRO_SURFACE_TYPE_IMAGE); … … 266 266 } 267 267 268 String ImageBuffer::toDataURL(const String& mimeType, const double* ) const268 String ImageBuffer::toDataURL(const String& mimeType, const double*, CoordinateSystem) const 269 269 { 270 270 cairo_surface_t* image = cairo_get_target(context()->platformContext()->cr()); -
trunk/Source/WebCore/platform/graphics/cg/ImageBufferCG.cpp
r113457 r114150 307 307 } 308 308 309 PassRefPtr<ByteArray> ImageBuffer::getUnmultipliedImageData(const IntRect& rect ) const309 PassRefPtr<ByteArray> ImageBuffer::getUnmultipliedImageData(const IntRect& rect, CoordinateSystem coordinateSystem) const 310 310 { 311 311 if (m_context->isAcceleratedContext()) { … … 315 315 #endif 316 316 } 317 return m_data.getData(rect, internalSize(), m_context->isAcceleratedContext(), true, m_resolutionScale);318 } 319 320 PassRefPtr<ByteArray> ImageBuffer::getPremultipliedImageData(const IntRect& rect ) const317 return m_data.getData(rect, internalSize(), m_context->isAcceleratedContext(), true, coordinateSystem == LogicalCoordinateSystem ? m_resolutionScale : 1); 318 } 319 320 PassRefPtr<ByteArray> ImageBuffer::getPremultipliedImageData(const IntRect& rect, CoordinateSystem coordinateSystem) const 321 321 { 322 322 if (m_context->isAcceleratedContext()) { … … 326 326 #endif 327 327 } 328 return m_data.getData(rect, internalSize(), m_context->isAcceleratedContext(), false, m_resolutionScale);329 } 330 331 void ImageBuffer::putByteArray(Multiply multiplied, ByteArray* source, const IntSize& sourceSize, const IntRect& sourceRect, const IntPoint& destPoint )328 return m_data.getData(rect, internalSize(), m_context->isAcceleratedContext(), false, coordinateSystem == LogicalCoordinateSystem ? m_resolutionScale : 1); 329 } 330 331 void ImageBuffer::putByteArray(Multiply multiplied, ByteArray* source, const IntSize& sourceSize, const IntRect& sourceRect, const IntPoint& destPoint, CoordinateSystem coordinateSystem) 332 332 { 333 333 if (!m_context->isAcceleratedContext()) { 334 m_data.putData(source, sourceSize, sourceRect, destPoint, internalSize(), m_context->isAcceleratedContext(), multiplied == Unmultiplied, m_resolutionScale);334 m_data.putData(source, sourceSize, sourceRect, destPoint, internalSize(), m_context->isAcceleratedContext(), multiplied == Unmultiplied, coordinateSystem == LogicalCoordinateSystem ? m_resolutionScale : 1); 335 335 return; 336 336 } … … 348 348 CGContextRef destContext = context()->platformContext(); 349 349 CGContextSaveGState(destContext); 350 CGContextConcatCTM(destContext, AffineTransform(wkGetUserToBaseCTM(destContext)).inverse()); 350 if (coordinateSystem == LogicalCoordinateSystem) 351 CGContextConcatCTM(destContext, AffineTransform(wkGetUserToBaseCTM(destContext)).inverse()); 352 else 353 CGContextConcatCTM(destContext, AffineTransform(CGContextGetCTM(destContext)).inverse()); 351 354 wkCGContextResetClip(destContext); 352 355 CGContextSetInterpolationQuality(destContext, kCGInterpolationNone); … … 356 359 357 360 // Draw the image in CG coordinate space 358 IntPoint destPointInCGCoords(destPoint.x() + sourceRect.x(), logicalSize().height() - (destPoint.y()+sourceRect.y()) - sourceRect.height());361 IntPoint destPointInCGCoords(destPoint.x() + sourceRect.x(), (coordinateSystem == LogicalCoordinateSystem ? logicalSize() : internalSize()).height() - (destPoint.y() + sourceRect.y()) - sourceRect.height()); 359 362 IntRect destRectInCGCoords(destPointInCGCoords, sourceCopySize); 360 363 RetainPtr<CGImageRef> sourceCopyImage(AdoptCF, sourceCopy->copyNativeImage()); … … 431 434 } 432 435 433 String ImageBuffer::toDataURL(const String& mimeType, const double* quality ) const436 String ImageBuffer::toDataURL(const String& mimeType, const double* quality, CoordinateSystem) const 434 437 { 435 438 ASSERT(MIMETypeRegistry::isSupportedImageMIMETypeForEncoding(mimeType)); -
trunk/Source/WebCore/platform/graphics/gtk/ImageBufferGtk.cpp
r113833 r114150 55 55 } 56 56 57 String ImageBuffer::toDataURL(const String& mimeType, const double* quality ) const57 String ImageBuffer::toDataURL(const String& mimeType, const double* quality, CoordinateSystem) const 58 58 { 59 59 ASSERT(MIMETypeRegistry::isSupportedImageMIMETypeForEncoding(mimeType)); -
trunk/Source/WebCore/platform/graphics/qt/ImageBufferQt.cpp
r113949 r114150 272 272 } 273 273 274 PassRefPtr<ByteArray> ImageBuffer::getUnmultipliedImageData(const IntRect& rect ) const274 PassRefPtr<ByteArray> ImageBuffer::getUnmultipliedImageData(const IntRect& rect, CoordinateSystem) const 275 275 { 276 276 return getImageData<Unmultiplied>(rect, m_data, m_size); 277 277 } 278 278 279 PassRefPtr<ByteArray> ImageBuffer::getPremultipliedImageData(const IntRect& rect ) const279 PassRefPtr<ByteArray> ImageBuffer::getPremultipliedImageData(const IntRect& rect, CoordinateSystem) const 280 280 { 281 281 return getImageData<Premultiplied>(rect, m_data, m_size); … … 298 298 } 299 299 300 void ImageBuffer::putByteArray(Multiply multiplied, ByteArray* source, const IntSize& sourceSize, const IntRect& sourceRect, const IntPoint& destPoint )300 void ImageBuffer::putByteArray(Multiply multiplied, ByteArray* source, const IntSize& sourceSize, const IntRect& sourceRect, const IntPoint& destPoint, CoordinateSystem) 301 301 { 302 302 ASSERT(sourceRect.width() > 0); … … 392 392 } 393 393 394 String ImageBuffer::toDataURL(const String& mimeType, const double* quality ) const394 String ImageBuffer::toDataURL(const String& mimeType, const double* quality, CoordinateSystem) const 395 395 { 396 396 ASSERT(MIMETypeRegistry::isSupportedImageMIMETypeForEncoding(mimeType)); -
trunk/Source/WebCore/platform/graphics/skia/ImageBufferSkia.cpp
r113828 r114150 263 263 } 264 264 265 PassRefPtr<ByteArray> ImageBuffer::getUnmultipliedImageData(const IntRect& rect ) const265 PassRefPtr<ByteArray> ImageBuffer::getUnmultipliedImageData(const IntRect& rect, CoordinateSystem) const 266 266 { 267 267 return getImageData<Unmultiplied>(rect, context()->platformContext()->canvas(), m_size); 268 268 } 269 269 270 PassRefPtr<ByteArray> ImageBuffer::getPremultipliedImageData(const IntRect& rect ) const270 PassRefPtr<ByteArray> ImageBuffer::getPremultipliedImageData(const IntRect& rect, CoordinateSystem) const 271 271 { 272 272 return getImageData<Premultiplied>(rect, context()->platformContext()->canvas(), m_size); 273 273 } 274 274 275 void ImageBuffer::putByteArray(Multiply multiplied, ByteArray* source, const IntSize& sourceSize, const IntRect& sourceRect, const IntPoint& destPoint )275 void ImageBuffer::putByteArray(Multiply multiplied, ByteArray* source, const IntSize& sourceSize, const IntRect& sourceRect, const IntPoint& destPoint, CoordinateSystem) 276 276 { 277 277 SkCanvas* canvas = context()->platformContext()->canvas(); … … 344 344 } 345 345 346 String ImageBuffer::toDataURL(const String& mimeType, const double* quality ) const346 String ImageBuffer::toDataURL(const String& mimeType, const double* quality, CoordinateSystem) const 347 347 { 348 348 ASSERT(MIMETypeRegistry::isSupportedImageMIMETypeForEncoding(mimeType)); -
trunk/Source/WebCore/platform/graphics/wince/ImageBufferWinCE.cpp
r113486 r114150 171 171 } 172 172 173 PassRefPtr<ByteArray> ImageBuffer::getUnmultipliedImageData(const IntRect& rect ) const173 PassRefPtr<ByteArray> ImageBuffer::getUnmultipliedImageData(const IntRect& rect, CoordinateSystem) const 174 174 { 175 175 return getImageData<false>(rect, m_data.m_bitmap.get()); 176 176 } 177 177 178 PassRefPtr<ByteArray> ImageBuffer::getPremultipliedImageData(const IntRect& rect ) const178 PassRefPtr<ByteArray> ImageBuffer::getPremultipliedImageData(const IntRect& rect, CoordinateSystem) const 179 179 { 180 180 return getImageData<true>(rect, m_data.m_bitmap.get()); 181 181 } 182 182 183 void ImageBuffer::putByteArray(Multiply multiplied, ByteArray* source, const IntSize& sourceSize, const IntRect& sourceRect, const IntPoint& destPoint )183 void ImageBuffer::putByteArray(Multiply multiplied, ByteArray* source, const IntSize& sourceSize, const IntRect& sourceRect, const IntPoint& destPoint, CoordinateSystem) 184 184 { 185 185 SharedBitmap* bitmap = m_data.m_bitmap.get(); … … 232 232 } 233 233 234 String ImageBuffer::toDataURL(const String& mimeType, const double* ) const234 String ImageBuffer::toDataURL(const String& mimeType, const double*, CoordinateSystem) const 235 235 { 236 236 if (!m_data.m_bitmap->bytes()) -
trunk/Source/WebCore/platform/graphics/wx/ImageBufferWx.cpp
r113486 r114150 123 123 } 124 124 125 PassRefPtr<ByteArray> ImageBuffer::getUnmultipliedImageData(const IntRect& rect ) const125 PassRefPtr<ByteArray> ImageBuffer::getUnmultipliedImageData(const IntRect& rect, CoordinateSystem) const 126 126 { 127 127 notImplemented(); … … 129 129 } 130 130 131 PassRefPtr<ByteArray> ImageBuffer::getPremultipliedImageData(const IntRect& rect ) const131 PassRefPtr<ByteArray> ImageBuffer::getPremultipliedImageData(const IntRect& rect, CoordinateSystem) const 132 132 { 133 133 notImplemented(); … … 135 135 } 136 136 137 void ImageBuffer::putByteArray(Multiply multiplied, ByteArray* source, const IntSize& sourceSize, const IntRect& sourceRect, const IntPoint& destPoint )137 void ImageBuffer::putByteArray(Multiply multiplied, ByteArray* source, const IntSize& sourceSize, const IntRect& sourceRect, const IntPoint& destPoint, CoordinateSystem) 138 138 { 139 139 notImplemented(); 140 140 } 141 141 142 String ImageBuffer::toDataURL(const String& mimeType, const double* ) const142 String ImageBuffer::toDataURL(const String& mimeType, const double*, CoordinateSystem) const 143 143 { 144 144 notImplemented();
Note: See TracChangeset
for help on using the changeset viewer.