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

Signed-off-by: Emre Ucan <[email protected]>
---
 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

_______________________________________________
wayland-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to