X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fwayland.hpp;h=b5e2d517177470974703125b069bf2a63655d8b7;hb=ca53e70e58714286798a071fbe2316295334ac7b;hp=740a70337dcc11dc47a1ff14d575d90db08b8e10;hpb=0c673801b78c98fe116b4d14bf37fb18f8b749dc;p=staging%2Fwindowmanager.git diff --git a/src/wayland.hpp b/src/wayland.hpp index 740a703..b5e2d51 100644 --- a/src/wayland.hpp +++ b/src/wayland.hpp @@ -1,8 +1,8 @@ #ifndef WM_WAYLAND_HPP #define WM_WAYLAND_HPP +#include "controller_hooks.hpp" #include "ivi-controller-client-protocol.h" - #include "util.hpp" #include @@ -76,6 +76,11 @@ struct display { void flush(); int get_fd() const; int get_error(); + + // Lets just proxy this for the registry + inline void add_global_handler(char const *iface, registry::binder bind) { + this->r.add_global_handler(iface, bind); + } }; // _ _ @@ -120,7 +125,7 @@ struct size { }; struct rect { - uint32_t w, h; + int32_t w, h; int32_t x, y; }; @@ -137,13 +142,13 @@ struct controller_child { }; struct surface_properties { - uint32_t id; // let's just save an ID here too - struct rect dst_rect; - struct rect src_rect; - struct size size; - int32_t orientation; - int32_t visibility; - float opacity; + uint32_t id; // let's just save an ID here too + struct rect dst_rect; + struct rect src_rect; + struct size size; + int32_t orientation; + int32_t visibility; + float opacity; }; // __ @@ -245,19 +250,21 @@ struct controller : public wayland_proxy { proxy_to_id_map_type layer_proxy_to_id; proxy_to_id_map_type screen_proxy_to_id; + props_map sprops; + props_map lprops; + surface_map_type surfaces; layer_map_type layers; screen_map_type screens; - props_map sprops; - props_map lprops; - typedef std::pair> name_task_pair; std::vector pending; size output_size; + wm::controller_hooks *chooks; + void add_proxy_to_id_mapping(struct ivi_controller_surface *p, uint32_t id); void remove_proxy_to_id_mapping(struct ivi_controller_surface *p); void add_proxy_to_id_mapping(struct ivi_controller_layer *p, uint32_t id);