#include "remoting/host/linux/wayland_display.h"
#include <vector>
#include "base/check.h"
#include "base/hash/hash.h"
#include "remoting/base/logging.h"
namespace remoting {
namespace {
constexpr int kOutputInterfaceVersion = …;
constexpr int kZxdgOutputManagerVersion = …;
}
WaylandDisplay::WaylandDisplay()
: … { … }
WaylandDisplay::~WaylandDisplay() = default;
void WaylandDisplay::HandleGlobalDisplayEvent(struct wl_registry* registry,
uint32_t name,
const char* interface,
uint32_t version) { … }
bool WaylandDisplay::HandleGlobalRemoveDisplayEvent(uint32_t name) { … }
void WaylandDisplay::InitXdgOutputIfPossible(DisplayInfo& display_info) { … }
void WaylandDisplay::FinishPartialXdgOutputInitializations() { … }
void WaylandDisplay::UpdateDisplayInfo(DisplayInfo display_info,
DisplayInfo& existing_info) { … }
void WaylandDisplay::OnGeometryEvent(void* data,
wl_output* wl_output,
int x,
int y,
int physical_width,
int physical_height,
int subpixel,
const char* make,
const char* model,
int transform) { … }
void WaylandDisplay::OnModeEvent(void* data,
wl_output* wl_output,
uint flags,
int width,
int height,
int refresh) { … }
void WaylandDisplay::OnDoneEvent(void* data, wl_output* wl_output) { … }
void WaylandDisplay::OnScaleEvent(void* data,
wl_output* wl_output,
int factor) { … }
void WaylandDisplay::OnXdgOutputLogicalPositionEvent(
void* data,
struct zxdg_output_v1* xdg_output,
int32_t x,
int32_t y) { … }
void WaylandDisplay::OnXdgOutputLogicalSizeEvent(
void* data,
struct zxdg_output_v1* xdg_output,
int32_t width,
int32_t height) { … }
void WaylandDisplay::OnXdgOutputDoneEvent(void* data,
struct zxdg_output_v1* xdg_output) { … }
void WaylandDisplay::OnXdgOutputNameEvent(void* data,
struct zxdg_output_v1* xdg_output,
const char* name) { … }
void WaylandDisplay::OnXdgOutputDescriptionEvent(
void* data,
struct zxdg_output_v1* xdg_output,
const char* description) { … }
DesktopDisplayInfo WaylandDisplay::GetCurrentDisplayInfo() const { … }
}