<http://webkit.org/b/56381> Objective-C classes should be typedef-ed as structs ...
[WebKit-https.git] / Source / WebCore / platform / graphics / GraphicsLayer.h
index fdc8811..f534b84 100644 (file)
@@ -50,7 +50,7 @@
 @class CALayer;
 typedef CALayer PlatformLayer;
 #else
-typedef void* PlatformLayer;
+typedef struct CALayer PlatformLayer;
 #endif
 #elif PLATFORM(WIN)
 typedef struct _CACFLayer PlatformLayer;
@@ -94,7 +94,8 @@ class TimingFunction;
 // Base class for animation values (also used for transitions). Here to
 // represent values for properties being animated via the GraphicsLayer,
 // without pulling in style-related data from outside of the platform directory.
-class AnimationValue : public Noncopyable {
+class AnimationValue {
+    WTF_MAKE_NONCOPYABLE(AnimationValue); WTF_MAKE_FAST_ALLOCATED;
 public:
     AnimationValue(float keyTime, PassRefPtr<TimingFunction> timingFunction = 0)
         : m_keyTime(keyTime)
@@ -146,7 +147,8 @@ private:
 
 // Used to store a series of values in a keyframe list. Values will all be of the same type,
 // which can be inferred from the property.
-class KeyframeValueList : public Noncopyable {
+class KeyframeValueList {
+    WTF_MAKE_NONCOPYABLE(KeyframeValueList); WTF_MAKE_FAST_ALLOCATED;
 public:
 
     KeyframeValueList(AnimatedPropertyID property)
@@ -178,8 +180,8 @@ protected:
 // which may have associated transformation and animations.
 
 class GraphicsLayer {
+    WTF_MAKE_NONCOPYABLE(GraphicsLayer); WTF_MAKE_FAST_ALLOCATED;
 public:
-
     static PassOwnPtr<GraphicsLayer> create(GraphicsLayerClient*);
     
     virtual ~GraphicsLayer();
@@ -316,6 +318,11 @@ public:
     // For hosting this GraphicsLayer in a native layer hierarchy.
     virtual PlatformLayer* platformLayer() const { return 0; }
     
+    // Change the scale at which the contents are rendered. Note that contentsScale may not return
+    // the same value passed to setContentsScale(), because of clamping and hysteresis.
+    virtual float contentsScale() const { return 1; }
+    virtual void setContentsScale(float) { }
+
     void dumpLayer(TextStream&, int indent = 0, LayerTreeAsTextBehavior = LayerTreeAsTextBehaviorNormal) const;
 
     int repaintCount() const { return m_repaintCount; }