summaryrefslogtreecommitdiff
path: root/Source/WebCore/rendering/ImageQualityController.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
commit1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch)
tree46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/rendering/ImageQualityController.h
parent32761a6cee1d0dee366b885b7b9c777e67885688 (diff)
downloadWebKitGtk-tarball-master.tar.gz
Diffstat (limited to 'Source/WebCore/rendering/ImageQualityController.h')
-rw-r--r--Source/WebCore/rendering/ImageQualityController.h30
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