OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll <knoll@kde.org> | 2 * Copyright (C) 1999 Lars Knoll <knoll@kde.org> |
3 * Copyright (C) 1999 Antti Koivisto <koivisto@kde.org> | 3 * Copyright (C) 1999 Antti Koivisto <koivisto@kde.org> |
4 * Copyright (C) 2006 Allan Sandfeld Jensen <kde@carewolf.com> | 4 * Copyright (C) 2006 Allan Sandfeld Jensen <kde@carewolf.com> |
5 * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com> | 5 * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com> |
6 * Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010 Apple Inc. All rights reserv
ed. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010 Apple Inc. All rights reserv
ed. |
7 * Copyright (C) 2010 Patrick Gansterer <paroga@paroga.com> | 7 * Copyright (C) 2010 Patrick Gansterer <paroga@paroga.com> |
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 11 matching lines...) Expand all Loading... |
22 * Boston, MA 02110-1301, USA. | 22 * Boston, MA 02110-1301, USA. |
23 * | 23 * |
24 */ | 24 */ |
25 | 25 |
26 #ifndef RenderImageResource_h | 26 #ifndef RenderImageResource_h |
27 #define RenderImageResource_h | 27 #define RenderImageResource_h |
28 | 28 |
29 #include "core/fetch/ImageResource.h" | 29 #include "core/fetch/ImageResource.h" |
30 #include "core/fetch/ResourcePtr.h" | 30 #include "core/fetch/ResourcePtr.h" |
31 #include "core/rendering/style/StyleImage.h" | 31 #include "core/rendering/style/StyleImage.h" |
32 #include "platform/geometry/LayoutSize.h" | |
33 #include "platform/graphics/Image.h" | |
34 | 32 |
35 namespace WebCore { | 33 namespace WebCore { |
36 | 34 |
37 class RenderObject; | 35 class RenderObject; |
38 | 36 |
39 class RenderImageResource { | 37 class RenderImageResource { |
40 WTF_MAKE_NONCOPYABLE(RenderImageResource); WTF_MAKE_FAST_ALLOCATED; | 38 WTF_MAKE_NONCOPYABLE(RenderImageResource); WTF_MAKE_FAST_ALLOCATED; |
41 public: | 39 public: |
42 virtual ~RenderImageResource(); | 40 virtual ~RenderImageResource(); |
43 | 41 |
44 static PassOwnPtr<RenderImageResource> create() | 42 static PassOwnPtr<RenderImageResource> create() |
45 { | 43 { |
46 return adoptPtr(new RenderImageResource); | 44 return adoptPtr(new RenderImageResource); |
47 } | 45 } |
48 | 46 |
49 virtual void initialize(RenderObject*); | 47 virtual void initialize(RenderObject*); |
50 virtual void shutdown(); | 48 virtual void shutdown(); |
51 | 49 |
52 void setImageResource(ImageResource*); | 50 void setImageResource(ImageResource*); |
53 ImageResource* cachedImage() const { return m_cachedImage.get(); } | 51 ImageResource* cachedImage() const { return m_cachedImage.get(); } |
54 virtual bool hasImage() const { return m_cachedImage; } | 52 virtual bool hasImage() const { return m_cachedImage; } |
55 | 53 |
56 void resetAnimation(); | 54 void resetAnimation(); |
57 | 55 |
58 virtual PassRefPtr<Image> image(int /* width */ = 0, int /* height */ = 0) c
onst { return m_cachedImage ? m_cachedImage->imageForRenderer(m_renderer) : null
Image(); } | 56 virtual PassRefPtr<Image> image(int /* width */ = 0, int /* height */ = 0) c
onst |
| 57 { |
| 58 return m_cachedImage ? m_cachedImage->imageForRenderer(m_renderer) : Ima
ge::nullImage(); |
| 59 } |
59 virtual bool errorOccurred() const { return m_cachedImage && m_cachedImage->
errorOccurred(); } | 60 virtual bool errorOccurred() const { return m_cachedImage && m_cachedImage->
errorOccurred(); } |
60 | 61 |
61 virtual void setContainerSizeForRenderer(const IntSize&); | 62 virtual void setContainerSizeForRenderer(const IntSize&); |
62 virtual bool usesImageContainerSize() const { return m_cachedImage ? m_cache
dImage->usesImageContainerSize() : false; } | 63 virtual bool usesImageContainerSize() const { return m_cachedImage ? m_cache
dImage->usesImageContainerSize() : false; } |
63 virtual bool imageHasRelativeWidth() const { return m_cachedImage ? m_cached
Image->imageHasRelativeWidth() : false; } | 64 virtual bool imageHasRelativeWidth() const { return m_cachedImage ? m_cached
Image->imageHasRelativeWidth() : false; } |
64 virtual bool imageHasRelativeHeight() const { return m_cachedImage ? m_cache
dImage->imageHasRelativeHeight() : false; } | 65 virtual bool imageHasRelativeHeight() const { return m_cachedImage ? m_cache
dImage->imageHasRelativeHeight() : false; } |
65 | 66 |
66 virtual LayoutSize imageSize(float multiplier) const { return getImageSize(m
ultiplier, ImageResource::NormalSize); } | 67 virtual LayoutSize imageSize(float multiplier) const { return getImageSize(m
ultiplier, ImageResource::NormalSize); } |
67 virtual LayoutSize intrinsicSize(float multiplier) const { return getImageSi
ze(multiplier, ImageResource::IntrinsicSize); } | 68 virtual LayoutSize intrinsicSize(float multiplier) const { return getImageSi
ze(multiplier, ImageResource::IntrinsicSize); } |
68 | 69 |
69 virtual WrappedImagePtr imagePtr() const { return m_cachedImage.get(); } | 70 virtual WrappedImagePtr imagePtr() const { return m_cachedImage.get(); } |
70 | 71 |
71 protected: | 72 protected: |
72 RenderImageResource(); | 73 RenderImageResource(); |
73 RenderObject* m_renderer; | 74 RenderObject* m_renderer; |
74 ResourcePtr<ImageResource> m_cachedImage; | 75 ResourcePtr<ImageResource> m_cachedImage; |
75 | 76 |
76 private: | 77 private: |
77 static Image* nullImage(); | |
78 LayoutSize getImageSize(float multiplier, ImageResource::SizeType) const; | 78 LayoutSize getImageSize(float multiplier, ImageResource::SizeType) const; |
79 }; | 79 }; |
80 | 80 |
81 } // namespace WebCore | 81 } // namespace WebCore |
82 | 82 |
83 #endif // RenderImage_h | 83 #endif // RenderImage_h |
OLD | NEW |