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

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

Issue 1577843002: Fix SVG sizing in crossfaded images (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Adjust test to make it more obvious when it fails Created 4 years, 11 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) 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2011 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
(...skipping 18 matching lines...) Expand all
29 #include "platform/geometry/IntSize.h" 29 #include "platform/geometry/IntSize.h"
30 #include "platform/graphics/GeneratedImage.h" 30 #include "platform/graphics/GeneratedImage.h"
31 #include "platform/graphics/Image.h" 31 #include "platform/graphics/Image.h"
32 #include "platform/graphics/ImageObserver.h" 32 #include "platform/graphics/ImageObserver.h"
33 #include "wtf/RefPtr.h" 33 #include "wtf/RefPtr.h"
34 34
35 namespace blink { 35 namespace blink {
36 36
37 class PLATFORM_EXPORT CrossfadeGeneratedImage final : public GeneratedImage { 37 class PLATFORM_EXPORT CrossfadeGeneratedImage final : public GeneratedImage {
38 public: 38 public:
39 static PassRefPtr<CrossfadeGeneratedImage> create(Image* fromImage, Image* t oImage, float percentage, IntSize crossfadeSize, const IntSize& size) 39 static PassRefPtr<CrossfadeGeneratedImage> create(PassRefPtr<Image> fromImag e, PassRefPtr<Image> toImage, float percentage, IntSize crossfadeSize, const Int Size& size)
40 { 40 {
41 return adoptRef(new CrossfadeGeneratedImage(fromImage, toImage, percenta ge, crossfadeSize, size)); 41 return adoptRef(new CrossfadeGeneratedImage(fromImage, toImage, percenta ge, crossfadeSize, size));
42 } 42 }
43 43
44 bool usesContainerSize() const override { return false; } 44 bool usesContainerSize() const override { return false; }
45 bool hasRelativeWidth() const override { return false; } 45 bool hasRelativeWidth() const override { return false; }
46 bool hasRelativeHeight() const override { return false; } 46 bool hasRelativeHeight() const override { return false; }
47 47
48 IntSize size() const override { return m_crossfadeSize; } 48 IntSize size() const override { return m_crossfadeSize; }
49 49
50 protected: 50 protected:
51 void draw(SkCanvas*, const SkPaint&, const FloatRect&, const FloatRect&, Res pectImageOrientationEnum, ImageClampingMode) override; 51 void draw(SkCanvas*, const SkPaint&, const FloatRect&, const FloatRect&, Res pectImageOrientationEnum, ImageClampingMode) override;
52 void drawTile(GraphicsContext&, const FloatRect&) final; 52 void drawTile(GraphicsContext&, const FloatRect&) final;
53 53
54 CrossfadeGeneratedImage(Image* fromImage, Image* toImage, float percentage, IntSize crossfadeSize, const IntSize&); 54 CrossfadeGeneratedImage(PassRefPtr<Image> fromImage, PassRefPtr<Image> toIma ge, float percentage, IntSize crossfadeSize, const IntSize&);
55 55
56 private: 56 private:
57 void drawCrossfade(SkCanvas*, const SkPaint&, ImageClampingMode); 57 void drawCrossfade(SkCanvas*, const SkPaint&, ImageClampingMode);
58 58
59 Image* m_fromImage; 59 RefPtr<Image> m_fromImage;
60 Image* m_toImage; 60 RefPtr<Image> m_toImage;
61 61
62 float m_percentage; 62 float m_percentage;
63 IntSize m_crossfadeSize; 63 IntSize m_crossfadeSize;
64 }; 64 };
65 65
66 } // namespace blink 66 } // namespace blink
67 67
68 #endif 68 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698