OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005, 2006, 2007 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2004, 2005, 2006, 2007 Nikolas Zimmermann <zimmermann@kde.org> |
3 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org> |
4 * Copyright (C) 2005 Eric Seidel <eric@webkit.org> | 4 * Copyright (C) 2005 Eric Seidel <eric@webkit.org> |
5 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org> | 5 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org> |
6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
7 * Copyright (C) 2013 Google Inc. All rights reserved. | 7 * Copyright (C) 2013 Google Inc. All rights reserved. |
8 * | 8 * |
9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 return false; | 182 return false; |
183 | 183 |
184 RefPtr<Image> image = in->asImageBuffer()->copyImage(DontCopyBackingStore); | 184 RefPtr<Image> image = in->asImageBuffer()->copyImage(DontCopyBackingStore); |
185 RefPtr<NativeImageSkia> nativeImage = image->nativeImageForCurrentFrame(); | 185 RefPtr<NativeImageSkia> nativeImage = image->nativeImageForCurrentFrame(); |
186 if (!nativeImage) | 186 if (!nativeImage) |
187 return false; | 187 return false; |
188 | 188 |
189 unsigned char rValues[256], gValues[256], bValues[256], aValues[256]; | 189 unsigned char rValues[256], gValues[256], bValues[256], aValues[256]; |
190 getValues(rValues, gValues, bValues, aValues); | 190 getValues(rValues, gValues, bValues, aValues); |
191 | 191 |
| 192 SkRect skSrc = requestedRegionOfInputImageData(in->absolutePaintRect()); |
| 193 SkRect skDst = IntRect(IntPoint(), absolutePaintRect().size()); |
192 SkPaint paint; | 194 SkPaint paint; |
193 paint.setColorFilter(SkTableColorFilter::CreateARGB(aValues, rValues, gValue
s, bValues))->unref(); | 195 paint.setColorFilter(SkTableColorFilter::CreateARGB(aValues, rValues, gValue
s, bValues))->unref(); |
194 paint.setXfermodeMode(SkXfermode::kSrc_Mode); | 196 paint.setXfermodeMode(SkXfermode::kSrc_Mode); |
195 resultImage->context()->drawBitmap(nativeImage->bitmap(), 0, 0, &paint); | 197 resultImage->context()->drawBitmapRect(nativeImage->bitmap(), &skSrc, skDst,
&paint); |
196 | 198 |
197 return true; | 199 return true; |
198 } | 200 } |
199 | 201 |
200 PassRefPtr<SkImageFilter> FEComponentTransfer::createImageFilter(SkiaImageFilter
Builder* builder) | 202 PassRefPtr<SkImageFilter> FEComponentTransfer::createImageFilter(SkiaImageFilter
Builder* builder) |
201 { | 203 { |
202 RefPtr<SkImageFilter> input(builder->build(inputEffect(0), operatingColorSpa
ce())); | 204 RefPtr<SkImageFilter> input(builder->build(inputEffect(0), operatingColorSpa
ce())); |
203 | 205 |
204 unsigned char rValues[256], gValues[256], bValues[256], aValues[256]; | 206 unsigned char rValues[256], gValues[256], bValues[256], aValues[256]; |
205 getValues(rValues, gValues, bValues, aValues); | 207 getValues(rValues, gValues, bValues, aValues); |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
272 ts << "{green: " << m_greenFunc << "}\n"; | 274 ts << "{green: " << m_greenFunc << "}\n"; |
273 writeIndent(ts, indent + 2); | 275 writeIndent(ts, indent + 2); |
274 ts << "{blue: " << m_blueFunc << "}\n"; | 276 ts << "{blue: " << m_blueFunc << "}\n"; |
275 writeIndent(ts, indent + 2); | 277 writeIndent(ts, indent + 2); |
276 ts << "{alpha: " << m_alphaFunc << "}]\n"; | 278 ts << "{alpha: " << m_alphaFunc << "}]\n"; |
277 inputEffect(0)->externalRepresentation(ts, indent + 1); | 279 inputEffect(0)->externalRepresentation(ts, indent + 1); |
278 return ts; | 280 return ts; |
279 } | 281 } |
280 | 282 |
281 } // namespace WebCore | 283 } // namespace WebCore |
OLD | NEW |