PlatformCALayerClient.h [plain text]
#ifndef PlatformCALayerClient_h
#define PlatformCALayerClient_h
#include "GraphicsLayer.h"
namespace WebCore {
class FloatRect;
class GraphicsContext;
class PlatformCALayer;
class PlatformCALayerClient {
public:
virtual void platformCALayerLayoutSublayersOfLayer(PlatformCALayer*) { }
virtual bool platformCALayerRespondsToLayoutChanges() const { return false; }
virtual void platformCALayerAnimationStarted(const String& , CFTimeInterval) { }
virtual void platformCALayerAnimationEnded(const String& ) { }
virtual GraphicsLayer::CompositingCoordinatesOrientation platformCALayerContentsOrientation() const { return GraphicsLayer::CompositingCoordinatesTopDown; }
virtual void platformCALayerPaintContents(PlatformCALayer*, GraphicsContext&, const FloatRect& inClip) = 0;
virtual bool platformCALayerShowDebugBorders() const { return false; }
virtual bool platformCALayerShowRepaintCounter(PlatformCALayer*) const { return false; }
virtual int platformCALayerIncrementRepaintCount(PlatformCALayer*) { return 0; }
virtual bool platformCALayerContentsOpaque() const = 0;
virtual bool platformCALayerDrawsContent() const = 0;
virtual void platformCALayerLayerDidDisplay(PlatformCALayer*) { }
virtual void platformCALayerSetNeedsToRevalidateTiles() { }
virtual float platformCALayerDeviceScaleFactor() const = 0;
virtual float platformCALayerContentsScaleMultiplierForNewTiles(PlatformCALayer*) const { return 1; }
virtual bool platformCALayerShouldAggressivelyRetainTiles(PlatformCALayer*) const { return false; }
virtual bool platformCALayerShouldTemporarilyRetainTileCohorts(PlatformCALayer*) const { return true; }
virtual bool isCommittingChanges() const { return false; }
protected:
virtual ~PlatformCALayerClient() {}
};
}
#endif // PlatformCALayerClient_h