WebFullScreenManagerMac.h [plain text]
#ifndef WebFullScreenManagerMac_h
#define WebFullScreenManagerMac_h
#if ENABLE(FULLSCREEN_API)
#import "LayerTreeContext.h"
#import "WebFullScreenManager.h"
#import <WebCore/GraphicsLayer.h>
#import <WebCore/IntRect.h>
#import <wtf/RetainPtr.h>
typedef struct __WKCARemoteLayerClientRef* WKCARemoteLayerClientRef;
OBJC_CLASS WebFullScreenManagerAnimationListener;
namespace WebKit {
class WebFullScreenManagerMac : public WebFullScreenManager {
public:
static PassRefPtr<WebFullScreenManagerMac> create(WebPage*);
virtual void setRootFullScreenLayer(WebCore::GraphicsLayer*);
private:
WebFullScreenManagerMac(WebPage*);
virtual ~WebFullScreenManagerMac();
virtual void beginEnterFullScreenAnimation(float duration);
virtual void beginExitFullScreenAnimation(float duration);
virtual void disposeOfLayerClient();
void animateFullScreen(const CATransform3D& startTransform, const CATransform3D& endTransform, float duration, id listener);
CATransform3D windowedCGTransform();
OwnPtr<WebCore::GraphicsLayer> m_rootLayer;
LayerTreeContext m_layerTreeContext;
RetainPtr<WKCARemoteLayerClientRef> m_remoteLayerClient;
RetainPtr<id> m_enterFullScreenListener;
RetainPtr<id> m_exitFullScreenListener;
};
}
#endif // ENABLE(FULLSCREEN_API)
#endif // WebFullScreenManagerMac_h