#include "ui/ozone/platform/wayland/gpu/gl_surface_wayland.h"
#include <wayland-egl.h>
#include <memory>
#include <utility>
#include "base/functional/bind.h"
#include "third_party/khronos/EGL/egl.h"
#include "ui/gfx/geometry/size.h"
#include "ui/gfx/presentation_feedback.h"
#include "ui/gl/gl_surface_presentation_helper.h"
#include "ui/ozone/common/egl_util.h"
#include "ui/ozone/platform/wayland/host/wayland_window.h"
namespace ui {
void EGLWindowDeleter::operator()(wl_egl_window* egl_window) { … }
std::unique_ptr<wl_egl_window, EGLWindowDeleter> CreateWaylandEglWindow(
WaylandWindow* window) { … }
GLSurfaceWayland::GLSurfaceWayland(gl::GLDisplayEGL* display,
WaylandEglWindowPtr egl_window,
WaylandWindow* window)
: … { … }
bool GLSurfaceWayland::Resize(const gfx::Size& size,
float scale_factor,
const gfx::ColorSpace& color_space,
bool has_alpha) { … }
EGLConfig GLSurfaceWayland::GetConfig() { … }
gfx::SwapResult GLSurfaceWayland::SwapBuffers(PresentationCallback callback,
gfx::FrameData data) { … }
gfx::SwapResult GLSurfaceWayland::PostSubBuffer(int x,
int y,
int width,
int height,
PresentationCallback callback,
gfx::FrameData data) { … }
GLSurfaceWayland::~GLSurfaceWayland() { … }
void GLSurfaceWayland::OnSequencePoint(int64_t seq) { … }
}