override Elm_Interface_Atspi_Component.extents.get 72/130572/1
authorShinwoo Kim <cinoo.kim@samsung.com>
Wed, 9 Nov 2016 07:07:32 +0000 (16:07 +0900)
committerSungtaek Hong <sth253.hong@samsung.com>
Tue, 23 May 2017 04:10:16 +0000 (13:10 +0900)
Change-Id: Ia07eefeb78eaa4e5694785557d1022e62c8eeb6b

src/mobile/eext_floatingbutton.c
src/mobile/eext_floatingbutton.eo

index a2a4fb4b262c559bd57bcbde1c9ca81f79d54781..d1fa986c6fc2362b9279dca5f64d71baa47c08ae 100644 (file)
@@ -14,6 +14,7 @@
  * limitations under the License.
  */
 
+#define ELM_INTERFACE_ATSPI_COMPONENT_PROTECTED
 #define ELM_INTERNAL_API_ARGESFSDFEFC 1
 
 #include <Eo.h>
@@ -709,4 +710,29 @@ _eext_floatingbutton_mode_get(Eo *obj,
    return sd->mode;
 }
 
+EOLIAN static void
+_eext_floatingbutton_elm_interface_atspi_component_extents_get(Eo *obj EINA_UNUSED, Eext_Floatingbutton_Data *sd, Eina_Bool screen_coords, int *x, int *y, int *w, int *h)
+{
+   int ee_x, ee_y;
+
+   if (!sd->box)
+     {
+        if (x) *x = -1;
+        if (y) *y = -1;
+        if (w) *w = -1;
+        if (h) *h = -1;
+        return;
+     }
+   evas_object_geometry_get(sd->box, x, y, w, h);
+
+   if (screen_coords)
+     {
+        Ecore_Evas *ee = ecore_evas_ecore_evas_get(evas_object_evas_get(sd->box));
+        if (!ee) return;
+        ecore_evas_geometry_get(ee, &ee_x, &ee_y, NULL, NULL);
+        if (x) *x += ee_x;
+        if (y) *y += ee_y;
+     }
+}
+
 #include "eext_floatingbutton.eo.c"
index 3e9445bde4d2e775f7fd8fbc735a47b420965f07..0f34653875720d117ea063b55102fb6caa483060 100644 (file)
@@ -95,5 +95,6 @@ class Eext.Floatingbutton (Elm.Layout) {
       Elm.Container.content_get;
       Elm.Container.content_unset;
       Elm.Widget.theme_apply;
+      Elm_Interface_Atspi_Component.extents.get;
    }
 }