GraphicsSurfaceToken.h [plain text]
#ifndef GraphicsSurfaceToken_h
#define GraphicsSurfaceToken_h
#include "GraphicsContext.h"
#include "IntRect.h"
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
#if USE(GRAPHICS_SURFACE)
namespace WebCore {
struct GraphicsSurfaceToken {
#if OS(DARWIN)
typedef mach_port_t BufferHandle;
#elif OS(LINUX)
typedef uint32_t BufferHandle;
#elif OS(WINDOWS)
typedef HANDLE BufferHandle;
#endif
#if OS(DARWIN) || OS(WINDOWS)
GraphicsSurfaceToken(BufferHandle frontBuffer = 0, BufferHandle backBuffer = 0)
: frontBufferHandle(frontBuffer)
, backBufferHandle(backBuffer)
{ }
bool operator!=(const GraphicsSurfaceToken &rhs) const
{
return (frontBufferHandle != rhs.frontBufferHandle || backBufferHandle != rhs.backBufferHandle);
}
bool isValid() const
{
return frontBufferHandle && backBufferHandle;
}
BufferHandle backBufferHandle;
#else
GraphicsSurfaceToken(uint32_t windowID = 0)
: frontBufferHandle(windowID)
{ }
bool operator!=(const GraphicsSurfaceToken &rhs) const
{
return frontBufferHandle != rhs.frontBufferHandle;
}
bool isValid() const
{
return frontBufferHandle;
}
#endif
BufferHandle frontBufferHandle;
};
}
#endif // USE(GRAPHICS_SURFACE)
#endif // GraphicsSurfaceToken_h