MediaPlayerPrivateFullscreenWindow.h [plain text]
#ifndef MediaPlayerPrivateFullscreenWindow_h
#define MediaPlayerPrivateFullscreenWindow_h
#include <wtf/RefPtr.h>
#if USE(ACCELERATED_COMPOSITING)
#include "CACFLayerTreeHostClient.h"
#endif
typedef unsigned WPARAM;
typedef long LPARAM;
typedef struct HWND__* HWND;
typedef _W64 long LONG_PTR;
typedef LONG_PTR LRESULT;
typedef unsigned int UINT;
namespace WebCore {
#if USE(ACCELERATED_COMPOSITING)
class CACFLayerTreeHost;
class PlatformCALayer;
#endif
class MediaPlayerPrivateFullscreenClient {
public:
virtual LRESULT fullscreenClientWndProc(HWND, UINT message, WPARAM, LPARAM) = 0;
protected:
virtual ~MediaPlayerPrivateFullscreenClient() {}
};
class MediaPlayerPrivateFullscreenWindow {
public:
MediaPlayerPrivateFullscreenWindow(MediaPlayerPrivateFullscreenClient*);
~MediaPlayerPrivateFullscreenWindow();
void createWindow(HWND ownerWindow);
HWND hwnd() const { return m_hwnd; }
#if USE(ACCELERATED_COMPOSITING)
PlatformCALayer* rootChildLayer() const { return m_rootChild.get(); }
void setRootChildLayer(PassRefPtr<PlatformCALayer>);
#endif
private:
static LRESULT __stdcall staticWndProc(HWND, UINT message, WPARAM, LPARAM);
LRESULT wndProc(HWND, UINT message, WPARAM, LPARAM);
MediaPlayerPrivateFullscreenClient* m_client;
#if USE(ACCELERATED_COMPOSITING)
RefPtr<CACFLayerTreeHost> m_layerTreeHost;
RefPtr<PlatformCALayer> m_rootChild;
#endif
HWND m_hwnd;
};
}
#endif