diff options
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 |