#include "ui/ozone/platform/wayland/host/wayland_data_device.h"
#include <memory>
#include <string>
#include <utility>
#include "base/files/scoped_file.h"
#include "base/functional/bind.h"
#include "base/logging.h"
#include "build/chromeos_buildflags.h"
#include "ui/events/base_event_utils.h"
#include "ui/gfx/geometry/point_f.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/wayland_connection.h"
#include "ui/ozone/platform/wayland/host/wayland_data_offer.h"
#include "ui/ozone/platform/wayland/host/wayland_data_source.h"
#include "ui/ozone/platform/wayland/host/wayland_exchange_data_provider.h"
#include "ui/ozone/platform/wayland/host/wayland_window.h"
namespace ui {
WaylandDataDevice::WaylandDataDevice(WaylandConnection* connection,
wl_data_device* data_device)
: … { … }
WaylandDataDevice::~WaylandDataDevice() = default;
void WaylandDataDevice::StartDrag(const WaylandDataSource& data_source,
const WaylandWindow& origin_window,
uint32_t serial,
wl_surface* icon_surface,
DragDelegate* delegate) { … }
void WaylandDataDevice::ResetDragDelegate() { … }
void WaylandDataDevice::ResetDragDelegateIfNotDragSource() { … }
void WaylandDataDevice::SetSelectionSource(WaylandDataSource* source,
uint32_t serial) { … }
bool WaylandDataDevice::IsDragInProgress() const { … }
void WaylandDataDevice::OnDataOffer(void* data,
wl_data_device* data_device,
wl_data_offer* offer) { … }
void WaylandDataDevice::OnEnter(void* data,
wl_data_device* data_device,
uint32_t serial,
wl_surface* surface,
wl_fixed_t x,
wl_fixed_t y,
wl_data_offer* offer) { … }
void WaylandDataDevice::OnMotion(void* data,
wl_data_device* data_device,
uint32_t time,
wl_fixed_t x,
wl_fixed_t y) { … }
void WaylandDataDevice::OnDrop(void* data, wl_data_device* data_device) { … }
void WaylandDataDevice::OnLeave(void* data, wl_data_device* data_device) { … }
void WaylandDataDevice::OnSelection(void* data,
wl_data_device* data_device,
wl_data_offer* offer) { … }
}