update compositor structure for ability to run X and Wayland Clients.
update wayland compositor data & input file(s) for data structure rename.
NB: Both the X compositor and the Wayland compositor have different
"client data" to store, so e_client structure needs different fields
Signed-off-by: Chris Michael <cp.michael@samsung.com>
E_Direction shade_dir;
- E_Comp_Client_Data *comp_data; //private for the compositor engine (X, Wayland) ONLY
+ E_Comp_Wl_Client_Data *wl_comp_data;
+ E_Comp_X_Client_Data *x_comp_data; //private for the compositor engine (X, Wayland) ONLY
Evas_Object *input_object; //for running wayland clients in X
#ifdef E_TYPEDEFS
-typedef struct _E_Comp E_Comp;
-typedef struct _E_Comp_Data E_Comp_Data;
-typedef struct _E_Comp_Client_Data E_Comp_Client_Data;
+typedef struct _E_Comp E_Comp;
+typedef struct _E_Comp_X_Data E_Comp_X_Data;
+typedef struct _E_Comp_Wl_Data E_Comp_Wl_Data;
+typedef struct _E_Comp_X_Client_Data E_Comp_X_Client_Data;
+typedef struct _E_Comp_Wl_Client_Data E_Comp_Wl_Client_Data;
typedef struct _E_Comp_Demo_Style_Item E_Comp_Demo_Style_Item;
#define E_COMP_TYPE (int) 0xE0b01003
Eina_List *clients;
unsigned int new_clients;
- E_Comp_Data *comp_data;
+ E_Comp_X_Data *x_comp_data;
+ E_Comp_Wl_Data *wl_comp_data;
+
E_Pixmap_Type comp_type; //for determining X/Wayland/
unsigned int num;
# define BTN_BACK 0x116
# endif
-struct _E_Comp_Data
+struct _E_Comp_Wl_Data
{
struct
{
Eina_Bool restack : 1;
};
-struct _E_Comp_Client_Data
+struct _E_Comp_Wl_Client_Data
{
Eina_Rectangle *input;
Eina_Rectangle *opaque;
static void
_e_comp_wl_data_manager_cb_device_get(struct wl_client *client EINA_UNUSED, struct wl_resource *manager_resource, uint32_t id, struct wl_resource *seat_resource)
{
- E_Comp_Data *cdata;
+ E_Comp_Wl_Data *cdata;
struct wl_resource *res;
DBG("Comp_Wl_Data: Get Data Device");
/* static void */
/* _e_comp_wl_data_cb_unbind_manager(struct wl_resource *resource) */
/* { */
-/* E_Comp_Data *cdata; */
+/* E_Comp_Wl_Data *cdata; */
/* DBG("Comp_Wl_Data: Unbind Manager"); */
static void
_e_comp_wl_data_cb_bind_manager(struct wl_client *client, void *data, uint32_t version EINA_UNUSED, uint32_t id)
{
- E_Comp_Data *cdata;
+ E_Comp_Wl_Data *cdata;
struct wl_resource *res;
if (!(cdata = data)) return;
}
EINTERN Eina_Bool
-e_comp_wl_data_manager_init(E_Comp_Data *cdata)
+e_comp_wl_data_manager_init(E_Comp_Wl_Data *cdata)
{
/* check for valid compositor data */
if (!cdata) return EINA_FALSE;
}
EINTERN void
-e_comp_wl_data_manager_shutdown(E_Comp_Data *cdata)
+e_comp_wl_data_manager_shutdown(E_Comp_Wl_Data *cdata)
{
/* destroy the global manager resource */
- if (cdata->mgr.global) wl_global_destroy(cdata->mgr.global);
+ /* if (cdata->mgr.global) wl_global_destroy(cdata->mgr.global); */
}
# ifndef E_COMP_WL_DATA_H
# define E_COMP_WL_DATA_H
-EINTERN Eina_Bool e_comp_wl_data_manager_init(E_Comp_Data *cdata);
-EINTERN void e_comp_wl_data_manager_shutdown(E_Comp_Data *cdata);
+EINTERN Eina_Bool e_comp_wl_data_manager_init(E_Comp_Wl_Data *cdata);
+EINTERN void e_comp_wl_data_manager_shutdown(E_Comp_Wl_Data *cdata);
# endif
#endif
#include <sys/mman.h>
static void
-_e_comp_wl_input_update_seat_caps(E_Comp_Data *cdata)
+_e_comp_wl_input_update_seat_caps(E_Comp_Wl_Data *cdata)
{
Eina_List *l;
struct wl_resource *res;
static void
_e_comp_wl_input_pointer_cb_cursor_set(struct wl_client *client, struct wl_resource *resource, uint32_t serial, struct wl_resource *surface_resource, int32_t x, int32_t y)
{
- E_Comp_Data *cdata;
+ E_Comp_Wl_Data *cdata;
/* get compositor data */
if (!(cdata = wl_resource_get_user_data(resource))) return;
static void
_e_comp_wl_input_cb_pointer_unbind(struct wl_resource *resource)
{
- E_Comp_Data *cdata;
+ E_Comp_Wl_Data *cdata;
/* get compositor data */
if (!(cdata = wl_resource_get_user_data(resource))) return;
static void
_e_comp_wl_input_cb_pointer_get(struct wl_client *client, struct wl_resource *resource, uint32_t id)
{
- E_Comp_Data *cdata;
+ E_Comp_Wl_Data *cdata;
struct wl_resource *res;
/* get compositor data */
static void
_e_comp_wl_input_cb_keyboard_unbind(struct wl_resource *resource)
{
- E_Comp_Data *cdata;
+ E_Comp_Wl_Data *cdata;
/* get compositor data */
if (!(cdata = wl_resource_get_user_data(resource))) return;
static void
_e_comp_wl_input_cb_keyboard_get(struct wl_client *client, struct wl_resource *resource, uint32_t id)
{
- E_Comp_Data *cdata;
+ E_Comp_Wl_Data *cdata;
struct wl_resource *res;
/* uint32_t serial; */
static void
_e_comp_wl_input_cb_touch_get(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, uint32_t id EINA_UNUSED)
{
- E_Comp_Data *cdata;
+ E_Comp_Wl_Data *cdata;
/* DBG("Input Touch Get"); */
static void
_e_comp_wl_input_cb_unbind_seat(struct wl_resource *resource)
{
- E_Comp_Data *cdata;
+ E_Comp_Wl_Data *cdata;
if (!(cdata = wl_resource_get_user_data(resource))) return;
static void
_e_comp_wl_input_cb_bind_seat(struct wl_client *client, void *data, uint32_t version, uint32_t id)
{
- E_Comp_Data *cdata;
+ E_Comp_Wl_Data *cdata;
struct wl_resource *res;
if (!(cdata = data)) return;
}
static void
-_e_comp_wl_input_keymap_update(E_Comp_Data *cdata, struct xkb_keymap *keymap)
+_e_comp_wl_input_keymap_update(E_Comp_Wl_Data *cdata, struct xkb_keymap *keymap)
{
char *tmp;
xkb_mod_mask_t latched, locked;
}
EINTERN Eina_Bool
-e_comp_wl_input_init(E_Comp_Data *cdata)
+e_comp_wl_input_init(E_Comp_Wl_Data *cdata)
{
/* check for valid compositor data */
if (!cdata) return EINA_FALSE;
}
EINTERN void
-e_comp_wl_input_shutdown(E_Comp_Data *cdata)
+e_comp_wl_input_shutdown(E_Comp_Wl_Data *cdata)
{
/* Eina_List *l; */
struct wl_resource *res;
/* TODO: destroy cdata->kbd.keys array */
/* destroy the global seat resource */
- if (cdata->seat.global) wl_global_destroy(cdata->seat.global);
+ /* if (cdata->seat.global) wl_global_destroy(cdata->seat.global); */
cdata->seat.global = NULL;
}
}
EINTERN void
-e_comp_wl_input_keyboard_modifiers_update(E_Comp_Data *cdata)
+e_comp_wl_input_keyboard_modifiers_update(E_Comp_Wl_Data *cdata)
{
xkb_mod_mask_t depressed, latched, locked;
xkb_layout_index_t group;
}
EINTERN void
-e_comp_wl_input_keyboard_state_update(E_Comp_Data *cdata, uint32_t keycode, Eina_Bool pressed)
+e_comp_wl_input_keyboard_state_update(E_Comp_Wl_Data *cdata, uint32_t keycode, Eina_Bool pressed)
{
enum xkb_key_direction dir;
}
EAPI void
-e_comp_wl_input_pointer_enabled_set(E_Comp_Data *cdata, Eina_Bool enabled)
+e_comp_wl_input_pointer_enabled_set(E_Comp_Wl_Data *cdata, Eina_Bool enabled)
{
/* check for valid compositor data */
if (!cdata) return;
}
EAPI void
-e_comp_wl_input_keyboard_enabled_set(E_Comp_Data *cdata, Eina_Bool enabled)
+e_comp_wl_input_keyboard_enabled_set(E_Comp_Wl_Data *cdata, Eina_Bool enabled)
{
/* check for valid compositor data */
if (!cdata) return;
}
EAPI void
-e_comp_wl_input_keymap_set(E_Comp_Data *cdata, const char *rules, const char *model, const char *layout)
+e_comp_wl_input_keymap_set(E_Comp_Wl_Data *cdata, const char *rules, const char *model, const char *layout)
{
struct xkb_keymap *keymap;
struct xkb_rule_names names;
# ifndef E_COMP_WL_INPUT_H
# define E_COMP_WL_INPUT_H
-EINTERN Eina_Bool e_comp_wl_input_init(E_Comp_Data *cdata);
-EINTERN void e_comp_wl_input_shutdown(E_Comp_Data *cdata);
+EINTERN Eina_Bool e_comp_wl_input_init(E_Comp_Wl_Data *cdata);
+EINTERN void e_comp_wl_input_shutdown(E_Comp_Wl_Data *cdata);
EINTERN Eina_Bool e_comp_wl_input_pointer_check(struct wl_resource *res);
EINTERN Eina_Bool e_comp_wl_input_keyboard_check(struct wl_resource *res);
-EINTERN void e_comp_wl_input_keyboard_modifiers_update(E_Comp_Data *cdata);
-EINTERN void e_comp_wl_input_keyboard_state_update(E_Comp_Data *cdata, uint32_t keycode, Eina_Bool pressed);
+EINTERN void e_comp_wl_input_keyboard_modifiers_update(E_Comp_Wl_Data *cdata);
+EINTERN void e_comp_wl_input_keyboard_state_update(E_Comp_Wl_Data *cdata, uint32_t keycode, Eina_Bool pressed);
-EAPI void e_comp_wl_input_pointer_enabled_set(E_Comp_Data *cdata, Eina_Bool enabled);
-EAPI void e_comp_wl_input_keyboard_enabled_set(E_Comp_Data *cdata, Eina_Bool enabled);
+EAPI void e_comp_wl_input_pointer_enabled_set(E_Comp_Wl_Data *cdata, Eina_Bool enabled);
+EAPI void e_comp_wl_input_keyboard_enabled_set(E_Comp_Wl_Data *cdata, Eina_Bool enabled);
-EAPI void e_comp_wl_input_keymap_set(E_Comp_Data *cdata, const char *rules, const char *model, const char *layout);
+EAPI void e_comp_wl_input_keymap_set(E_Comp_Wl_Data *cdata, const char *rules, const char *model, const char *layout);
# endif
#endif