bool ok() const;
void roundtrip();
int dispatch();
+ int dispatch_pending();
+ int read_events();
void flush();
int get_fd() const;
int get_error();
int width{};
int height{};
int refresh{};
+ int transform{};
output(output const &) = delete;
output &operator=(output const &) = delete;
static const constexpr rect full_rect = rect{-1, -1, 0, 0};
-inline bool operator == (struct rect a, struct rect b) {
+inline bool operator==(struct rect a, struct rect b) {
return a.w == b.w && a.h == b.h && a.x == b.x && a.y == b.y;
}
// \___\___/|_| |_|\__|_| \___/|_|_|\___|_|
//
struct controller : public wayland_proxy<struct ivi_controller> {
+ // This controller is still missing ivi-input
+
typedef std::unordered_map<uintptr_t, uint32_t> proxy_to_id_map_type;
typedef std::unordered_map<uint32_t, std::unique_ptr<struct surface>>
surface_map_type;
layer_map_type layers;
screen_map_type screens;
- typedef std::pair<char const *, std::function<void(struct controller *)>>
- name_task_pair;
- std::vector<name_task_pair> pending;
-
size output_size;
wm::controller_hooks *chooks;
void add_proxy_to_id_mapping(struct wl_output *p, uint32_t id);
void remove_proxy_to_id_mapping(struct wl_output *p);
- void add_task(char const *name,
- std::function<void(struct controller *)> &&f);
- void execute_pending();
-
-
bool surface_exists(uint32_t id) const {
return this->surfaces.find(id) != this->surfaces.end();
}