hmi-controller: fix wrong background surface size
In current implementation, the size of the first application layer is used for the background image of a display. This is wrong because: 1. The background surface should be fullscreen. 2. Each display could have different resolution. We should use the size of the base layer of each display for the background image. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
This commit is contained in:
parent
aab1d36883
commit
783cb4dcfe
|
@ -915,14 +915,10 @@ ivi_hmi_controller_set_background(struct hmi_controller *hmi_ctrl,
|
|||
struct ivi_layout_surface *ivisurf = NULL;
|
||||
struct hmi_controller_layer *base_layer = NULL;
|
||||
struct ivi_layout_layer *ivilayer = NULL;
|
||||
struct hmi_controller_layer *application_layer =
|
||||
wl_container_of(hmi_ctrl->application_layer_list.prev,
|
||||
application_layer,
|
||||
link);
|
||||
const int32_t dstx = application_layer->x;
|
||||
const int32_t dsty = application_layer->y;
|
||||
const int32_t width = application_layer->width;
|
||||
const int32_t height = application_layer->height;
|
||||
int32_t dstx;
|
||||
int32_t dsty;
|
||||
int32_t width;
|
||||
int32_t height;
|
||||
int32_t ret = 0;
|
||||
int32_t i = 0;
|
||||
|
||||
|
@ -930,7 +926,10 @@ ivi_hmi_controller_set_background(struct hmi_controller *hmi_ctrl,
|
|||
uint32_t *add_surface_id = wl_array_add(&hmi_ctrl->ui_widgets,
|
||||
sizeof(*add_surface_id));
|
||||
*add_surface_id = id_surface + (i * hmi_ctrl->ui_setting.surface_id_offset);
|
||||
|
||||
dstx = base_layer->x;
|
||||
dsty = base_layer->y;
|
||||
width = base_layer->width;
|
||||
height = base_layer->height;
|
||||
ivilayer = base_layer->ivilayer;
|
||||
|
||||
ivisurf = ivi_layout_interface->get_surface_from_id(*add_surface_id);
|
||||
|
|
Loading…
Reference in New Issue