weston_view_set_output(view, woutput);
- weston_view_set_position(view,
- woutput->x + output->area.x,
- woutput->y + output->area.y);
+
+ if (surf->role != IVI_SURFACE_ROLE_BACKGROUND)
+ weston_view_set_position(view,
+ woutput->x + output->area.x,
+ woutput->y + output->area.y);
view->is_mapped = true;
surf->mapped = true;
}
}
-
if (output->active) {
- output->active->view->is_mapped = false;
- output->active->view->surface->is_mapped = false;
+ /* keep the background surface mapped at all times */
+ if (output->active->role != IVI_SURFACE_ROLE_BACKGROUND) {
+ output->active->view->is_mapped = false;
+ output->active->view->surface->is_mapped = false;
- weston_layer_entry_remove(&output->active->view->layer_link);
+ weston_layer_entry_remove(&output->active->view->layer_link);
+ }
}
output->previous_active = output->active;
output->active = surf;
app_id,
ivi_layout_get_surface_role_name(surf), output->name);
- if (wl_resource_get_version(ivi->shell_client.resource) >= AGL_SHELL_APP_STATE_SINCE_VERSION)
- agl_shell_send_app_state(ivi->shell_client.resource,
- app_id, AGL_SHELL_APP_STATE_ACTIVATED);
-
+ shell_send_app_state(ivi, app_id, AGL_SHELL_APP_STATE_ACTIVATED);
}
struct ivi_output *
return;
}
+ /* the background surface is already "maximized" so we don't need to
+ * add to the hidden layer */
+ if (surf->role == IVI_SURFACE_ROLE_BACKGROUND) {
+ ivi_layout_activate_complete(output, surf);
+ return;
+ }
+
ivi_layout_add_to_hidden_layer(surf, output);
}
weston_surface_damage(view->surface);
}
- if (wl_resource_get_version(ivi->shell_client.resource) >= AGL_SHELL_APP_STATE_SINCE_VERSION)
- agl_shell_send_app_state(ivi->shell_client.resource, app_id,
- AGL_SHELL_APP_STATE_DEACTIVATED);
+ shell_send_app_state(ivi, app_id, AGL_SHELL_APP_STATE_DEACTIVATED);
}