PlatformCALayerWinInternal.h [plain text]
#ifndef PlatformCALayerWinInternal_h
#define PlatformCALayerWinInternal_h
#include <CoreGraphics/CGGeometry.h>
#include <wtf/Forward.h>
#include <wtf/RetainPtr.h>
typedef struct _CACFLayer *CACFLayerRef;
typedef struct CGContext *CGContextRef;
namespace WebCore {
class Color;
class FloatRect;
class PlatformCALayer;
class TileController;
class TiledBacking;
typedef Vector<RefPtr<PlatformCALayer>> PlatformCALayerList;
class PlatformCALayerWinInternal {
public:
PlatformCALayerWinInternal(PlatformCALayer*);
~PlatformCALayerWinInternal();
virtual void displayCallback(CACFLayerRef, CGContextRef);
virtual void setNeedsDisplayInRect(const FloatRect&);
virtual void setNeedsDisplay();
PlatformCALayer* owner() const { return m_owner; }
void setSublayers(const PlatformCALayerList&);
void getSublayers(PlatformCALayerList&) const;
void removeAllSublayers();
void insertSublayer(PlatformCALayer&, size_t);
size_t sublayerCount() const;
int indexOfSublayer(const PlatformCALayer* reference);
virtual bool isOpaque() const;
virtual void setOpaque(bool);
virtual void setBounds(const FloatRect&);
void setFrame(const FloatRect&);
virtual float contentsScale() const;
virtual void setContentsScale(float);
virtual void setBorderWidth(float);
virtual void setBorderColor(const Color&);
void drawRepaintCounters(CACFLayerRef, CGContextRef, CGRect layerBounds, int drawCount);
private:
void internalSetNeedsDisplay(const FloatRect*);
PlatformCALayer* sublayerAtIndex(int) const;
PlatformCALayer* m_owner;
};
}
#endif // PlatformCALayerWinInternal_h