ivi-controller: Make keyboard focus getters/setters support multiple surfaces
authorJonathan Maw <jonathan.maw@codethink.co.uk>
Mon, 27 Oct 2014 14:56:01 +0000 (14:56 +0000)
committerNobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Fri, 14 Nov 2014 04:43:55 +0000 (13:43 +0900)
weston-ivi-shell/src/ivi-controller.c
weston-ivi-shell/src/ivi-layout-export.h

index f341454..744d87c 100755 (executable)
@@ -1102,7 +1102,8 @@ controller_surface_set_input_focus(struct wl_client *client,
 
     if (device & IVI_CONTROLLER_SURFACE_INPUT_DEVICE_KEYBOARD) {
         if (enabled) {
-            ivi_layout_SetKeyboardFocusOn(ivisurf->layout_surface);
+            uint32_t id = ivi_layout_getIdOfSurface(ivisurf->layout_surface);
+            ivi_layout_SetKeyboardFocusOn(&id, 1);
             send_all_keyboard_focus(ivisurf->shell);
         }
     }
index 3d1afc9..e1dbb06 100644 (file)
@@ -697,7 +697,7 @@ ivi_layout_surfaceGetOpacity(struct ivi_layout_surface *ivisurf,
  * \return -1 if the method call was failed
  */
 int32_t
-ivi_layout_SetKeyboardFocusOn(struct ivi_layout_surface *ivisurf);
+ivi_layout_SetKeyboardFocusOn(uint32_t *surface_ids, size_t size);
 
 /**
  * \brief Get the indentifier of the surface which hold the keyboard focus
@@ -706,7 +706,7 @@ ivi_layout_SetKeyboardFocusOn(struct ivi_layout_surface *ivisurf);
  * \return -1 if the method call was failed
  */
 int32_t
-ivi_layout_GetKeyboardFocusSurfaceId(struct ivi_layout_surface **pSurfaceId);
+ivi_layout_GetKeyboardFocusSurfaceId(uint32_t *surface_ids, size_t size, uint32_t *count);
 
 /**
  * \brief Set the destination area of a surface within a layer for rendering.