#include "ui/ozone/platform/x11/x11_screen_ozone.h"
#include <memory>
#include "base/containers/flat_set.h"
#include "ui/base/linux/linux_desktop.h"
#include "ui/base/x/x11_display_util.h"
#include "ui/base/x/x11_idle_query.h"
#include "ui/base/x/x11_screensaver.h"
#include "ui/base/x/x11_util.h"
#include "ui/display/display.h"
#include "ui/display/display_finder.h"
#include "ui/events/platform/x11/x11_event_source.h"
#include "ui/gfx/font_render_params.h"
#include "ui/gfx/geometry/point_conversions.h"
#include "ui/gfx/native_widget_types.h"
#include "ui/gfx/x/window_cache.h"
#include "ui/ozone/platform/x11/x11_window.h"
#include "ui/ozone/platform/x11/x11_window_manager.h"
#if BUILDFLAG(IS_LINUX)
#include "ui/linux/linux_ui.h"
#endif
namespace ui {
namespace {
DisplayList;
gfx::Rect DisplayBoundsInPixels(const display::Display& display) { … }
const display::Display& GetDisplayForRect(const DisplayList& displays,
const gfx::Rect& rect,
bool rect_in_px) { … }
gfx::PointF PointPxToDip(const DisplayList& displays, gfx::Point point_px) { … }
gfx::PointF PointDipToPx(const DisplayList& displays, gfx::Point point_dip) { … }
gfx::Point GetCursorScreenPointPx(x11::Connection& connection) { … }
}
X11ScreenOzone::X11ScreenOzone()
: … { … }
X11ScreenOzone::~X11ScreenOzone() { … }
void X11ScreenOzone::Init() { … }
const std::vector<display::Display>& X11ScreenOzone::GetAllDisplays() const { … }
display::Display X11ScreenOzone::GetPrimaryDisplay() const { … }
display::Display X11ScreenOzone::GetDisplayForAcceleratedWidget(
gfx::AcceleratedWidget widget) const { … }
gfx::Point X11ScreenOzone::GetCursorScreenPoint() const { … }
bool X11ScreenOzone::IsAcceleratedWidgetUnderCursor(
gfx::AcceleratedWidget widget) const { … }
gfx::AcceleratedWidget X11ScreenOzone::GetAcceleratedWidgetAtScreenPoint(
const gfx::Point& point) const { … }
gfx::AcceleratedWidget X11ScreenOzone::GetLocalProcessWidgetAtPoint(
const gfx::Point& point,
const std::set<gfx::AcceleratedWidget>& ignore) const { … }
display::Display X11ScreenOzone::GetDisplayNearestPoint(
const gfx::Point& point) const { … }
display::Display X11ScreenOzone::GetDisplayMatching(
const gfx::Rect& match_rect) const { … }
X11ScreenOzone::X11ScreenSaverSuspender::X11ScreenSaverSuspender() { … }
std::unique_ptr<X11ScreenOzone::X11ScreenSaverSuspender>
X11ScreenOzone::X11ScreenSaverSuspender::Create() { … }
X11ScreenOzone::X11ScreenSaverSuspender::~X11ScreenSaverSuspender() { … }
std::unique_ptr<PlatformScreen::PlatformScreenSaverSuspender>
X11ScreenOzone::SuspendScreenSaver() { … }
bool X11ScreenOzone::IsScreenSaverActive() const { … }
base::TimeDelta X11ScreenOzone::CalculateIdleTime() const { … }
void X11ScreenOzone::AddObserver(display::DisplayObserver* observer) { … }
void X11ScreenOzone::RemoveObserver(display::DisplayObserver* observer) { … }
std::string X11ScreenOzone::GetCurrentWorkspace() { … }
base::Value::List X11ScreenOzone::GetGpuExtraInfo(
const gfx::GpuExtraInfo& gpu_extra_info) { … }
void X11ScreenOzone::OnEvent(const x11::Event& xev) { … }
#if BUILDFLAG(IS_LINUX)
void X11ScreenOzone::OnDeviceScaleFactorChanged() { … }
#endif
void X11ScreenOzone::OnXDisplayListUpdated() { … }
}