OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) |
3 * (C) 2000 Antti Koivisto (koivisto@kde.org) | 3 * (C) 2000 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2000 Dirk Mueller (mueller@kde.org) | 4 * (C) 2000 Dirk Mueller (mueller@kde.org) |
5 * Copyright (C) 2003, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. | 5 * Copyright (C) 2003, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. |
6 * | 6 * |
7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
(...skipping 20 matching lines...) Expand all Loading... |
31 #include "platform/graphics/Image.h" | 31 #include "platform/graphics/Image.h" |
32 #include "wtf/PassRefPtr.h" | 32 #include "wtf/PassRefPtr.h" |
33 #include "wtf/RefCounted.h" | 33 #include "wtf/RefCounted.h" |
34 #include "wtf/RefPtr.h" | 34 #include "wtf/RefPtr.h" |
35 | 35 |
36 namespace blink { | 36 namespace blink { |
37 | 37 |
38 class ImageResource; | 38 class ImageResource; |
39 class CSSValue; | 39 class CSSValue; |
40 class LayoutObject; | 40 class LayoutObject; |
| 41 class SVGImage; |
41 | 42 |
42 typedef void* WrappedImagePtr; | 43 typedef void* WrappedImagePtr; |
43 | 44 |
44 class CORE_EXPORT StyleImage : public RefCountedWillBeGarbageCollectedFinalized<
StyleImage> { | 45 class CORE_EXPORT StyleImage : public RefCountedWillBeGarbageCollectedFinalized<
StyleImage> { |
45 public: | 46 public: |
46 virtual ~StyleImage() { } | 47 virtual ~StyleImage() { } |
47 | 48 |
48 bool operator==(const StyleImage& other) const | 49 bool operator==(const StyleImage& other) const |
49 { | 50 { |
50 return data() == other.data(); | 51 return data() == other.data(); |
51 } | 52 } |
52 | 53 |
53 virtual PassRefPtrWillBeRawPtr<CSSValue> cssValue() const = 0; | 54 virtual PassRefPtrWillBeRawPtr<CSSValue> cssValue() const = 0; |
54 virtual PassRefPtrWillBeRawPtr<CSSValue> computedCSSValue() const = 0; | 55 virtual PassRefPtrWillBeRawPtr<CSSValue> computedCSSValue() const = 0; |
55 | 56 |
56 virtual bool canRender() const { return true; } | 57 virtual bool canRender() const { return true; } |
57 virtual bool isLoaded() const { return true; } | 58 virtual bool isLoaded() const { return true; } |
58 virtual bool errorOccurred() const { return false; } | 59 virtual bool errorOccurred() const { return false; } |
59 virtual LayoutSize imageSize(const LayoutObject*, float multiplier) const =
0; | 60 virtual LayoutSize imageSize(const LayoutObject*, float multiplier, const La
youtSize& defaultObjectSize) const = 0; |
60 virtual void computeIntrinsicDimensions(const LayoutObject*, FloatSize& intr
insicSize, FloatSize& intrinsicRatio) = 0; | 61 virtual void computeIntrinsicDimensions(const LayoutObject*, FloatSize& intr
insicSize, FloatSize& intrinsicRatio) = 0; |
61 virtual bool imageHasRelativeSize() const = 0; | 62 virtual bool imageHasRelativeSize() const = 0; |
62 virtual bool usesImageContainerSize() const = 0; | 63 virtual bool usesImageContainerSize() const = 0; |
63 virtual void addClient(LayoutObject*) = 0; | 64 virtual void addClient(LayoutObject*) = 0; |
64 virtual void removeClient(LayoutObject*) = 0; | 65 virtual void removeClient(LayoutObject*) = 0; |
65 virtual PassRefPtr<Image> image(const LayoutObject*, const IntSize&, float)
const = 0; | 66 virtual PassRefPtr<Image> image(const LayoutObject*, const IntSize&, float)
const = 0; |
66 virtual WrappedImagePtr data() const = 0; | 67 virtual WrappedImagePtr data() const = 0; |
67 virtual float imageScaleFactor() const { return 1; } | 68 virtual float imageScaleFactor() const { return 1; } |
68 virtual bool knownToBeOpaque(const LayoutObject*) const = 0; | 69 virtual bool knownToBeOpaque(const LayoutObject*) const = 0; |
69 virtual ImageResource* cachedImage() const { return 0; } | 70 virtual ImageResource* cachedImage() const { return 0; } |
(...skipping 13 matching lines...) Expand all Loading... |
83 , m_isGeneratedImage(false) | 84 , m_isGeneratedImage(false) |
84 , m_isImageResourceSet(false) | 85 , m_isImageResourceSet(false) |
85 , m_isInvalidImage(false) | 86 , m_isInvalidImage(false) |
86 { | 87 { |
87 } | 88 } |
88 bool m_isImageResource:1; | 89 bool m_isImageResource:1; |
89 bool m_isPendingImage:1; | 90 bool m_isPendingImage:1; |
90 bool m_isGeneratedImage:1; | 91 bool m_isGeneratedImage:1; |
91 bool m_isImageResourceSet:1; | 92 bool m_isImageResourceSet:1; |
92 bool m_isInvalidImage:1; | 93 bool m_isInvalidImage:1; |
| 94 |
| 95 LayoutSize imageSizeForSVGImage(SVGImage*, float multiplier, const LayoutSiz
e& defaultObjectSize) const; |
93 }; | 96 }; |
94 | 97 |
95 #define DEFINE_STYLE_IMAGE_TYPE_CASTS(thisType, function) \ | 98 #define DEFINE_STYLE_IMAGE_TYPE_CASTS(thisType, function) \ |
96 DEFINE_TYPE_CASTS(thisType, StyleImage, styleImage, styleImage->function, st
yleImage.function); \ | 99 DEFINE_TYPE_CASTS(thisType, StyleImage, styleImage, styleImage->function, st
yleImage.function); \ |
97 inline thisType* to##thisType(const RefPtrWillBeMember<StyleImage>& styleIma
ge) { return to##thisType(styleImage.get()); } \ | 100 inline thisType* to##thisType(const RefPtrWillBeMember<StyleImage>& styleIma
ge) { return to##thisType(styleImage.get()); } \ |
98 typedef int NeedsSemiColonAfterDefineStyleImageTypeCasts | 101 typedef int NeedsSemiColonAfterDefineStyleImageTypeCasts |
99 | 102 |
100 } // namespace blink | 103 } // namespace blink |
101 #endif | 104 #endif |
OLD | NEW |