#include "ui/ozone/platform/wayland/host/wayland_subsurface.h"
#include <surface-augmenter-client-protocol.h>
#include <cstdint>
#include "ui/gfx/geometry/point_conversions.h"
#include "ui/gfx/geometry/rect.h"
#include "ui/gfx/geometry/rect_f.h"
#include "ui/ozone/platform/wayland/common/wayland_util.h"
#include "ui/ozone/platform/wayland/host/surface_augmenter.h"
#include "ui/ozone/platform/wayland/host/wayland_buffer_manager_host.h"
#include "ui/ozone/platform/wayland/host/wayland_connection.h"
#include "ui/ozone/platform/wayland/host/wayland_window.h"
namespace {
gfx::RectF AdjustSubsurfaceBounds(const gfx::RectF& bounds_px,
const gfx::RectF& parent_bounds_px,
float buffer_scale) { … }
const wl_fixed_t kMinusOne = …;
}
namespace ui {
WaylandSubsurface::WaylandSubsurface(WaylandConnection* connection,
WaylandWindow* parent)
: … { … }
WaylandSubsurface::~WaylandSubsurface() = default;
gfx::AcceleratedWidget WaylandSubsurface::GetWidget() const { … }
bool WaylandSubsurface::Show() { … }
void WaylandSubsurface::Hide() { … }
void WaylandSubsurface::ResetSubsurface() { … }
bool WaylandSubsurface::IsVisible() const { … }
void WaylandSubsurface::CreateSubsurface() { … }
bool WaylandSubsurface::ConfigureAndShowSurface(
const gfx::RectF& bounds_px,
const gfx::RectF& parent_bounds_px,
const std::optional<gfx::Rect>& clip_rect_px,
const absl::variant<gfx::OverlayTransform, gfx::Transform>& transform,
float buffer_scale,
WaylandSubsurface* new_below,
WaylandSubsurface* new_above) { … }
}