GraphicsContext3DPrivate.h [plain text]
#ifndef GraphicsContext3DPrivate_h
#define GraphicsContext3DPrivate_h
#include "GraphicsContext3D.h"
#include <wtf/PassOwnPtr.h>
#if USE(ACCELERATED_COMPOSITING) && USE(CLUTTER)
#include <clutter/clutter.h>
#endif
namespace WebCore {
class TransformationMatrix;
class GraphicsContext3DPrivate {
public:
static PassOwnPtr<GraphicsContext3DPrivate> create(GraphicsContext3D*, HostWindow*);
~GraphicsContext3DPrivate();
bool makeContextCurrent();
PlatformGraphicsContext3D platformContext();
ClutterActor* platformLayer() { return m_layer; }
#if USE(ACCELERATED_COMPOSITING) && USE(CLUTTER)
virtual void paintToGraphicsLayerActor(ClutterActor*, const FloatRect& target, const TransformationMatrix&, float opacity);
#endif
private:
GraphicsContext3DPrivate(GraphicsContext3D*, HostWindow*);
GraphicsContext3D* m_context;
HostWindow* m_window;
ClutterActor* m_layer;
};
}
#endif // GraphicsContext3DPrivate_h