[PATCH weston 3/8] ivi-shell: remove ivi_layout_get_screen_resolution API

Ucan, Emre (ADITG/SW1) eucan at de.adit-jv.com
Thu Mar 17 15:30:35 UTC 2016


The controller plugins can get the screen resolution directly from
weston output. Therefore, this API is not required.

Signed-off-by: Emre Ucan <eucan at de.adit-jv.com>
---
 ivi-shell/hmi-controller.c       |   27 ++++++++------------
 ivi-shell/ivi-layout-export.h    |   10 --------
 ivi-shell/ivi-layout.c           |   19 --------------
 tests/ivi_layout-internal-test.c |   52 --------------------------------------
 4 files changed, 11 insertions(+), 97 deletions(-)

diff --git a/ivi-shell/hmi-controller.c b/ivi-shell/hmi-controller.c
index 0b932d6..45beb4c 100644
--- a/ivi-shell/hmi-controller.c
+++ b/ivi-shell/hmi-controller.c
@@ -790,13 +790,12 @@ static struct hmi_controller *
 hmi_controller_create(struct weston_compositor *ec)
 {
 	struct ivi_layout_screen *iviscrn  = NULL;
-	int32_t screen_width   = 0;
-	int32_t screen_height  = 0;
 	struct link_layer *tmp_link_layer = NULL;
 	int32_t panel_height = 0;
 	struct hmi_controller *hmi_ctrl = MEM_ALLOC(sizeof(*hmi_ctrl));
 	struct hmi_controller_layer *base_layer = NULL;
 	struct hmi_controller_layer *application_layer = NULL;
+	struct weston_output *output;
 
 	int32_t i = 0;
 
@@ -817,15 +816,13 @@ hmi_controller_create(struct weston_compositor *ec)
 	/* init base ivi_layer*/
 	wl_list_init(&hmi_ctrl->base_layer_list);
 	for (i = 0; i < hmi_ctrl->screen_num; i++) {
-		ivi_layout_interface->get_screen_resolution(get_screen(i, hmi_ctrl),
-						 &screen_width,
-						 &screen_height);
+		output = ivi_layout_interface->screen_get_output(get_screen(i, hmi_ctrl));
 
 		base_layer = MEM_ALLOC(1 * sizeof(struct hmi_controller_layer));
 		base_layer->x = 0;
 		base_layer->y = 0;
-		base_layer->width = screen_width;
-		base_layer->height = screen_height;
+		base_layer->width = output->current_mode->width;
+		base_layer->height = output->current_mode->height;
 		base_layer->id_layer =
 			hmi_ctrl->hmi_setting->base_layer_id +
 						(i * hmi_ctrl->hmi_setting->base_layer_id_offset);
@@ -839,15 +836,13 @@ hmi_controller_create(struct weston_compositor *ec)
 	/* init application ivi_layer */
 	wl_list_init(&hmi_ctrl->application_layer_list);
 	for (i = 0; i < hmi_ctrl->screen_num; i++) {
-		ivi_layout_interface->get_screen_resolution(get_screen(i, hmi_ctrl),
-						 &screen_width,
-						 &screen_height);
+		output = ivi_layout_interface->screen_get_output(get_screen(i, hmi_ctrl));
 
 		application_layer = MEM_ALLOC(1 * sizeof(struct hmi_controller_layer));
 		application_layer->x = 0;
 		application_layer->y = 0;
-		application_layer->width = screen_width;
-		application_layer->height = screen_height - panel_height;
+		application_layer->width = output->current_mode->width;
+		application_layer->height = output->current_mode->height - panel_height;
 		application_layer->id_layer =
 			hmi_ctrl->hmi_setting->application_layer_id +
 						(i * hmi_ctrl->hmi_setting->base_layer_id_offset);
@@ -856,15 +851,15 @@ hmi_controller_create(struct weston_compositor *ec)
 		create_layer(get_screen(i, hmi_ctrl), application_layer);
 	}
 
-	ivi_layout_interface->get_screen_resolution(iviscrn, &screen_width,
-					 &screen_height);
+	output = ivi_layout_interface->screen_get_output(iviscrn);
 
 	/* init workspace background ivi_layer */
 	hmi_ctrl->workspace_background_layer.x = 0;
 	hmi_ctrl->workspace_background_layer.y = 0;
-	hmi_ctrl->workspace_background_layer.width = screen_width;
+	hmi_ctrl->workspace_background_layer.width =
+		output->current_mode->width;
 	hmi_ctrl->workspace_background_layer.height =
-		screen_height - panel_height;
+		output->current_mode->height - panel_height;
 
 	hmi_ctrl->workspace_background_layer.id_layer =
 		hmi_ctrl->hmi_setting->workspace_background_layer_id;
diff --git a/ivi-shell/ivi-layout-export.h b/ivi-shell/ivi-layout-export.h
index 4fe0107..79cad5c 100644
--- a/ivi-shell/ivi-layout-export.h
+++ b/ivi-shell/ivi-layout-export.h
@@ -568,16 +568,6 @@ struct ivi_layout_interface {
 		(*get_screen_from_id)(uint32_t id_screen);
 
 	/**
-	 * \brief Get the screen resolution of a specific ivi_screen
-	 *
-	 * \return IVI_SUCCEEDED if the method call was successful
-	 * \return IVI_FAILED if the method call was failed
-	 */
-	int32_t (*get_screen_resolution)(struct ivi_layout_screen *iviscrn,
-					 int32_t *pWidth,
-					 int32_t *pHeight);
-
-	/**
 	 * \brief Get the ivi_screens
 	 *
 	 * \return IVI_SUCCEEDED if the method call was successful
diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c
index 17a3fc9..aa36f4f 100644
--- a/ivi-shell/ivi-layout.c
+++ b/ivi-shell/ivi-layout.c
@@ -1362,24 +1362,6 @@ ivi_layout_get_screen_from_id(uint32_t id_screen)
 }
 
 static int32_t
-ivi_layout_get_screen_resolution(struct ivi_layout_screen *iviscrn,
-				 int32_t *pWidth, int32_t *pHeight)
-{
-	struct weston_output *output = NULL;
-
-	if (iviscrn == NULL || pWidth == NULL || pHeight == NULL) {
-		weston_log("ivi_layout_get_screen_resolution: invalid argument\n");
-		return IVI_FAILED;
-	}
-
-	output   = iviscrn->output;
-	*pWidth  = output->current_mode->width;
-	*pHeight = output->current_mode->height;
-
-	return IVI_SUCCEEDED;
-}
-
-static int32_t
 ivi_layout_surface_add_notification(struct ivi_layout_surface *ivisurf,
 				    surface_property_notification_func callback,
 				    void *userdata)
@@ -2475,7 +2457,6 @@ static struct ivi_layout_interface ivi_layout_interface = {
 	 * screen controller interfaces part1
 	 */
 	.get_screen_from_id		= ivi_layout_get_screen_from_id,
-	.get_screen_resolution		= ivi_layout_get_screen_resolution,
 	.get_screens			= ivi_layout_get_screens,
 	.get_screens_under_layer	= ivi_layout_get_screens_under_layer,
 	.screen_add_layer		= ivi_layout_screen_add_layer,
diff --git a/tests/ivi_layout-internal-test.c b/tests/ivi_layout-internal-test.c
index 80492d8..6b7ca20 100644
--- a/tests/ivi_layout-internal-test.c
+++ b/tests/ivi_layout-internal-test.c
@@ -565,33 +565,6 @@ test_screen_id(struct test_context *ctx)
 }
 
 static void
-test_screen_resolution(struct test_context *ctx)
-{
-	const struct ivi_layout_interface *lyt = ctx->layout_interface;
-	struct ivi_layout_screen **iviscrns;
-	int32_t screen_length = 0;
-	struct weston_output *output;
-	int32_t width;
-	int32_t height;
-	int32_t i;
-
-	iassert(lyt->get_screens(&screen_length, &iviscrns) == IVI_SUCCEEDED);
-	iassert(screen_length > 0);
-
-	for (i = 0; i < screen_length; ++i) {
-		output = lyt->screen_get_output(iviscrns[i]);
-		iassert(output != NULL);
-		iassert(lyt->get_screen_resolution(
-			    iviscrns[i], &width, &height) == IVI_SUCCEEDED);
-		iassert(width == output->current_mode->width);
-		iassert(height == output->current_mode->height);
-	}
-
-	if (screen_length > 0)
-		free(iviscrns);
-}
-
-static void
 test_screen_render_order(struct test_context *ctx)
 {
 #define LAYER_NUM (3)
@@ -644,29 +617,6 @@ test_screen_render_order(struct test_context *ctx)
 }
 
 static void
-test_screen_bad_resolution(struct test_context *ctx)
-{
-	const struct ivi_layout_interface *lyt = ctx->layout_interface;
-	struct ivi_layout_screen **iviscrns;
-	int32_t screen_length = 0;
-	struct ivi_layout_screen *iviscrn;
-	int32_t width;
-	int32_t height;
-
-	iassert(lyt->get_screens(&screen_length, &iviscrns) == IVI_SUCCEEDED);
-	iassert(screen_length > 0);
-
-	if (screen_length <= 0)
-		return;
-
-	iviscrn = iviscrns[0];
-	iassert(lyt->get_screen_resolution(NULL, &width, &height) == IVI_FAILED);
-	iassert(lyt->get_screen_resolution(iviscrn, NULL, &height) == IVI_FAILED);
-	iassert(lyt->get_screen_resolution(iviscrn, &width, NULL) == IVI_FAILED);
-	free(iviscrns);
-}
-
-static void
 test_screen_bad_render_order(struct test_context *ctx)
 {
 #define LAYER_NUM (3)
@@ -989,9 +939,7 @@ run_internal_tests(void *data)
 	test_get_layer_after_destory_layer(ctx);
 
 	test_screen_id(ctx);
-	test_screen_resolution(ctx);
 	test_screen_render_order(ctx);
-	test_screen_bad_resolution(ctx);
 	test_screen_bad_render_order(ctx);
 	test_commit_changes_after_render_order_set_layer_destroy(ctx);
 
-- 
1.7.9.5



More information about the wayland-devel mailing list