| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2008, Google Inc. All rights reserved. | 2 * Copyright (c) 2008, 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 are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * 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 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 591 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 602 m_isSolidColor = true; | 602 m_isSolidColor = true; |
| 603 m_solidColor = Color(frame->bitmap().getColor(0, 0)); | 603 m_solidColor = Color(frame->bitmap().getColor(0, 0)); |
| 604 } | 604 } |
| 605 } | 605 } |
| 606 | 606 |
| 607 void BitmapImage::draw(GraphicsContext* ctxt, const FloatRect& dstRect, const Fl
oatRect& srcRect, ColorSpace colorSpace, CompositeOperator compositeOp, BlendMod
e blendMode) | 607 void BitmapImage::draw(GraphicsContext* ctxt, const FloatRect& dstRect, const Fl
oatRect& srcRect, ColorSpace colorSpace, CompositeOperator compositeOp, BlendMod
e blendMode) |
| 608 { | 608 { |
| 609 draw(ctxt, dstRect, srcRect, colorSpace, compositeOp, blendMode, DoNotRespec
tImageOrientation); | 609 draw(ctxt, dstRect, srcRect, colorSpace, compositeOp, blendMode, DoNotRespec
tImageOrientation); |
| 610 } | 610 } |
| 611 | 611 |
| 612 void BitmapImage::draw(GraphicsContext* ctxt, const FloatRect& dstRect, const Fl
oatRect& srcRect, ColorSpace colorSpace, CompositeOperator compositeOp, BlendMod
e, RespectImageOrientationEnum shouldRespectImageOrientation) | 612 void BitmapImage::draw(GraphicsContext* ctxt, const FloatRect& dstRect, const Fl
oatRect& srcRect, ColorSpace colorSpace, CompositeOperator compositeOp, BlendMod
e blendMode, RespectImageOrientationEnum shouldRespectImageOrientation) |
| 613 { | 613 { |
| 614 // Spin the animation to the correct frame before we try to draw it, so we | 614 // Spin the animation to the correct frame before we try to draw it, so we |
| 615 // don't draw an old frame and then immediately need to draw a newer one, | 615 // don't draw an old frame and then immediately need to draw a newer one, |
| 616 // causing flicker and wasting CPU. | 616 // causing flicker and wasting CPU. |
| 617 startAnimation(); | 617 startAnimation(); |
| 618 | 618 |
| 619 RefPtr<NativeImageSkia> bm = nativeImageForCurrentFrame(); | 619 RefPtr<NativeImageSkia> bm = nativeImageForCurrentFrame(); |
| 620 if (!bm) | 620 if (!bm) |
| 621 return; // It's too early and we don't have an image yet. | 621 return; // It's too early and we don't have an image yet. |
| 622 | 622 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 641 | 641 |
| 642 ctxt->concatCTM(orientation.transformFromDefault(normDstRect.size())); | 642 ctxt->concatCTM(orientation.transformFromDefault(normDstRect.size())); |
| 643 | 643 |
| 644 if (orientation.usesWidthAsHeight()) { | 644 if (orientation.usesWidthAsHeight()) { |
| 645 // The destination rect will have it's width and height already reve
rsed for the orientation of | 645 // The destination rect will have it's width and height already reve
rsed for the orientation of |
| 646 // the image, as it was needed for page layout, so we need to revers
e it back here. | 646 // the image, as it was needed for page layout, so we need to revers
e it back here. |
| 647 normDstRect = FloatRect(normDstRect.x(), normDstRect.y(), normDstRec
t.height(), normDstRect.width()); | 647 normDstRect = FloatRect(normDstRect.x(), normDstRect.y(), normDstRec
t.height(), normDstRect.width()); |
| 648 } | 648 } |
| 649 } | 649 } |
| 650 | 650 |
| 651 paintSkBitmap(ctxt, *bm, normSrcRect, normDstRect, WebCoreCompositeToSkiaCom
posite(compositeOp)); | 651 paintSkBitmap(ctxt, *bm, normSrcRect, normDstRect, WebCoreCompositeToSkiaCom
posite(compositeOp, blendMode)); |
| 652 | 652 |
| 653 if (ImageObserver* observer = imageObserver()) | 653 if (ImageObserver* observer = imageObserver()) |
| 654 observer->didDraw(this); | 654 observer->didDraw(this); |
| 655 } | 655 } |
| 656 | 656 |
| 657 } // namespace WebCore | 657 } // namespace WebCore |
| OLD | NEW |