| OLD | NEW | 
|   1 /* |   1 /* | 
|   2  * Copyright (C) 2008, 2009, 2010, 2012 Apple Inc. All rights reserved. |   2  * Copyright (C) 2008, 2009, 2010, 2012 Apple 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  * 1. Redistributions of source code must retain the above copyright |   7  * 1. Redistributions of source code must retain the above copyright | 
|   8  *    notice, this list of conditions and the following disclaimer. |   8  *    notice, this list of conditions and the following disclaimer. | 
|   9  * 2. Redistributions in binary form must reproduce the above copyright |   9  * 2. Redistributions in binary form must reproduce the above copyright | 
|  10  *    notice, this list of conditions and the following disclaimer in the |  10  *    notice, this list of conditions and the following disclaimer in the | 
|  11  *    documentation and/or other materials provided with the distribution. |  11  *    documentation and/or other materials provided with the distribution. | 
|  12  * |  12  * | 
|  13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' |  13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' | 
|  14  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, |  14  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, | 
|  15  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |  15  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | 
|  16  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS |  16  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS | 
|  17  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |  17  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | 
|  18  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |  18  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | 
|  19  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |  19  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | 
|  20  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |  20  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | 
|  21  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |  21  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | 
|  22  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF |  22  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF | 
|  23  * THE POSSIBILITY OF SUCH DAMAGE. |  23  * THE POSSIBILITY OF SUCH DAMAGE. | 
|  24  */ |  24  */ | 
|  25  |  25  | 
|  26 #include "config.h" |  26 #include "config.h" | 
|  27 #include "platform/graphics/GradientGeneratedImage.h" |  27 #include "platform/graphics/GradientGeneratedImage.h" | 
|  28  |  28  | 
|  29 #include "platform/geometry/FloatRect.h" |  29 #include "platform/geometry/FloatRect.h" | 
|  30 #include "platform/graphics/GraphicsContextStateSaver.h" |  30 #include "platform/graphics/GraphicsContext.h" | 
|  31  |  31  | 
|  32 namespace blink { |  32 namespace blink { | 
|  33  |  33  | 
|  34 void GradientGeneratedImage::draw(SkCanvas* canvas, const SkPaint& paint, const 
    FloatRect& destRect, const FloatRect& srcRect, RespectImageOrientationEnum, Imag
    eClampingMode) |  34 void GradientGeneratedImage::draw(SkCanvas* canvas, const SkPaint& paint, const 
    FloatRect& destRect, const FloatRect& srcRect, RespectImageOrientationEnum, Imag
    eClampingMode) | 
|  35 { |  35 { | 
|  36     SkAutoCanvasRestore ar(canvas, true); |  36     SkAutoCanvasRestore ar(canvas, true); | 
|  37     canvas->clipRect(destRect); |  37     canvas->clipRect(destRect); | 
|  38     canvas->translate(destRect.x(), destRect.y()); |  38     canvas->translate(destRect.x(), destRect.y()); | 
|  39     if (destRect.size() != srcRect.size()) |  39     if (destRect.size() != srcRect.size()) | 
|  40         canvas->scale(destRect.width() / srcRect.width(), destRect.height() / sr
    cRect.height()); |  40         canvas->scale(destRect.width() / srcRect.width(), destRect.height() / sr
    cRect.height()); | 
|  41     canvas->translate(-srcRect.x(), -srcRect.y()); |  41     canvas->translate(-srcRect.x(), -srcRect.y()); | 
|  42     SkPaint gradientPaint(paint); |  42     SkPaint gradientPaint(paint); | 
|  43     gradientPaint.setShader(m_gradient->shader()); |  43     gradientPaint.setShader(m_gradient->shader()); | 
|  44     canvas->drawRect(SkRect::MakeWH(m_size.width(), m_size.height()), gradientPa
    int); |  44     canvas->drawRect(SkRect::MakeWH(m_size.width(), m_size.height()), gradientPa
    int); | 
|  45 } |  45 } | 
|  46  |  46  | 
|  47 void GradientGeneratedImage::drawTile(GraphicsContext* context, const FloatRect&
     srcRect) |  47 void GradientGeneratedImage::drawTile(GraphicsContext* context, const FloatRect&
     srcRect) | 
|  48 { |  48 { | 
|  49     context->setFillGradient(m_gradient); |  49     context->setFillGradient(m_gradient); | 
|  50     context->fillRect(srcRect); |  50     context->fillRect(srcRect); | 
|  51 } |  51 } | 
|  52  |  52  | 
|  53 } // namespace blink |  53 } // namespace blink | 
| OLD | NEW |