#include "ui/base/x/x11_whole_screen_move_loop.h"
#include <stddef.h>
#include <memory>
#include <utility>
#include "base/functional/bind.h"
#include "base/logging.h"
#include "base/run_loop.h"
#include "base/task/current_thread.h"
#include "base/task/single_thread_task_runner.h"
#include "ui/base/x/x11_pointer_grab.h"
#include "ui/base/x/x11_util.h"
#include "ui/events/event.h"
#include "ui/events/event_utils.h"
#include "ui/events/keycodes/keyboard_code_conversion_x.h"
#include "ui/events/platform/platform_event_source.h"
#include "ui/events/platform/scoped_event_dispatcher.h"
#include "ui/events/x/events_x_utils.h"
#include "ui/events/x/x11_event_translation.h"
#include "ui/gfx/x/connection.h"
#include "ui/gfx/x/keysyms/keysyms.h"
#include "ui/gfx/x/window_event_manager.h"
#include "ui/gfx/x/xproto.h"
namespace ui {
namespace {
constexpr x11::ModMask kModifiersMasks[] = …;
const char* GrabStatusToString(x11::GrabStatus grab_status) { … }
}
X11WholeScreenMoveLoop::X11WholeScreenMoveLoop(X11MoveLoopDelegate* delegate)
: … { … }
X11WholeScreenMoveLoop::~X11WholeScreenMoveLoop() { … }
void X11WholeScreenMoveLoop::PostDispatchIfNeeded(const ui::MouseEvent& event) { … }
bool X11WholeScreenMoveLoop::CanDispatchEvent(const ui::PlatformEvent& event) { … }
uint32_t X11WholeScreenMoveLoop::DispatchEvent(const ui::PlatformEvent& event) { … }
bool X11WholeScreenMoveLoop::RunMoveLoop(
bool can_grab_pointer,
scoped_refptr<ui::X11Cursor> old_cursor,
scoped_refptr<ui::X11Cursor> new_cursor,
base::OnceClosure started_callback) { … }
void X11WholeScreenMoveLoop::UpdateCursor(scoped_refptr<ui::X11Cursor> cursor) { … }
void X11WholeScreenMoveLoop::EndMoveLoop() { … }
bool X11WholeScreenMoveLoop::GrabPointer(scoped_refptr<X11Cursor> cursor) { … }
void X11WholeScreenMoveLoop::GrabEscKey() { … }
void X11WholeScreenMoveLoop::CreateDragInputWindow(
x11::Connection* connection) { … }
}