#ifndef LIBANGLE_SURFACE_H_
#define LIBANGLE_SURFACE_H_
#include <memory>
#include <EGL/egl.h>
#include "common/PackedEnums.h"
#include "common/angleutils.h"
#include "libANGLE/AttributeMap.h"
#include "libANGLE/Debug.h"
#include "libANGLE/Error.h"
#include "libANGLE/FramebufferAttachment.h"
#include "libANGLE/RefCountObject.h"
#include "libANGLE/formatutils.h"
#include "libANGLE/renderer/SurfaceImpl.h"
namespace gl
{
class Context;
class Framebuffer;
class Texture;
}
namespace rx
{
class EGLImplFactory;
}
namespace egl
{
class Display;
struct Config;
SupportedCompositorTiming;
SupportedTimestamps;
struct SurfaceState final : private angle::NonCopyable
{ … };
class Surface : public LabeledObject, public gl::FramebufferAttachmentObject
{ … };
class WindowSurface final : public Surface
{ … };
class PbufferSurface final : public Surface
{ … };
class PixmapSurface final : public Surface
{ … };
class [[nodiscard]] ScopedSurfaceRef
{ … };
class SurfaceDeleter final
{ … };
SurfacePointer;
}
#endif