area.
Change-Id: I66e3ed7f87c16acafab7f826564d771d1ca5d974
else
edje_object_part_geometry_get(sd->frame_obj, "efl.spacer.content", &cx, &cy, &cw, &ch);
+ int bx, by, bw, bh;
+ int tx, ty, tw, th;
+ edje_object_part_geometry_get(sd->frame_obj, "top_clip", &tx, &ty, &tw, &th);
+ edje_object_part_geometry_get(sd->frame_obj, "bottom_clip", &bx, &by, &bw, &bh);
+ evas_output_inputarea_set(sd->evas, tx, ty + th, ow - cw, ty + th + oh - by);
+
if (!_elm_win_framespace_set(sd, cx, cy, ow - cw, oh - ch) && (!force)) return;
_elm_win_frame_geometry_adjust(sd);
* END *
*******/
+/**
+ * @internal
+ */
+EAPI void evas_output_inputarea_set(Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h);
+
+/**
+ * @internal
+ */
+EAPI void evas_output_inputarea_get(const Evas *e, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
+
#include "canvas/efl_canvas_event_grabber_eo.legacy.h"
//TIZEN_ONLY(20171215): add heder define
int vx = 0, vy = 0, vw = 0, vh = 0;
int fw = 0, fh = 0;
evas_output_viewport_get(eo_e, &vx, &vy, &vw, &vh);
- evas_output_framespace_get(eo_e, NULL, NULL, &fw, &fh);
+ evas_output_inputarea_get(eo_e, NULL, NULL, &fw, &fh);
if (!usemap)
{
if ((!RECTS_INTERSECT(x, y, 1, 1, vx, vy, vw - fw, vh - fh)) && (!obj->is_frame)) return in;
EVAS_TYPE_CHECK(eo_e, NULL);
return _efl_canvas_evas_canvas_objects_at_xy_get_helper(eo_e, efl_data_scope_get(eo_e, EVAS_CANVAS_CLASS), x, y, include_pass_events_objects, include_hidden_objects);
}
+
+EAPI void
+evas_output_inputarea_set(Evas *eo_e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h)
+{
+ EVAS_TYPE_CHECK(eo_e);
+
+ Evas_Public_Data *e = efl_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
+
+ if ((x == e->inputarea.x) && (y == e->inputarea.y) &&
+ (w == e->inputarea.w) && (h == e->inputarea.h)) return;
+ evas_canvas_async_block(e);
+ e->inputarea.x = x;
+ e->inputarea.y = y;
+ e->inputarea.w = w;
+ e->inputarea.h = h;
+}
+
+EAPI void
+evas_output_inputarea_get(const Evas *eo_e, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
+{
+ EVAS_TYPE_CHECK(eo_e);
+
+ Evas_Public_Data *e = efl_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
+
+ if (x) *x = e->inputarea.x;
+ if (y) *y = e->inputarea.y;
+ if (w) *w = e->inputarea.w;
+ if (h) *h = e->inputarea.h;
+}
+
+
/* Internal EO APIs */
EWAPI const Efl_Event_Description _EVAS_CANVAS_EVENT_RENDER_FLUSH_PRE =
Eina_Bool changed : 1;
} framespace;
+ struct
+ {
+ Evas_Coord x, y, w, h;
+ } inputarea;
+
Eina_List *damages;
Eina_List *obscures;