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

Side by Side Diff: third_party/WebKit/Source/core/style/StyleImage.h

Issue 1756763004: Merge image sizing algorithms (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix unused variable 'styleImage' in release Created 4 years, 9 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) 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
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
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 static LayoutSize applyZoom(const LayoutSize&, float multiplier);
96 LayoutSize imageSizeForSVGImage(SVGImage*, float multiplier, const LayoutSiz e& defaultObjectSize) const;
93 }; 97 };
94 98
95 #define DEFINE_STYLE_IMAGE_TYPE_CASTS(thisType, function) \ 99 #define DEFINE_STYLE_IMAGE_TYPE_CASTS(thisType, function) \
96 DEFINE_TYPE_CASTS(thisType, StyleImage, styleImage, styleImage->function, st yleImage.function); \ 100 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()); } \ 101 inline thisType* to##thisType(const RefPtrWillBeMember<StyleImage>& styleIma ge) { return to##thisType(styleImage.get()); } \
98 typedef int NeedsSemiColonAfterDefineStyleImageTypeCasts 102 typedef int NeedsSemiColonAfterDefineStyleImageTypeCasts
99 103
100 } // namespace blink 104 } // namespace blink
101 #endif 105 #endif
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/style/StyleGeneratedImage.cpp ('k') | third_party/WebKit/Source/core/style/StyleImage.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698