aboutsummaryrefslogtreecommitdiff
path: root/src/platform/wayland_platform_stub.cc
blob: bdf6ee9a95bd8646145218a4ae3257e351d5e254 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#include "wayland_platform.h"
#include <iostream>
#include <cstdint>

WaylandPlatform* WaylandPlatform::instance_ = nullptr;

WaylandPlatform::WaylandPlatform()
    : display_(nullptr)
    , registry_(nullptr)
    , compositor_(nullptr)
    , shm_(nullptr)
    , seat_(nullptr)
    , output_(nullptr)
    , shell_(nullptr)
    , backend_(nullptr)
    , renderer_(nullptr)
    , wlr_compositor_(nullptr)
    , output_layout_(nullptr)
    , cursor_(nullptr)
    , xcursor_manager_(nullptr)
    , wlr_seat_(nullptr)
    , xdg_shell_(nullptr)
    , event_loop_running_(false)
    , decorations_enabled_(true)
    , decoration_manager_(nullptr) {
  instance_ = this;
}

WaylandPlatform::~WaylandPlatform() {
  shutdown();
  if (instance_ == this) instance_ = nullptr;
}

bool WaylandPlatform::initialize() {
  std::cout << "Wayland (stub): initialize" << std::endl;
  decorations_enabled_ = true;
  return true;
}

void WaylandPlatform::shutdown() {
  std::cout << "Wayland (stub): shutdown" << std::endl;
}

bool WaylandPlatform::poll_events(std::vector<Event>& events) {
  events.clear();
  return true;
}

void WaylandPlatform::process_event(const Event& /*event*/) {}

std::unique_ptr<SRDWindow> WaylandPlatform::create_window(const std::string& title, int, int, int, int) {
  std::cout << "Wayland (stub): create_window '" << title << "'" << std::endl;
  return nullptr;
}

void WaylandPlatform::destroy_window(SRDWindow*) {}
void WaylandPlatform::set_window_position(SRDWindow*, int, int) {}
void WaylandPlatform::set_window_size(SRDWindow*, int, int) {}
void WaylandPlatform::set_window_title(SRDWindow*, const std::string&) {}
void WaylandPlatform::focus_window(SRDWindow*) {}
void WaylandPlatform::minimize_window(SRDWindow*) {}
void WaylandPlatform::maximize_window(SRDWindow*) {}
void WaylandPlatform::close_window(SRDWindow*) {}
std::vector<Monitor> WaylandPlatform::get_monitors() { return {}; }
Monitor WaylandPlatform::get_primary_monitor() { return Monitor{}; }
void WaylandPlatform::grab_keyboard() {}
void WaylandPlatform::ungrab_keyboard() {}
void WaylandPlatform::grab_pointer() {}
void WaylandPlatform::ungrab_pointer() {}
void WaylandPlatform::set_window_decorations(SRDWindow*, bool enabled) { decorations_enabled_ = enabled; }
void WaylandPlatform::set_window_border_color(SRDWindow*, int, int, int) {}
void WaylandPlatform::set_window_border_width(SRDWindow*, int) {}
bool WaylandPlatform::get_window_decorations(SRDWindow*) const { return decorations_enabled_; }

// Private helpers (stubs)
bool WaylandPlatform::setup_wlroots_backend() { return true; }
bool WaylandPlatform::setup_compositor() { return true; }
bool WaylandPlatform::setup_shell_protocols() { return true; }
void WaylandPlatform::handle_registry_global(struct wl_registry*, uint32_t, const char*, uint32_t) {}
void WaylandPlatform::handle_registry_global_remove(struct wl_registry*, uint32_t) {}
void WaylandPlatform::handle_xdg_surface_new(struct wlr_xdg_surface*) {}
void WaylandPlatform::handle_xdg_surface_destroy(struct wlr_xdg_surface*) {}
void WaylandPlatform::handle_xdg_toplevel_new(struct wlr_xdg_toplevel*) {}
void WaylandPlatform::handle_xdg_toplevel_destroy(struct wlr_xdg_toplevel*) {}
void WaylandPlatform::handle_output_new(struct wlr_output*) {}
void WaylandPlatform::handle_output_destroy(struct wlr_output*) {}
void WaylandPlatform::handle_output_frame(struct wlr_output*) {}
void WaylandPlatform::handle_pointer_motion(struct wlr_pointer_motion_event*) {}
void WaylandPlatform::handle_pointer_button(struct wlr_pointer_button_event*) {}
void WaylandPlatform::handle_pointer_axis(struct wlr_pointer_axis_event*) {}
void WaylandPlatform::keyboard_key_handler(struct wl_listener*, void*) {}
void WaylandPlatform::pointer_motion_handler(struct wl_listener*, void*) {}
void WaylandPlatform::pointer_button_handler(struct wl_listener*, void*) {}
void WaylandPlatform::pointer_axis_handler(struct wl_listener*, void*) {}
void WaylandPlatform::output_new_handler(struct wl_listener*, void*) {}
void WaylandPlatform::output_destroy_handler(struct wl_listener*, void*) {}
void WaylandPlatform::output_frame_handler(struct wl_listener*, void*) {}
void WaylandPlatform::xdg_surface_new_handler(struct wl_listener*, void*) {}
void WaylandPlatform::xdg_surface_destroy_handler(struct wl_listener*, void*) {}
void WaylandPlatform::xdg_toplevel_new_handler(struct wl_listener*, void*) {}
void WaylandPlatform::xdg_toplevel_destroy_handler(struct wl_listener*, void*) {}
void WaylandPlatform::manage_xdg_window(struct wlr_xdg_surface*) {}
void WaylandPlatform::unmanage_window(SRDWindow*) {}
void WaylandPlatform::handle_output_mode(struct wlr_output*) {}
void WaylandPlatform::handle_output_scale(struct wlr_output*) {}
void WaylandPlatform::handle_key_event(uint32_t, bool) {}
void WaylandPlatform::handle_button_event(uint32_t, bool) {}
void WaylandPlatform::create_surface_window(struct wlr_surface*) {}
void WaylandPlatform::destroy_surface_window(struct wlr_surface*) {}
void WaylandPlatform::update_surface_window(struct wlr_surface*) {}
void WaylandPlatform::convert_wlroots_event_to_srdwm_event(void*, EventType) {}
void WaylandPlatform::handle_wlroots_error(const std::string&) {}
void WaylandPlatform::setup_decoration_manager() {}
void WaylandPlatform::handle_decoration_request(struct wlr_xdg_surface*, uint32_t) {}