#include "ui/ozone/platform/wayland/host/wayland_popup.h"
#include <aura-shell-client-protocol.h>
#include <optional>
#include "base/auto_reset.h"
#include "base/numerics/safe_conversions.h"
#include "base/strings/utf_string_conversions.h"
#include "ui/base/ui_base_types.h"
#include "ui/display/display.h"
#include "ui/gfx/geometry/point.h"
#include "ui/gfx/geometry/rect.h"
#include "ui/gfx/geometry/transform.h"
#include "ui/ozone/platform/wayland/common/wayland_object.h"
#include "ui/ozone/platform/wayland/common/wayland_util.h"
#include "ui/ozone/platform/wayland/host/shell_object_factory.h"
#include "ui/ozone/platform/wayland/host/shell_popup_wrapper.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_output.h"
#include "ui/ozone/platform/wayland/host/wayland_output_manager.h"
#include "ui/ozone/platform/wayland/host/wayland_subsurface.h"
#include "ui/ozone/platform/wayland/host/wayland_zaura_shell.h"
namespace ui {
WaylandPopup::WaylandPopup(PlatformWindowDelegate* delegate,
WaylandConnection* connection,
WaylandWindow* parent)
: … { … }
WaylandPopup::~WaylandPopup() = default;
void WaylandPopup::TooltipShown(const char* text,
int32_t x,
int32_t y,
int32_t width,
int32_t height) { … }
void WaylandPopup::TooltipHidden() { … }
bool WaylandPopup::CreateShellPopup() { … }
void WaylandPopup::UpdateDecoration() { … }
void WaylandPopup::Show(bool inactive) { … }
void WaylandPopup::Hide() { … }
bool WaylandPopup::IsVisible() const { … }
void WaylandPopup::SetBoundsInDIP(const gfx::Rect& bounds_dip) { … }
void WaylandPopup::HandlePopupConfigure(const gfx::Rect& bounds_dip) { … }
void WaylandPopup::HandleSurfaceConfigure(uint32_t serial) { … }
void WaylandPopup::OnSequencePoint(int64_t seq) { … }
void WaylandPopup::UpdateWindowMask() { … }
void WaylandPopup::PropagateBufferScale(float new_scale) { … }
void WaylandPopup::ShowTooltip(const std::u16string& text,
const gfx::Point& position,
const PlatformWindowTooltipTrigger trigger,
const base::TimeDelta show_delay,
const base::TimeDelta hide_delay) { … }
void WaylandPopup::HideTooltip() { … }
bool WaylandPopup::IsScreenCoordinatesEnabled() const { … }
base::WeakPtr<WaylandWindow> WaylandPopup::AsWeakPtr() { … }
void WaylandPopup::OnCloseRequest() { … }
bool WaylandPopup::OnInitialize(PlatformWindowInitProperties properties,
PlatformWindowDelegate::State* state) { … }
WaylandPopup* WaylandPopup::AsWaylandPopup() { … }
bool WaylandPopup::IsSurfaceConfigured() { … }
void WaylandPopup::SetWindowGeometry(
const PlatformWindowDelegate::State& state) { … }
void WaylandPopup::AckConfigure(uint32_t serial) { … }
}