ivi-layout: introduced configure_desktop_changed
Introduced signal configure_desktop_changed with interface. This signal should be sent, when a desktop-surface is configured. Signed-off-by: Michael Teyfel <mteyfel@de.adit-jv.com>
This commit is contained in:
committed by
Daniel Stone
parent
c9c247730b
commit
65e1be1234
@@ -190,6 +190,16 @@ struct ivi_layout_interface {
|
|||||||
*/
|
*/
|
||||||
int32_t (*add_listener_configure_surface)(struct wl_listener *listener);
|
int32_t (*add_listener_configure_surface)(struct wl_listener *listener);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief add a listener for notification when desktop_surface is configured
|
||||||
|
*
|
||||||
|
* When an desktop_surface is configured, a signal is emitted
|
||||||
|
* to the listening controller plugins.
|
||||||
|
* The pointer of the configured desktop_surface is sent as the void *data argument
|
||||||
|
* to the wl_listener::notify callback function of the listener.
|
||||||
|
*/
|
||||||
|
int32_t (*add_listener_configure_desktop_surface)(struct wl_listener *listener);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Get all ivi_surfaces which are currently registered and managed
|
* \brief Get all ivi_surfaces which are currently registered and managed
|
||||||
* by the services
|
* by the services
|
||||||
|
|||||||
@@ -104,6 +104,7 @@ struct ivi_layout {
|
|||||||
struct wl_signal created;
|
struct wl_signal created;
|
||||||
struct wl_signal removed;
|
struct wl_signal removed;
|
||||||
struct wl_signal configure_changed;
|
struct wl_signal configure_changed;
|
||||||
|
struct wl_signal configure_desktop_changed;
|
||||||
} surface_notification;
|
} surface_notification;
|
||||||
|
|
||||||
struct weston_layer layout_layer;
|
struct weston_layer layout_layer;
|
||||||
|
|||||||
@@ -968,6 +968,21 @@ ivi_layout_add_listener_configure_surface(struct wl_listener *listener)
|
|||||||
return IVI_SUCCEEDED;
|
return IVI_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int32_t
|
||||||
|
ivi_layout_add_listener_configure_desktop_surface(struct wl_listener *listener)
|
||||||
|
{
|
||||||
|
struct ivi_layout *layout = get_instance();
|
||||||
|
|
||||||
|
if (!listener) {
|
||||||
|
weston_log("ivi_layout_add_listener_configure_desktop_surface: invalid argument\n");
|
||||||
|
return IVI_FAILED;
|
||||||
|
}
|
||||||
|
|
||||||
|
wl_signal_add(&layout->surface_notification.configure_desktop_changed, listener);
|
||||||
|
|
||||||
|
return IVI_SUCCEEDED;
|
||||||
|
}
|
||||||
|
|
||||||
uint32_t
|
uint32_t
|
||||||
ivi_layout_get_id_of_surface(struct ivi_layout_surface *ivisurf)
|
ivi_layout_get_id_of_surface(struct ivi_layout_surface *ivisurf)
|
||||||
{
|
{
|
||||||
@@ -1969,6 +1984,7 @@ ivi_layout_init_with_compositor(struct weston_compositor *ec)
|
|||||||
wl_signal_init(&layout->surface_notification.created);
|
wl_signal_init(&layout->surface_notification.created);
|
||||||
wl_signal_init(&layout->surface_notification.removed);
|
wl_signal_init(&layout->surface_notification.removed);
|
||||||
wl_signal_init(&layout->surface_notification.configure_changed);
|
wl_signal_init(&layout->surface_notification.configure_changed);
|
||||||
|
wl_signal_init(&layout->surface_notification.configure_desktop_changed);
|
||||||
|
|
||||||
/* Add layout_layer at the last of weston_compositor.layer_list */
|
/* Add layout_layer at the last of weston_compositor.layer_list */
|
||||||
weston_layer_init(&layout->layout_layer, ec);
|
weston_layer_init(&layout->layout_layer, ec);
|
||||||
@@ -1997,6 +2013,7 @@ static struct ivi_layout_interface ivi_layout_interface = {
|
|||||||
.add_listener_create_surface = ivi_layout_add_listener_create_surface,
|
.add_listener_create_surface = ivi_layout_add_listener_create_surface,
|
||||||
.add_listener_remove_surface = ivi_layout_add_listener_remove_surface,
|
.add_listener_remove_surface = ivi_layout_add_listener_remove_surface,
|
||||||
.add_listener_configure_surface = ivi_layout_add_listener_configure_surface,
|
.add_listener_configure_surface = ivi_layout_add_listener_configure_surface,
|
||||||
|
.add_listener_configure_desktop_surface = ivi_layout_add_listener_configure_desktop_surface,
|
||||||
.get_surface = shell_get_ivi_layout_surface,
|
.get_surface = shell_get_ivi_layout_surface,
|
||||||
.get_surfaces = ivi_layout_get_surfaces,
|
.get_surfaces = ivi_layout_get_surfaces,
|
||||||
.get_id_of_surface = ivi_layout_get_id_of_surface,
|
.get_id_of_surface = ivi_layout_get_id_of_surface,
|
||||||
|
|||||||
Reference in New Issue
Block a user