diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
commit | 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch) | |
tree | 46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/rendering/ImageQualityController.h | |
parent | 32761a6cee1d0dee366b885b7b9c777e67885688 (diff) | |
download | WebKitGtk-tarball-master.tar.gz |
webkitgtk-2.16.5HEADwebkitgtk-2.16.5master
Diffstat (limited to 'Source/WebCore/rendering/ImageQualityController.h')
-rw-r--r-- | Source/WebCore/rendering/ImageQualityController.h | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/Source/WebCore/rendering/ImageQualityController.h b/Source/WebCore/rendering/ImageQualityController.h index a06df2b5f..eb4f1535b 100644 --- a/Source/WebCore/rendering/ImageQualityController.h +++ b/Source/WebCore/rendering/ImageQualityController.h @@ -23,49 +23,47 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef ImageQualityController_h -#define ImageQualityController_h +#pragma once +#include "GraphicsTypes.h" #include "Timer.h" #include <wtf/HashMap.h> -#include <wtf/PassOwnPtr.h> +#include <wtf/Optional.h> namespace WebCore { -class Frame; class GraphicsContext; class Image; class LayoutSize; class RenderBoxModelObject; class RenderView; +class RenderStyle; class ImageQualityController { - WTF_MAKE_NONCOPYABLE(ImageQualityController) + WTF_MAKE_NONCOPYABLE(ImageQualityController); WTF_MAKE_FAST_ALLOCATED; public: - static PassOwnPtr<ImageQualityController> create(const RenderView& renderView) { return adoptPtr(new ImageQualityController(renderView)); } + explicit ImageQualityController(const RenderView&); + + static std::optional<InterpolationQuality> interpolationQualityFromStyle(const RenderStyle&); + InterpolationQuality chooseInterpolationQuality(GraphicsContext&, RenderBoxModelObject*, Image&, const void* layer, const LayoutSize&); - bool shouldPaintAtLowQuality(GraphicsContext*, RenderBoxModelObject*, Image*, const void* layer, const LayoutSize&); void rendererWillBeDestroyed(RenderBoxModelObject& renderer) { removeObject(&renderer); } private: typedef HashMap<const void*, LayoutSize> LayerSizeMap; typedef HashMap<RenderBoxModelObject*, LayerSizeMap> ObjectLayerSizeMap; - explicit ImageQualityController(const RenderView&); - void removeLayer(RenderBoxModelObject*, LayerSizeMap* innerMap, const void* layer); void set(RenderBoxModelObject*, LayerSizeMap* innerMap, const void* layer, const LayoutSize&); - void highQualityRepaintTimerFired(Timer<ImageQualityController>&); + void highQualityRepaintTimerFired(); void restartTimer(); void removeObject(RenderBoxModelObject*); const RenderView& m_renderView; ObjectLayerSizeMap m_objectLayerSizeMap; - Timer<ImageQualityController> m_timer; - bool m_animatedResizeIsActive; - bool m_liveResizeOptimizationIsActive; + Timer m_timer; + bool m_animatedResizeIsActive { false }; + bool m_liveResizeOptimizationIsActive { false }; }; -} // namespace - -#endif +} // namespace WebCore |