efl: Introduce Eina.Rect and switch EO APIs to it

It's a complex struct but defined in EO as a simple struct. ABI-wise
it's equivalent to Eina_Rectangle. Some macros that use Eina_Rectangle
also work on Eina_Rect out of the box, most of the code dealing with
x,y,w,h will require no modifications either.

But Eina_Rect provides direct access to a size or position 2d component,
as well as the usual x,y,w,h. The field "rect" is provided as a
convenience for code dealing with both Eina_Rectangle and Eina_Rect. We
may or may not require it.

Note: Size2D could use unsigned values but I have spotted a few places
in the code that actually use -1 to indicate invalid size (as opposed to
0x0).

@feature
This commit is contained in:
Jean-Philippe Andre 2017-09-14 11:59:44 +09:00
parent cb3b4cc8d7
commit f3eff6eb3e
68 changed files with 237 additions and 213 deletions

View File

@ -763,7 +763,7 @@ _zoomable_clicked_cb(void *data EINA_UNUSED, const Efl_Event *ev)
static void
_zoomable_move_resize_cb(void *data, const Efl_Event *ev)
{
Eina_Rectangle r;
Eina_Rect r;
r = efl_gfx_geometry_get(ev->object);
efl_gfx_size_set(data, r.w, r.h);

View File

@ -170,7 +170,7 @@ _custom_layout_update(Eo *pack, const void *data EINA_UNUSED)
{
Eina_Iterator *it = efl_content_iterate(pack);
int count = efl_content_count(pack), i = 0;
Eina_Rectangle rp;
Eina_Rect rp;
Eo *sobj;
// Note: This is a TERRIBLE layout. Just an example of the API, not showing
@ -181,7 +181,7 @@ _custom_layout_update(Eo *pack, const void *data EINA_UNUSED)
rp = efl_gfx_geometry_get(pack);
EINA_ITERATOR_FOREACH(it, sobj)
{
Eina_Rectangle r;
Eina_Rect r;
int mw, mh;
efl_gfx_size_hint_combined_min_get(sobj, &mw, &mh);

View File

@ -133,7 +133,10 @@ _append_defval(const Eolian_Unit *src, Eina_Strbuf *buf,
if (tdcl && (eolian_typedecl_type_get(tdcl) == EOLIAN_TYPEDECL_STRUCT))
{
char *sn = eo_gen_c_full_name_get(eolian_typedecl_full_name_get(tdcl));
eina_strbuf_append_printf(buf, "((%s){0})", sn);
if (eina_streq(sn, "Eina_Rect"))
eina_strbuf_append(buf, "(EINA_RECT_EMPTY())");
else
eina_strbuf_append_printf(buf, "((%s){0})", sn);
free(sn);
return;
}

View File

@ -262,7 +262,7 @@ main(void)
/* Add an image object for 3D scene rendering. */
image = efl_add(EFL_CANVAS_SCENE3D_CLASS, evas);
efl_gfx_geometry_set(image, (Eina_Rectangle) { 0, 0, WIDTH, HEIGHT });
efl_gfx_geometry_set(image, EINA_RECT(0, 0, WIDTH, HEIGHT));
evas_object_show(image);
/* Set the image object as render target for 3D scene. */

View File

@ -70,7 +70,7 @@ _anim_cb(void *data)
{
App_Data *ad = data;
Evas_Object *o;
Eina_Rectangle rect;
Eina_Rect rect;
int r, g, b, a, f, h, w;
int win_w, win_h, mx, my;

View File

@ -3061,7 +3061,7 @@ ecore_evas_animator_tick(Ecore_Evas *ee, Eina_Rectangle *viewport, double loop_t
{
Ecore_Evas *subee;
Eina_List *l;
Efl_Event_Animator_Tick a = { { 0, 0, 0, 0 } };
Efl_Event_Animator_Tick a = { EINA_RECT_ZERO() };
if (!viewport)
{
@ -3069,7 +3069,7 @@ ecore_evas_animator_tick(Ecore_Evas *ee, Eina_Rectangle *viewport, double loop_t
}
else
{
a.update_area = *viewport;
a.update_area.rect = *viewport;
}
ecore_loop_time_set(loop_time);

View File

@ -114,8 +114,8 @@ _ector_renderer_cairo_gradient_linear_ector_renderer_cairo_fill(Eo *obj,
static void
_ector_renderer_cairo_gradient_linear_ector_renderer_bounds_get(Eo *obj,
Ector_Renderer_Cairo_Gradient_Linear_Data *pd EINA_UNUSED,
Eina_Rectangle *r)
Ector_Renderer_Cairo_Gradient_Linear_Data *pd EINA_UNUSED,
Eina_Rect *r)
{
Ector_Renderer_Gradient_Linear_Data *gld;
Ector_Renderer_Cairo_Data *bd;

View File

@ -120,8 +120,8 @@ _ector_renderer_cairo_gradient_radial_ector_renderer_cairo_fill(Eo *obj,
static void
_ector_renderer_cairo_gradient_radial_ector_renderer_bounds_get(Eo *obj EINA_UNUSED,
Ector_Renderer_Cairo_Gradient_Radial_Data *pd EINA_UNUSED,
Eina_Rectangle *r)
Ector_Renderer_Cairo_Gradient_Radial_Data *pd EINA_UNUSED,
Eina_Rect *r)
{
Ector_Renderer_Gradient_Radial_Data *gld;
Ector_Renderer_Cairo_Data *bd;

View File

@ -233,7 +233,7 @@ _ector_renderer_cairo_shape_ector_renderer_cairo_fill(Eo *obj EINA_UNUSED,
static void
_ector_renderer_cairo_shape_ector_renderer_bounds_get(Eo *obj,
Ector_Renderer_Cairo_Shape_Data *pd EINA_UNUSED,
Eina_Rectangle *r)
Eina_Rect *r)
{
Ector_Renderer_Cairo_Data *bd;

View File

@ -110,7 +110,7 @@ abstract Ector.Renderer (Efl.Object)
bounds_get @pure_virtual {
[[Retrieves the bounds of the renderer]]
params {
@out r: Eina.Rectangle; [[Bounds as @Eina.Rectangle]]
@out r: Eina.Rect; [[Bounds as @Eina.Rect]]
}
}
draw @pure_virtual {
@ -118,7 +118,7 @@ abstract Ector.Renderer (Efl.Object)
return: bool; [[$true on success, $false otherwise]]
params {
@in op: Efl.Gfx.Render_Op; [[Renderer operation]]
@in clips: array<ptr(Eina.Rectangle)>; [[Array of @Eina.Rectangle clip]]
@in clips: array<ptr(Eina.Rect)>; [[Array of @Eina.Rect clip]]
@in mul_col: uint; [[Premultiplied color]]
}
}

View File

@ -27,7 +27,7 @@ class Ector.GL.Surface (Ector.GL.Buffer, Ector.Surface)
return: bool; [[$true on success, $false otherwise]]
params {
@in op: Efl.Gfx.Render_Op; [[Render operation]]
@in clips: array<ptr(Eina.Rectangle)>; [[Array of @Eina.Rectangle clip]]
@in clips: array<ptr(Eina.Rect)>; [[Array of @Eina.Rect clip]]
}
}
}

View File

@ -41,8 +41,8 @@ _ector_renderer_gl_gradient_linear_ector_renderer_draw(Eo *obj, Ector_Renderer_G
static void
_ector_renderer_gl_gradient_linear_ector_renderer_bounds_get(Eo *obj EINA_UNUSED,
Ector_Renderer_GL_Gradient_Linear_Data *pd,
Eina_Rectangle *r)
Ector_Renderer_GL_Gradient_Linear_Data *pd,
Eina_Rect *r)
{
EINA_RECTANGLE_SET(r,
pd->base->origin.x + pd->linear->start.x,

View File

@ -55,8 +55,8 @@ _ector_renderer_gl_gradient_radial_ector_renderer_gl_fill(Eo *obj, Ector_Rendere
static void
_ector_renderer_gl_gradient_radial_ector_renderer_bounds_get(Eo *obj EINA_UNUSED,
Ector_Renderer_GL_Gradient_Radial_Data *pd,
Eina_Rectangle *r)
Ector_Renderer_GL_Gradient_Radial_Data *pd,
Eina_Rect *r)
{
EINA_RECTANGLE_SET(r,
pd->base->origin.x + pd->radial->radial.x - pd->radial->radius,

View File

@ -32,7 +32,7 @@ _ector_renderer_gl_shape_path_changed(void *data, const Efl_Event *event EINA_UN
static Eina_Bool
_ector_renderer_gl_shape_ector_renderer_prepare(Eo *obj, Ector_Renderer_GL_Shape_Data *pd)
{
Eina_Rectangle bounding_box;
Eina_Rect bounding_box;
Eina_Bool r;
if (pd->vertex) return EINA_TRUE;
@ -105,7 +105,7 @@ _ector_renderer_gl_shape_ector_renderer_gl_fill(Eo *obj EINA_UNUSED,
}
static void
_ector_renderer_gl_shape_ector_renderer_bounds_get(Eo *obj, Ector_Renderer_GL_Shape_Data *pd, Eina_Rectangle *r)
_ector_renderer_gl_shape_ector_renderer_bounds_get(Eo *obj, Ector_Renderer_GL_Shape_Data *pd, Eina_Rect *r)
{
efl_gfx_path_bounds_get(obj, r);

View File

@ -3616,7 +3616,7 @@ _edje_proxy_recalc_apply(Edje *ed, Edje_Real_Part *ep, Edje_Calc_Params *p3, Edj
}
}
efl_gfx_fill_set(ep->object, p3->type.common->fill);
efl_gfx_fill_set(ep->object, (Eina_Rect) p3->type.common->fill);
efl_image_smooth_scale_set(ep->object, p3->smooth);
evas_object_image_source_visible_set(ep->object, chosen_desc->proxy.source_visible);
evas_object_image_source_clip_set(ep->object, chosen_desc->proxy.source_clip);
@ -3656,7 +3656,7 @@ _edje_image_recalc_apply(Edje *ed, Edje_Real_Part *ep, Edje_Calc_Params *p3, Edj
set->entry->border.scale_by : p3->type.common->spec.image.border_scale_by;
}
efl_gfx_fill_set(ep->object, p3->type.common->fill);
efl_gfx_fill_set(ep->object, (Eina_Rect) p3->type.common->fill);
efl_image_smooth_scale_set(ep->object, p3->smooth);
if (chosen_desc->image.border.scale)
{

View File

@ -1101,7 +1101,7 @@ edje_object_size_min_restricted_calc(Edje_Object *obj, int *minw, int *minh, int
EAPI Eina_Bool
edje_object_parts_extends_calc(Edje_Object *obj, int *x, int *y, int *w, int *h)
{
Eina_Rectangle r = { 0, };
Eina_Rect r = EINA_RECT_ZERO();
Edje *ed;
ed = _edje_fetch(obj);

View File

@ -100,17 +100,17 @@ _efl_canvas_layout_part_efl_object_finalize(Eo *obj, Efl_Canvas_Layout_Part_Data
return efl_finalize(efl_super(obj, MY_CLASS));
}
EOLIAN Eina_Rectangle
EOLIAN Eina_Rect
_efl_canvas_layout_part_efl_gfx_geometry_get(Eo *obj, Efl_Canvas_Layout_Part_Data *pd)
{
Edje_Real_Part *rp = pd->rp;
Eina_Rectangle r = { 0, };
Eina_Rect r = EINA_RECT_ZERO();
PROXY_CALL_BEGIN(pd);
_edje_recalc_do(pd->ed);
if (!rp) RETURN_VAL(r);
RETURN_VAL(rp->rect);
RETURN_VAL((Eina_Rect) rp->rect);
}
EOLIAN static void

View File

@ -88,7 +88,7 @@ interface Efl.Canvas.Layout_Calc
Note: On failure, this function will make all non-$null geometry
pointers' pointed variables be set to zero.
]]
return: Eina.Rectangle; [[The calculated region.]]
return: Eina.Rect; [[The calculated region.]]
}
calc_freeze {
[[Freezes the layout object.

View File

@ -2,7 +2,7 @@ import eina_types;
struct Efl.Event.Animator_Tick {
[[EFL event animator tick data structure]]
update_area: Eina.Rectangle; [[Area of the canvas that will be pushed to screen.]]
update_area: Eina.Rect; [[Area of the canvas that will be pushed to screen.]]
}
interface Efl.Animator {

View File

@ -46,7 +46,7 @@ interface Efl.Gfx {
@property geometry {
[[Rectangular geometry that combines both position and size.]]
values {
rect: Eina.Rectangle; [[The X,Y position and W,H size, in pixels.]]
rect: Eina.Rect; [[The X,Y position and W,H size, in pixels.]]
}
}
@property color {

View File

@ -38,7 +38,7 @@ interface Efl.Gfx.Fill {
set {}
get {}
values {
fill: Eina.Rectangle; [[The top-left corner to start drawing from
fill: Eina.Rect; [[The top-left corner to start drawing from
as well as the size at which the bound image will be displayed.]]
}
}

View File

@ -207,9 +207,7 @@ _efl_gfx_path_length_get(Eo *obj EINA_UNUSED, Efl_Gfx_Path_Data *pd,
}
static void
_efl_gfx_path_bounds_get(Eo *obj EINA_UNUSED,
Efl_Gfx_Path_Data *pd,
Eina_Rectangle *r)
_efl_gfx_path_bounds_get(Eo *obj EINA_UNUSED, Efl_Gfx_Path_Data *pd, Eina_Rect *r)
{
double minx, miny, maxx, maxy;
unsigned int i;

View File

@ -64,7 +64,7 @@ mixin Efl.Gfx.Path
@since 1.18
]]
params {
@out r: Eina.Rectangle; [[Contain the bounding box of the currently set path]]
@out r: Eina.Rect; [[Contain the bounding box of the currently set path]]
}
}
reset {

View File

@ -158,7 +158,7 @@ enum Efl.Gfx.Change.Flag
struct Efl.Gfx.Event.Render_Post
{
[[Data sent along a "render,post" event, after a frame has been rendered.]]
updated_area: list <Eina.Rectangle>; [[A list of rectangles that were
updated_area: list <Eina.Rect>; [[A list of rectangles that were
updated in the canvas.]]
}

View File

@ -43,6 +43,22 @@
#define EINA_RECTANGLE_FORMAT "dx%d - %dx%d"
#define EINA_RECTANGLE_ARGS(r) (r)->x, (r)->y, (r)->w, (r)->h
#define EINA_RECT(x, y, w, h) ((Eina_Rect) { { x, y, w, h } })
#define EINA_RECT_ZERO() { EINA_RECTANGLE_INIT }
#define EINA_RECT_EMPTY() ((Eina_Rect) EINA_RECT_ZERO())
/** @brief A 2D position in pixels coordinates */
typedef struct _Eina_Position2D
{
int x, y;
} Eina_Position2D;
/** @brief A 2D size in pixels coordinates */
typedef struct _Eina_Size2D
{
int w, h;
} Eina_Size2D;
/**
* @typedef Eina_Rectangle
* Simple rectangle structure.
@ -55,6 +71,18 @@ typedef struct _Eina_Rectangle
int h; /**< height of rectangle */
} Eina_Rectangle;
typedef union _Eina_Rect
{
Eina_Rectangle rect;
struct {
Eina_Position2D pos;
Eina_Size2D size;
};
struct {
int x, y, w, h;
};
} Eina_Rect;
/**
* @typedef Eina_Rectangle_Pool
* Type for an opaque pool of rectangle.
@ -483,6 +511,8 @@ EAPI void eina_rectangle_pool_release(Eina_Rectangle *rect) EINA
(Rectangle)->h = H; \
}
#define EINA_RECT_SET(r, x, y, w, h) do { EINA_RECTANGLE_SET((&r), x, y, w, h) } while (0)
/**
* @brief Creates a new rectangle.

View File

@ -13,7 +13,7 @@
EOLIAN static void
_efl_access_component_position_get(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, Eina_Bool type, int *x, int *y)
{
Eina_Rectangle r;
Eina_Rect r;
r = efl_access_component_extents_get(obj, type);
if (x) *x = r.x;
@ -23,7 +23,7 @@ _efl_access_component_position_get(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, E
EOLIAN static Eina_Bool
_efl_access_component_position_set(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, Eina_Bool type, int x, int y)
{
Eina_Rectangle r;
Eina_Rect r;
r = efl_access_component_extents_get(obj, type);
r.x = x;
@ -34,7 +34,7 @@ _efl_access_component_position_set(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, E
EOLIAN static Eina_Bool
_efl_access_component_size_set(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, int w, int h)
{
Eina_Rectangle r;
Eina_Rect r;
r = efl_access_component_extents_get(obj, EINA_FALSE);
r.w = w;
@ -45,7 +45,7 @@ _efl_access_component_size_set(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, int w
EOLIAN static void
_efl_access_component_size_get(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, int *w, int *h)
{
Eina_Rectangle r;
Eina_Rect r;
r = efl_access_component_extents_get(obj, EINA_FALSE);
if (w) *w = r.w;
@ -55,10 +55,10 @@ _efl_access_component_size_get(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, int *
EOLIAN static Eina_Bool
_efl_access_component_contains(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, Eina_Bool type, int x, int y)
{
Eina_Rectangle r;
Eina_Rect r;
r = efl_access_component_extents_get(obj, type);
return eina_rectangle_coords_inside(&r, x, y);
return eina_rectangle_coords_inside(&r.rect, x, y);
}
EOLIAN static double
@ -96,10 +96,10 @@ _efl_access_component_accessible_at_point_get(Eo *obj, void *_pd EINA_UNUSED, Ei
return ret;
}
EOLIAN static Eina_Rectangle
EOLIAN static Eina_Rect
_efl_access_component_extents_get(Eo *obj, void *_pd EINA_UNUSED, Eina_Bool screen_coords)
{
Eina_Rectangle r;
Eina_Rect r;
r = efl_gfx_geometry_get(obj);
if (screen_coords)
@ -117,7 +117,7 @@ _efl_access_component_extents_get(Eo *obj, void *_pd EINA_UNUSED, Eina_Bool scre
}
EOLIAN static Eina_Bool
_efl_access_component_extents_set(Eo *obj, void *_pd EINA_UNUSED, Eina_Bool screen_coords, Eina_Rectangle r)
_efl_access_component_extents_set(Eo *obj, void *_pd EINA_UNUSED, Eina_Bool screen_coords, Eina_Rect r)
{
int wx, wy;

View File

@ -54,7 +54,7 @@ mixin Efl.Access.Component ()
screen origin, otherwise relative to canvas]]
}
values {
rect: Eina.Rectangle; [[The geometry.]]
rect: Eina.Rect; [[The geometry.]]
}
}
@property position @protected {

View File

@ -206,7 +206,7 @@ node_item_free(Node *item)
//CALCULATING STUFF
static inline int
_distance(Eina_Rectangle node, Eina_Rectangle op, Dimension dim)
_distance(Eina_Rect node, Eina_Rect op, Dimension dim)
{
int min, max, point;
int v1, v2;
@ -214,13 +214,13 @@ _distance(Eina_Rectangle node, Eina_Rectangle op, Dimension dim)
if (dim == DIMENSION_X)
{
min = op.x;
max = eina_rectangle_max_x(&op);
max = eina_rectangle_max_x(&op.rect);
point = node.x + node.w/2;
}
else
{
min = op.y;
max = eina_rectangle_max_y(&op);
max = eina_rectangle_max_y(&op.rect);
point = node.y + node.h/2;
}
@ -236,7 +236,7 @@ _distance(Eina_Rectangle node, Eina_Rectangle op, Dimension dim)
static inline void
_calculate_node(Efl_Ui_Focus_Manager_Calc_Data *pd, Efl_Ui_Focus_Object *node, Dimension dim, Eina_List **pos, Eina_List **neg)
{
Eina_Rectangle rect = EINA_RECTANGLE_INIT;
Eina_Rect rect;
Efl_Ui_Focus_Object *op;
int dim_min, dim_max;
Eina_Iterator *nodes;
@ -262,7 +262,7 @@ _calculate_node(Efl_Ui_Focus_Manager_Calc_Data *pd, Efl_Ui_Focus_Object *node, D
EINA_ITERATOR_FOREACH(nodes, n)
{
Eina_Rectangle op_rect = EINA_RECTANGLE_INIT;
Eina_Rect op_rect;
int min, max;
op = n->focusable;
@ -275,12 +275,12 @@ _calculate_node(Efl_Ui_Focus_Manager_Calc_Data *pd, Efl_Ui_Focus_Object *node, D
if (dim == DIMENSION_X)
{
min = op_rect.y;
max = eina_rectangle_max_y(&op_rect);
max = eina_rectangle_max_y(&op_rect.rect);
}
else
{
min = op_rect.x;
max = eina_rectangle_max_x(&op_rect);
max = eina_rectangle_max_x(&op_rect.rect);
}
@ -290,7 +290,7 @@ _calculate_node(Efl_Ui_Focus_Manager_Calc_Data *pd, Efl_Ui_Focus_Object *node, D
*/
if (!((min <= max && max <= dim_min && dim_min <= dim_max) ||
(dim_min <= dim_max && dim_max <= min && min <= max)) &&
!eina_rectangle_intersection(&op_rect, &rect))
!eina_rectangle_intersection(&op_rect.rect, &rect.rect))
{
//this thing hits horizontal
int tmp_dis;
@ -959,7 +959,7 @@ _no_history_element(Eina_Hash *node_hash)
static void
_get_middle(Evas_Object *obj, Eina_Vector2 *elem)
{
Eina_Rectangle geom;
Eina_Rect geom;
geom = efl_ui_focus_object_focus_geometry_get(obj);
elem->x = geom.x + geom.w/2;

View File

@ -13,7 +13,7 @@ mixin Efl.Ui.Focus.Object
}
values {
rect : Eina.Rectangle; [[The geometry to use.]]
rect : Eina.Rect; [[The geometry to use.]]
}
}
@property focus {

View File

@ -1041,7 +1041,6 @@ _cursor_geometry_recalc(Evas_Object *obj)
Evas_Coord x, y, w, h;
Evas_Coord x2, y2, w2, h2;
Evas_Coord cx, cy, cw, ch;
Eina_Rectangle sr;
cx = cy = cw = ch = 0;
x2 = y2 = w2 = h2 = 0;
@ -1063,8 +1062,7 @@ _cursor_geometry_recalc(Evas_Object *obj)
&x2, &y2, &w2, &h2);
cx = cx + x - x2;
cy = cy + y - y2;
sr = (Eina_Rectangle) { cx, cy, cw, ch };
elm_widget_show_region_set(obj, sr, EINA_FALSE);
elm_widget_show_region_set(obj, EINA_RECT(cx, cy, cw, ch), EINA_FALSE);
}
EOLIAN static void
@ -1207,11 +1205,11 @@ _efl_ui_text_elm_widget_on_focus_update(Eo *obj, Efl_Ui_Text_Data *sd, Elm_Objec
return EINA_TRUE;
}
EOLIAN static Eina_Rectangle
EOLIAN static Eina_Rect
_efl_ui_text_elm_widget_focus_region_get(Eo *obj EINA_UNUSED, Efl_Ui_Text_Data *sd)
{
Evas_Coord edje_x, edje_y, elm_x, elm_y;
Eina_Rectangle r = {};
Eina_Rect r = {};
efl_text_cursor_geometry_get(obj,
efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_MAIN),
@ -1237,7 +1235,7 @@ _efl_ui_text_elm_widget_focus_region_get(Eo *obj EINA_UNUSED, Efl_Ui_Text_Data *
}
static void
_show_region_hook(void *data EINA_UNUSED, Evas_Object *obj, Eina_Rectangle r)
_show_region_hook(void *data EINA_UNUSED, Evas_Object *obj, Eina_Rect r)
{
elm_interface_scrollable_content_region_show(obj, r.x, r.y, r.w, r.h);
}
@ -4247,7 +4245,7 @@ _efl_ui_text_elm_interface_atspi_text_selection_add(Eo *obj, Efl_Ui_Text_Data *p
}
EOLIAN static Eina_List*
_efl_ui_text_elm_interface_atspi_text_bounded_ranges_get(Eo *obj EINA_UNUSED, Efl_Ui_Text_Data *_pd EINA_UNUSED, Eina_Bool screen_coods EINA_UNUSED, Eina_Rectangle rect EINA_UNUSED, Elm_Atspi_Text_Clip_Type xclip EINA_UNUSED, Elm_Atspi_Text_Clip_Type yclip EINA_UNUSED)
_efl_ui_text_elm_interface_atspi_text_bounded_ranges_get(Eo *obj EINA_UNUSED, Efl_Ui_Text_Data *_pd EINA_UNUSED, Eina_Bool screen_coods EINA_UNUSED, Eina_Rect rect EINA_UNUSED, Elm_Atspi_Text_Clip_Type xclip EINA_UNUSED, Elm_Atspi_Text_Clip_Type yclip EINA_UNUSED)
{
return NULL;
}
@ -4286,7 +4284,7 @@ _efl_ui_text_elm_interface_atspi_text_offset_at_point_get(Eo *obj, Efl_Ui_Text_D
}
EOLIAN static Eina_Bool
_efl_ui_text_elm_interface_atspi_text_character_extents_get(Eo *obj, Efl_Ui_Text_Data *pd EINA_UNUSED, int offset, Eina_Bool screen_coods, Eina_Rectangle *rect)
_efl_ui_text_elm_interface_atspi_text_character_extents_get(Eo *obj, Efl_Ui_Text_Data *pd EINA_UNUSED, int offset, Eina_Bool screen_coods, Eina_Rect *rect)
{
Evas_Textblock_Cursor *cur;
int ret;
@ -4317,7 +4315,7 @@ _efl_ui_text_elm_interface_atspi_text_character_extents_get(Eo *obj, Efl_Ui_Text
}
EOLIAN static Eina_Bool
_efl_ui_text_elm_interface_atspi_text_range_extents_get(Eo *obj, Efl_Ui_Text_Data *pd EINA_UNUSED, Eina_Bool screen_coods, int start_offset, int end_offset, Eina_Rectangle *rect)
_efl_ui_text_elm_interface_atspi_text_range_extents_get(Eo *obj, Efl_Ui_Text_Data *pd EINA_UNUSED, Eina_Bool screen_coods, int start_offset, int end_offset, Eina_Rect *rect)
{
Evas_Textblock_Cursor *cur1, *cur2;
int ret;

View File

@ -164,7 +164,7 @@ _text_on_line_draw(Efl_Ui_Textpath_Data *pd, int w1, int w2, int cmp, Evas_Map *
{
double x1, x2, y1, y2;
double line_len, len, sina, cosa;
Eina_Rectangle r;
Eina_Rect r;
x1 = line.start.x;
y1 = line.start.y;

View File

@ -1037,7 +1037,7 @@ static void
_elm_win_focus_highlight_anim_setup(Efl_Ui_Win_Data *sd,
Evas_Object *obj)
{
Eina_Rectangle rt, rp;
Eina_Rect rt, rp;
Edje_Message_Int_Set *m;
Evas_Object *target = sd->focus_highlight.cur.target;
@ -1045,7 +1045,7 @@ _elm_win_focus_highlight_anim_setup(Efl_Ui_Win_Data *sd,
rt = elm_widget_focus_highlight_geometry_get(target);
efl_gfx_geometry_set(obj, rt);
if (eina_rectangle_equal(&rp, &rt)) return;
if (eina_rectangle_equal(&rp.rect, &rt.rect)) return;
if (!_elm_config->focus_highlight_clip_disable)
evas_object_clip_unset(obj);
@ -6713,10 +6713,10 @@ _efl_ui_win_elm_interface_atspi_accessible_name_get(Eo *obj, Efl_Ui_Win_Data *sd
return name;
}
EOLIAN static Eina_Rectangle
EOLIAN static Eina_Rect
_efl_ui_win_efl_access_component_extents_get(Eo *obj, Efl_Ui_Win_Data *_pd EINA_UNUSED, Eina_Bool screen_coords)
{
Eina_Rectangle r;
Eina_Rect r;
int ee_x, ee_y;
r = efl_gfx_geometry_get(obj);

View File

@ -1080,12 +1080,7 @@ _entry_resize_cb(void *data,
ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
if (elm_widget_focus_get(sd->parent))
{
Eina_Rectangle sr = {};
evas_object_geometry_get(sd->entry, &sr.x, &sr.y, &sr.w, &sr.h);
elm_widget_show_region_set(sd->entry, sr, EINA_TRUE);
}
elm_widget_show_region_set(sd->entry, efl_gfx_geometry_get(sd->entry), EINA_TRUE);
}
static void

View File

@ -1507,7 +1507,7 @@ _text_character_extents_get(const Eldbus_Service_Interface *iface, const Eldbus_
Eo *bridge = eldbus_service_object_data_get(iface, ELM_ATSPI_BRIDGE_CLASS_NAME);
Eo *obj = _bridge_object_from_path(bridge, obj_path);
int offset;
Eina_Rectangle rect;
Eina_Rect rect;
AtspiCoordType type;
Eina_Bool screen_coords, res;
Eldbus_Message *ret;
@ -1690,7 +1690,7 @@ _text_range_extents_get(const Eldbus_Service_Interface *iface, const Eldbus_Mess
Eo *bridge = eldbus_service_object_data_get(iface, ELM_ATSPI_BRIDGE_CLASS_NAME);
Eo *obj = _bridge_object_from_path(bridge, obj_path);
int start, end;
Eina_Rectangle rect;
Eina_Rect rect;
Eina_Bool screen_coords, res;
AtspiCoordType type;
Eldbus_Message *ret;
@ -1722,7 +1722,7 @@ _text_bounded_ranges_get(const Eldbus_Service_Interface *iface, const Eldbus_Mes
const char *obj_path = eldbus_message_path_get(msg);
Eo *bridge = eldbus_service_object_data_get(iface, ELM_ATSPI_BRIDGE_CLASS_NAME);
Eo *obj = _bridge_object_from_path(bridge, obj_path);
Eina_Rectangle rect;
Eina_Rect rect;
Eina_Bool screen_coords;
AtspiCoordType type;
Elm_Atspi_Text_Clip_Type xclip, yclip;
@ -3351,7 +3351,7 @@ _component_get_extents(const Eldbus_Service_Interface *iface EINA_UNUSED, const
AtspiCoordType coord_type;
Eldbus_Message *ret;
Eldbus_Message_Iter *iter, *iter_struct;
Eina_Rectangle r;
Eina_Rect r;
ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_COMPONENT_MIXIN, msg);
@ -3523,8 +3523,7 @@ _component_set_extends(const Eldbus_Service_Interface *iface EINA_UNUSED, const
return eldbus_message_error_new(msg, "org.freedesktop.DBus.Error.InvalidArgs", "Invalid index type.");
Eina_Bool type = coord_type == ATSPI_COORD_TYPE_SCREEN ? EINA_TRUE : EINA_FALSE;
Eina_Rectangle r = (Eina_Rectangle) { x, y, w, h };
result = efl_access_component_extents_set(obj, type, r);
result = efl_access_component_extents_set(obj, type, EINA_RECT(x, y, w, h));
ret = eldbus_message_method_return_new(msg);
EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL);

View File

@ -2258,22 +2258,18 @@ _access_obj_process(Evas_Object *obj, Eina_Bool is_access)
}
}
EOLIAN static Eina_Rectangle
EOLIAN static Eina_Rect
_elm_colorselector_elm_widget_focus_highlight_geometry_get(Eo *obj EINA_UNUSED, Elm_Colorselector_Data *sd)
{
Eina_Rectangle r = {};
if (sd->focused_item && (sd->focused == ELM_COLORSELECTOR_PALETTE))
{
ELM_COLOR_ITEM_DATA_GET(sd->focused_item, focus_it);
evas_object_geometry_get(VIEW(focus_it), &r.x, &r.y, &r.w, &r.h);
return efl_gfx_geometry_get(VIEW(focus_it));
}
else if(sd->focused == ELM_COLORSELECTOR_COMPONENTS)
evas_object_geometry_get(sd->cb_data[sd->sel_color_type]->colorbar, &r.x, &r.y, &r.w, &r.h);
else
evas_object_geometry_get(obj, &r.x, &r.y, &r.w, &r.h);
return efl_gfx_geometry_get(sd->cb_data[sd->sel_color_type]->colorbar);
return r;
return efl_gfx_geometry_get(obj);
}
EOLIAN static void

View File

@ -663,7 +663,7 @@ _show_region_job(void *data)
focus_obj = elm_obj_widget_focused_object_get(data);
if (focus_obj)
{
Eina_Rectangle r = elm_widget_focus_region_get(focus_obj);
Eina_Rect r = elm_widget_focus_region_get(focus_obj);
if (r.h < _elm_config->finger_size)
r.h = _elm_config->finger_size;

View File

@ -221,6 +221,6 @@ class Elm.Ctxpopup (Efl.Ui.Layout, Elm.Interface.Atspi_Widget_Action,
}
events {
dismissed; [[Called when context popup was dismissed]]
geometry,update: const(ptr(Eina.Rectangle)); [[Called when context popup geometry was updated]]
geometry,update: const(ptr(Eina.Rect)); [[Called when context popup geometry was updated]]
}
}

View File

@ -1010,7 +1010,7 @@ _cursor_geometry_recalc(Evas_Object *obj)
{
if (sd->cur_changed)
{
Eina_Rectangle sr = {};
Eina_Rect sr = {};
sd->cur_changed = EINA_FALSE;
edje_object_part_text_cursor_geometry_get
@ -1084,7 +1084,7 @@ _deferred_recalc_job(void *data)
{
if (sd->cur_changed)
{
Eina_Rectangle sr = {};
Eina_Rect sr = {};
sd->cur_changed = EINA_FALSE;
edje_object_part_text_cursor_geometry_get
@ -1307,13 +1307,13 @@ _elm_entry_elm_widget_on_focus_update(Eo *obj, Elm_Entry_Data *sd, Elm_Object_It
return EINA_TRUE;
}
EOLIAN static Eina_Rectangle
EOLIAN static Eina_Rect
_elm_entry_elm_widget_focus_region_get(Eo *obj, Elm_Entry_Data *sd)
{
Evas_Coord cx, cy, cw, ch;
Evas_Coord edx, edy;
Evas_Coord elx, ely, elw, elh;
Eina_Rectangle r;
Eina_Rect r;
edje_object_part_text_cursor_geometry_get
(sd->entry_edje, "elm.text", &cx, &cy, &cw, &ch);
@ -1340,7 +1340,7 @@ _elm_entry_elm_widget_focus_region_get(Eo *obj, Elm_Entry_Data *sd)
}
static void
_show_region_hook(void *data EINA_UNUSED, Evas_Object *obj, Eina_Rectangle r)
_show_region_hook(void *data EINA_UNUSED, Evas_Object *obj, Eina_Rect r)
{
elm_interface_scrollable_content_region_show(obj, r.x, r.y, r.w, r.h);
}
@ -5683,7 +5683,7 @@ _elm_entry_elm_interface_atspi_text_selection_add(Eo *obj, Elm_Entry_Data *pd EI
}
EOLIAN static Eina_List*
_elm_entry_elm_interface_atspi_text_bounded_ranges_get(Eo *obj EINA_UNUSED, Elm_Entry_Data *_pd EINA_UNUSED, Eina_Bool screen_coods EINA_UNUSED, Eina_Rectangle rect EINA_UNUSED, Elm_Atspi_Text_Clip_Type xclip EINA_UNUSED, Elm_Atspi_Text_Clip_Type yclip EINA_UNUSED)
_elm_entry_elm_interface_atspi_text_bounded_ranges_get(Eo *obj EINA_UNUSED, Elm_Entry_Data *_pd EINA_UNUSED, Eina_Bool screen_coods EINA_UNUSED, Eina_Rect rect EINA_UNUSED, Elm_Atspi_Text_Clip_Type xclip EINA_UNUSED, Elm_Atspi_Text_Clip_Type yclip EINA_UNUSED)
{
return NULL;
}
@ -5723,7 +5723,7 @@ _elm_entry_elm_interface_atspi_text_offset_at_point_get(Eo *obj, Elm_Entry_Data
}
EOLIAN static Eina_Bool
_elm_entry_elm_interface_atspi_text_character_extents_get(Eo *obj, Elm_Entry_Data *_pd EINA_UNUSED, int offset, Eina_Bool screen_coods, Eina_Rectangle *rect)
_elm_entry_elm_interface_atspi_text_character_extents_get(Eo *obj, Elm_Entry_Data *_pd EINA_UNUSED, int offset, Eina_Bool screen_coods, Eina_Rect *rect)
{
Evas_Object *txtblk;
Evas_Textblock_Cursor *cur;
@ -5755,7 +5755,7 @@ _elm_entry_elm_interface_atspi_text_character_extents_get(Eo *obj, Elm_Entry_Dat
}
EOLIAN static Eina_Bool
_elm_entry_elm_interface_atspi_text_range_extents_get(Eo *obj, Elm_Entry_Data *_pd EINA_UNUSED, Eina_Bool screen_coods, int start_offset, int end_offset, Eina_Rectangle *rect)
_elm_entry_elm_interface_atspi_text_range_extents_get(Eo *obj, Elm_Entry_Data *_pd EINA_UNUSED, Eina_Bool screen_coods, int start_offset, int end_offset, Eina_Rect *rect)
{
Evas_Object *txtblk;
Evas_Textblock_Cursor *cur1, *cur2;

View File

@ -3538,10 +3538,10 @@ _elm_gengrid_elm_widget_on_focus_update(Eo *obj, Elm_Gengrid_Data *sd, Elm_Objec
return EINA_TRUE;
}
EOLIAN static Eina_Rectangle
EOLIAN static Eina_Rect
_elm_gengrid_elm_widget_focus_region_get(Eo *obj, Elm_Gengrid_Data *sd)
{
Eina_Rectangle r = {};
Eina_Rect r = {};
if (!sd->focused_item) goto end;
if (elm_object_focus_region_show_mode_get(obj) == ELM_FOCUS_REGION_SHOW_ITEM)
@ -5482,11 +5482,11 @@ elm_gengrid_nth_item_get(const Evas_Object *obj, unsigned int nth)
return EO_OBJ(it);
}
EOLIAN static Eina_Rectangle
EOLIAN static Eina_Rect
_elm_gengrid_elm_widget_focus_highlight_geometry_get(Eo *obj, Elm_Gengrid_Data *sd)
{
Evas_Coord ox, oy, oh, ow, item_x = 0, item_y = 0, item_w = 0, item_h = 0;
Eina_Rectangle r = {};
Eina_Rect r = {};
evas_object_geometry_get(sd->pan_obj, &ox, &oy, &ow, &oh);

View File

@ -3465,7 +3465,7 @@ _elm_genlist_elm_widget_theme_apply(Eo *obj, Elm_Genlist_Data *sd)
/* FIXME: take off later. maybe this show region coords belong in the
* interface (new api functions, set/get)? */
static void
_show_region_hook(void *data EINA_UNUSED, Evas_Object *obj, Eina_Rectangle r)
_show_region_hook(void *data EINA_UNUSED, Evas_Object *obj, Eina_Rect r)
{
ELM_GENLIST_DATA_GET_OR_RETURN(obj, sd);
@ -8446,11 +8446,11 @@ elm_genlist_nth_item_get(const Evas_Object *obj, unsigned int nth)
return EO_OBJ(it);
}
EOLIAN static Eina_Rectangle
EOLIAN static Eina_Rect
_elm_genlist_elm_widget_focus_highlight_geometry_get(Eo *obj, Elm_Genlist_Data *sd)
{
Evas_Coord ox, oy, oh, ow, item_x = 0, item_y = 0, item_w = 0, item_h = 0;
Eina_Rectangle r = {};
Eina_Rect r = {};
evas_object_geometry_get(sd->pan_obj, &ox, &oy, &ow, &oh);

View File

@ -141,7 +141,7 @@ interface Elm.Interface.Atspi.Text ()
screen_coords: bool; [[If $true, x and y values will be relative to screen origin, otherwise relative to canvas]]
}
values {
rect: Eina.Rectangle; [[Extents rectangle]]
rect: Eina.Rect; [[Extents rectangle]]
}
}
@property character_count @protected {
@ -171,7 +171,7 @@ interface Elm.Interface.Atspi.Text ()
}
keys {
screen_coords: bool; [[If $true, x and y values will be relative to screen origin, otherwise relative to canvas]]
rect: Eina.Rectangle; [[Bounding box]]
rect: Eina.Rect; [[Bounding box]]
xclip: Elm.Atspi_Text.Clip_Type; [[AT-SPI xclip]]
yclip: Elm.Atspi_Text.Clip_Type; [[AT-SPI yclip]]
}
@ -190,7 +190,7 @@ interface Elm.Interface.Atspi.Text ()
end_offset: int; [[End offset]]
}
values {
rect: Eina.Rectangle; [[Range rectangle]]
rect: Eina.Rect; [[Range rectangle]]
}
}
@property selections_count @protected {

View File

@ -1025,7 +1025,7 @@ _size_hints_changed_cb(void *data,
/* FIXME: take off later. maybe this show region coords belong in the
* interface (new api functions, set/get)? */
static void
_show_region_hook(void *data EINA_UNUSED, Evas_Object *obj, Eina_Rectangle r)
_show_region_hook(void *data EINA_UNUSED, Evas_Object *obj, Eina_Rect r)
{
elm_interface_scrollable_content_region_set(obj, r.x, r.y, r.w, r.h);
}
@ -3086,7 +3086,7 @@ _elm_list_focus_on_selection_get(Eo *obj EINA_UNUSED, Elm_List_Data *sd)
return sd->focus_on_selection_enabled;
}
static Eina_Rectangle
static Eina_Rect
_elm_list_item_coordinates_adjust(Elm_List_Item_Data *it)
{
Evas_Coord ix, iy, iw, ih, vx, vy, vw, vh;
@ -3106,13 +3106,13 @@ _elm_list_item_coordinates_adjust(Elm_List_Item_Data *it)
if ((ix + iw) > (vx + vw))
iw = (vx + vw - ix);
return (Eina_Rectangle) { ix, iy, iw, ih };
return EINA_RECT(ix, iy, iw, ih);
}
EOLIAN static Eina_Rectangle
EOLIAN static Eina_Rect
_elm_list_elm_widget_focus_highlight_geometry_get(Eo *obj EINA_UNUSED, Elm_List_Data *sd)
{
Eina_Rectangle r = {};
Eina_Rect r = {};
if (sd->focused_item)
{

View File

@ -184,7 +184,6 @@ _sizing_eval(Evas_Object *obj)
Elm_Object_Item *eo_item;
Evas_Coord x_p, y_p, w_p, h_p, x2, y2, w2, h2, bw, bh;
Elm_Widget_Smart_Data *hover;
Eina_Rectangle r;
ELM_MENU_DATA_GET(obj, sd);
@ -211,8 +210,7 @@ _sizing_eval(Evas_Object *obj)
if (y_p + h_p + bh > y2 + h2) y_p -= y_p + h_p + bh - (y2 + h2);
if (y_p < y2) y_p = y2;
r = (Eina_Rectangle) { x_p, y_p, bw, h_p };
efl_gfx_geometry_set(sd->location, r);
efl_gfx_geometry_set(sd->location, EINA_RECT(x_p, y_p, bw, h_p));
evas_object_size_hint_min_set(sd->location, bw, h_p);
evas_object_size_hint_max_set(sd->location, bw, h_p);
elm_hover_target_set(sd->hv, sd->location);

View File

@ -1107,10 +1107,10 @@ _elm_panel_toggle(Eo *obj, Elm_Panel_Data *_pd EINA_UNUSED)
_panel_toggle(NULL, obj, NULL, NULL);
}
EOLIAN static Eina_Rectangle
EOLIAN static Eina_Rect
_elm_panel_elm_widget_focus_region_get(Eo *obj, Elm_Panel_Data *sd)
{
Eina_Rectangle r = {};
Eina_Rect r = {};
elm_interface_scrollable_content_pos_get(obj, &r.x, &r.y);
evas_object_geometry_get(obj, NULL, NULL, &r.w, &r.h);

View File

@ -536,7 +536,7 @@ _elm_scroller_elm_widget_focus_direction(Eo *obj, Elm_Scroller_Data *sd, const E
}
static void
_show_region_hook(void *data, Evas_Object *content_obj EINA_UNUSED, Eina_Rectangle r)
_show_region_hook(void *data, Evas_Object *content_obj EINA_UNUSED, Eina_Rect r)
{
elm_interface_scrollable_content_region_show(data, r.x, r.y, r.w, r.h);
}

View File

@ -2414,10 +2414,10 @@ _access_widget_item_register(Elm_Toolbar_Item_Data *it)
_elm_access_activate_callback_set(ai, _access_activate_cb, NULL);
}
EOLIAN static Eina_Rectangle
EOLIAN static Eina_Rect
_elm_toolbar_item_efl_ui_focus_object_focus_geometry_get(Eo *obj EINA_UNUSED, Elm_Toolbar_Item_Data *pd)
{
Eina_Rectangle rect;
Eina_Rect rect;
evas_object_geometry_get(VIEW(pd), &rect.x, &rect.y, &rect.w, &rect.h);
@ -3010,17 +3010,17 @@ _elm_toolbar_elm_widget_on_access_update(Eo *obj EINA_UNUSED, Elm_Toolbar_Data *
_access_obj_process(sd, _elm_toolbar_smart_focus_next_enable);
}
static Eina_Rectangle
static Eina_Rect
_elm_toolbar_coordinates_adjust(Elm_Toolbar_Item_Data *it)
{
ELM_TOOLBAR_DATA_GET(WIDGET(it), sd);
Evas_Coord ix, iy, iw, ih, vx, vy, vw, vh;
Eina_Rectangle r;
Eina_Rect r;
evas_object_geometry_get(sd->hit_rect, &vx, &vy, &vw, &vh);
evas_object_geometry_get(VIEW(it), &ix, &iy, &iw, &ih);
r = (Eina_Rectangle) { ix, iy, iw, ih };
r = EINA_RECT(ix, iy, iw, ih);
if (!efl_ui_dir_is_horizontal(sd->dir, EINA_TRUE))
{
@ -3049,10 +3049,10 @@ _elm_toolbar_item_efl_ui_focus_object_focus_set(Eo *obj, Elm_Toolbar_Item_Data *
elm_wdg_item_focus_set(obj, focus);
}
EOLIAN static Eina_Rectangle
EOLIAN static Eina_Rect
_elm_toolbar_elm_widget_focus_highlight_geometry_get(Eo *obj, Elm_Toolbar_Data *sd)
{
Eina_Rectangle r = {};
Eina_Rect r = {};
if (sd->focused_item)
{

View File

@ -506,12 +506,12 @@ _recover_image_uv(Evas_Object *obj, Evas_Map *map, Eina_Bool revert, Eina_Bool b
//Zooming image fill area.
else
{
Eina_Rectangle fill;
Eina_Rect fill;
fill = efl_gfx_fill_get(obj);
efl_gfx_size_get(obj, &w, &h);
EINA_SAFETY_ON_FALSE_RETURN_VAL(eina_rectangle_is_valid(&fill), EINA_FALSE);
EINA_SAFETY_ON_FALSE_RETURN_VAL(eina_rectangle_is_valid(&fill.rect), EINA_FALSE);
double rate_x = (double) w / (double) fill.w;
double rate_y = (double) h / (double) fill.h;
double rate_x2 = (double) iw / (double) fill.w;

View File

@ -1122,14 +1122,14 @@ EOLIAN static void
_elm_widget_focus_region_show(Eo *obj, Elm_Widget_Smart_Data *_pd EINA_UNUSED)
{
Evas_Coord ox, oy;
Eina_Rectangle r;
Eina_Rect r;
Evas_Object *o;
o = elm_widget_parent_get(obj);
if (!o) return;
r = elm_widget_focus_region_get(obj);
if (eina_rectangle_is_empty(&r)) return;
if (eina_rectangle_is_empty(&r.rect)) return;
evas_object_geometry_get(obj, &ox, &oy, NULL, NULL);
@ -3467,14 +3467,14 @@ _elm_widget_disabled_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd)
}
EOLIAN static void
_elm_widget_show_region_set(Eo *obj, Elm_Widget_Smart_Data *sd, Eina_Rectangle sr, Eina_Bool forceshow)
_elm_widget_show_region_set(Eo *obj, Elm_Widget_Smart_Data *sd, Eina_Rect sr, Eina_Bool forceshow)
{
Evas_Object *parent_obj, *child_obj;
Evas_Coord px, py, cx, cy, nx = 0, ny = 0;
evas_smart_objects_calculate(evas_object_evas_get(obj));
if (!forceshow && eina_rectangle_equal(&sr, &sd->show_region)) return;
if (!forceshow && eina_rectangle_equal(&sr.rect, &sd->show_region.rect)) return;
sd->show_region = sr;
if (sd->on_show_region)
@ -3510,10 +3510,10 @@ _elm_widget_show_region_set(Eo *obj, Elm_Widget_Smart_Data *sd, Eina_Rectangle s
while (parent_obj);
}
EOLIAN static Eina_Rectangle
EOLIAN static Eina_Rect
_elm_widget_show_region_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd)
{
return sd->show_region;
return (Eina_Rect) sd->show_region;
}
/**
@ -3534,10 +3534,10 @@ _elm_widget_show_region_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd)
*
* @ingroup Widget
*/
EOLIAN static Eina_Rectangle
EOLIAN static Eina_Rect
_elm_widget_focus_region_get(Eo *obj, Elm_Widget_Smart_Data *_pd EINA_UNUSED)
{
Eina_Rectangle r = {};
Eina_Rect r = {};
efl_gfx_size_get(obj, &r.w, &r.h);
return r;
}
@ -4516,12 +4516,12 @@ elm_widget_focus_highlight_focus_part_geometry_get(const Evas_Object *obj,
if (th != *h) *h = th;
}
EOLIAN static Eina_Rectangle
EOLIAN static Eina_Rect
_elm_widget_focus_highlight_geometry_get(Eo *obj, Elm_Widget_Smart_Data *sd)
{
Evas_Coord ox = 0, oy = 0, ow = 0, oh = 0;
Evas_Object *scroller = (Evas_Object *)obj;
Eina_Rectangle r = {};
Eina_Rect r = {};
evas_object_geometry_get(obj, &r.x, &r.y, &r.w, &r.h);
elm_widget_focus_highlight_focus_part_geometry_get(sd->resize_obj, &r.x, &r.y, &r.w, &r.h);
@ -6425,10 +6425,10 @@ _elm_widget_elm_interface_atspi_accessible_attributes_get(Eo *obj, Elm_Widget_Sm
return ret;
}
EOLIAN static Eina_Rectangle
EOLIAN static Eina_Rect
_elm_widget_item_efl_access_component_extents_get(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *sd EINA_UNUSED, Eina_Bool screen_coords)
{
Eina_Rectangle r = { -1, -1, -1, -1 };
Eina_Rect r = EINA_RECT(-1, -1, -1, -1);
int ee_x, ee_y;
if (!sd->view) return r;
@ -6448,7 +6448,7 @@ _elm_widget_item_efl_access_component_extents_get(Eo *obj EINA_UNUSED, Elm_Widge
}
EOLIAN static Eina_Bool
_elm_widget_item_efl_access_component_extents_set(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *sd EINA_UNUSED, Eina_Bool screen_coords EINA_UNUSED, Eina_Rectangle r EINA_UNUSED)
_elm_widget_item_efl_access_component_extents_set(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *sd EINA_UNUSED, Eina_Bool screen_coords EINA_UNUSED, Eina_Rect r EINA_UNUSED)
{
return EINA_FALSE;
}
@ -6509,7 +6509,7 @@ _elm_widget_efl_ui_focus_user_manager_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_
return pd->focus.manager;
}
EOLIAN static Eina_Rectangle
EOLIAN static Eina_Rect
_elm_widget_efl_ui_focus_object_focus_geometry_get(Eo *obj, Elm_Widget_Smart_Data *pd EINA_UNUSED)
{
return efl_gfx_geometry_get(obj);

View File

@ -4,7 +4,7 @@ function Efl.Ui.Scrollable_On_Show_Region {
[[Function pointer for on show region hook]]
params {
@in obj: Efl.Canvas.Object; [[Canvas object]]
@in region: Eina.Rectangle; [[Showed region]]
@in region: Eina.Rect; [[Showed region]]
}
};
@ -435,14 +435,14 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible,
unchanged.
]]
values {
region: Eina.Rectangle; [[The region of interest.]]
region: Eina.Rect; [[The region of interest.]]
force: bool; [[Set to $true to force show even if unchanged.]]
}
}
get {
[[Returns the current region of interest.]]
values {
region: Eina.Rectangle; [[The region of interest.]]
region: Eina.Rect; [[The region of interest.]]
}
}
}
@ -484,7 +484,7 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible,
get {
}
values {
region: Eina.Rectangle;
region: Eina.Rect;
[[The relative region to show. If width or height is <= 0 it
will be ignored, and no action will be taken.]]
}
@ -512,7 +512,7 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible,
[[This is a read-only property.]]
}
values {
region: Eina.Rectangle; [[The rectangle area.]]
region: Eina.Rect; [[The rectangle area.]]
}
}
@property focus_highlight_enabled {

View File

@ -312,8 +312,6 @@ typedef void (*Elm_Widget_Focus_Set_Cb)(void *data, Eina_Bool f
typedef Eina_Bool (*Elm_Widget_Focus_Get_Cb)(const void *data);
typedef void (*Elm_Access_On_Highlight_Cb)(void *data);
typedef void (*region_hook_func_type)(void *data, Evas_Object *obj, Eina_Rectangle region);
typedef void * (*list_data_get_func_type)(const Eina_List * l);
#include "elm_widget.eo.h"
@ -396,7 +394,7 @@ typedef struct _Elm_Widget_Smart_Data
/* "show region" coordinates. all widgets got those because this
* info may be set and queried recursively through the widget
* parenting tree */
Eina_Rectangle show_region;
Eina_Rect show_region;
/* scrolling hold/freeze hints. all widgets got those because this
* info may be set and queried recursively through the widget
@ -697,9 +695,9 @@ EAPI const Elm_Widget_Smart_Class *elm_widget_smart_class_get(void);
EAPI void elm_widget_disabled_set(Evas_Object *obj, Eina_Bool disabled);
EAPI Eina_Bool elm_widget_disabled_get(const Evas_Object *obj);
EAPI void elm_widget_show_region_set(Evas_Object *obj, Eina_Rectangle sr, Eina_Bool forceshow);
EAPI Eina_Rectangle elm_widget_show_region_get(const Evas_Object *obj);
EAPI Eina_Rectangle elm_widget_focus_region_get(const Evas_Object *obj);
EAPI void elm_widget_show_region_set(Evas_Object *obj, Eina_Rect sr, Eina_Bool forceshow);
EAPI Eina_Rect elm_widget_show_region_get(const Evas_Object *obj);
EAPI Eina_Rect elm_widget_focus_region_get(const Evas_Object *obj);
EAPI void elm_widget_focus_region_show(Evas_Object *obj);
EAPI void elm_widget_scroll_hold_push(Evas_Object *obj);
EAPI void elm_widget_scroll_hold_pop(Evas_Object *obj);
@ -741,7 +739,7 @@ EAPI void elm_widget_access_info_set(Evas_Object *obj, const char *t
EAPI const char *elm_widget_access_info_get(const Evas_Object *obj);
EAPI void elm_widget_orientation_mode_disabled_set(Evas_Object *obj, Eina_Bool disabled);
EAPI Eina_Bool elm_widget_orientation_mode_disabled_get(const Evas_Object *obj);
EAPI Eina_Rectangle elm_widget_focus_highlight_geometry_get(const Evas_Object *obj);
EAPI Eina_Rect elm_widget_focus_highlight_geometry_get(const Evas_Object *obj);
void _elm_widget_item_highlight_in_theme(Evas_Object *obj, Elm_Object_Item *it);
EAPI void elm_widget_focus_region_show_mode_set(Evas_Object *obj, Elm_Focus_Region_Show_Mode mode);
EAPI Elm_Focus_Region_Show_Mode elm_widget_focus_region_show_mode_get(const Evas_Object *obj);

View File

@ -1,10 +1,22 @@
/* FIXME: Move to Eina when we decide they are handled properly. */
struct @extern Eina.Rectangle {
[[Eina Rectangle]]
x: int; [[X coordinate of the rectangle]]
y: int; [[Y coordinate of the rectangle]]
w: int; [[Width of the rectangle]]
h: int; [[Height of the rectangle]]
struct @extern Eina.Rect {
[[A rectangle in pixel dimensions.]]
x: int; [[X coordinate of the rectangle, from the top-left corner.]]
y: int; [[Y coordinate of the rectangle, from the top-left corner.]]
w: int; [[Width of the rectangle in pixels.]]
h: int; [[Height of the rectangle in pixels.]]
}
struct @extern Eina.Position2D {
[[A 2D location in pixels.]]
x: int; [[X position in pixels, from the top-left corner.]]
y: int; [[Y position in pixels, from the top-left corner.]]
}
struct @extern Eina.Size2D {
[[A 2D size in pixels.]]
w: int; [[X position in pixels, from the top-left corner.]]
h: int; [[Y position in pixels, from the top-left corner.]]
}
struct @extern Eina.File; [[Eina file data structure]]

View File

@ -178,7 +178,7 @@ Efl.Text.Font, Efl.Text.Style, Efl.Text.Format, Efl.Text.Cursor, Efl.Text.Annota
@in cur1: const(ptr(Efl.Text.Cursor.Cursor)); [[Start of range]]
@in cur2: const(ptr(Efl.Text.Cursor.Cursor)); [[End of range]]
}
return: iterator<Eina.Rectangle> @owned; [[
return: iterator<Eina.Rect> @owned; [[
Iterator on all geoemtries of the given range
]]
}
@ -196,7 +196,7 @@ Efl.Text.Font, Efl.Text.Style, Efl.Text.Format, Efl.Text.Cursor, Efl.Text.Annota
@in cur1: ptr(const(Efl.Text.Cursor.Cursor)); [[Start of range]]
@in cur2: ptr(const(Efl.Text.Cursor.Cursor)); [[End of range]]
}
return: iterator<Eina.Rectangle> @owned; [[
return: iterator<Eina.Rect> @owned; [[
Iterator on all simple geometries of the given range
]]
}

View File

@ -78,7 +78,7 @@ struct _Gfx_Map_Pivot
Evas_Object_Protected_Data *map_obj;
Eo *eo_obj; // strong or weak ref?
Eina_Rectangle geometry;
Eina_Rect geometry;
Eina_Bool event_cbs;
Eina_Bool is_evas;
Eina_Bool is_canvas;

View File

@ -90,7 +90,7 @@ abstract Efl.VG (Efl.Object, Efl.Gfx, Efl.Gfx.Stack)
@since 1.14]]
params {
@out r: Eina.Rectangle; [[Bounding box to be returned.]]
@out r: Eina.Rect; [[Bounding box to be returned.]]
}
}
interpolate {

View File

@ -571,10 +571,10 @@ class Evas.Canvas (Efl.Object, Efl.Canvas, Efl.Animator, Efl.Input.Interface,
@since 1.15
]]
return: free(list<ptr(Eina.Rectangle)>, evas_render_updates_free)
return: free(list<ptr(Eina.Rect)>, evas_render_updates_free)
@owned @warn_unused; [[
A newly allocated list of updated rectangles of the canvas
($Eina.Rectangle structs). Free this list with
($Eina.Rect structs). Free this list with
\@ref evas_render_updates_free.
]]
}
@ -866,10 +866,10 @@ class Evas.Canvas (Efl.Object, Efl.Canvas, Efl.Animator, Efl.Input.Interface,
See the full @ref Example_Evas_Events "example".
*/
return: free(list<ptr(Eina.Rectangle)>, evas_render_updates_free)
return: free(list<ptr(Eina.Rect)>, evas_render_updates_free)
@owned @warn_unused; [[
A newly allocated list of updated rectangles of the canvas
($Eina.Rectangle structs). Free this list with
($Eina.Rect structs). Free this list with
\@ref evas_render_updates_free.
]]
}

View File

@ -90,7 +90,7 @@ evas_object_image_fill_get(const Evas_Object *obj,
Evas_Coord *x, Evas_Coord *y,
Evas_Coord *w, Evas_Coord *h)
{
Eina_Rectangle r;
Eina_Rect r;
EVAS_IMAGE_API(obj);
r = efl_gfx_fill_get(obj);

View File

@ -668,7 +668,7 @@ _evas_image_fill_set(Eo *eo_obj, Evas_Image_Data *o, int x, int y, int w, int h)
}
EOLIAN static void
_efl_canvas_image_internal_efl_gfx_fill_fill_set(Eo *eo_obj, Evas_Image_Data *o, Eina_Rectangle fill)
_efl_canvas_image_internal_efl_gfx_fill_fill_set(Eo *eo_obj, Evas_Image_Data *o, Eina_Rect fill)
{
// Should (0,0,0,0) reset the filled flag to true?
o->filled = EINA_FALSE;
@ -676,10 +676,10 @@ _efl_canvas_image_internal_efl_gfx_fill_fill_set(Eo *eo_obj, Evas_Image_Data *o,
_evas_image_fill_set(eo_obj, o, fill.x, fill.y, fill.w, fill.h);
}
EOLIAN static Eina_Rectangle
EOLIAN static Eina_Rect
_efl_canvas_image_internal_efl_gfx_fill_fill_get(Eo *eo_obj EINA_UNUSED, Evas_Image_Data *o)
{
return o->cur->fill;
return (Eina_Rect) o->cur->fill;
}
EOLIAN static void

View File

@ -1156,7 +1156,7 @@ end:
}
EOLIAN static void
_efl_canvas_object_efl_gfx_geometry_set(Eo *obj, Evas_Object_Protected_Data *pd EINA_UNUSED, Eina_Rectangle r)
_efl_canvas_object_efl_gfx_geometry_set(Eo *obj, Evas_Object_Protected_Data *pd EINA_UNUSED, Eina_Rect r)
{
efl_gfx_position_set(obj, r.x, r.y);
efl_gfx_size_set(obj, r.w, r.h);
@ -1168,7 +1168,7 @@ evas_object_geometry_set(Evas_Object *eo_obj, Evas_Coord x, Evas_Coord y, Evas_C
MAGIC_CHECK(eo_obj, Evas_Object, MAGIC_OBJ);
return;
MAGIC_CHECK_END();
efl_gfx_geometry_set(eo_obj, (Eina_Rectangle) { x, y, w, h });
efl_gfx_geometry_set(eo_obj, EINA_RECT(x, y, w, h));
}
EAPI void
@ -1316,16 +1316,16 @@ _efl_canvas_object_efl_gfx_size_set(Eo *eo_obj, Evas_Object_Protected_Data *obj,
evas_object_inform_call_resize(eo_obj);
}
EOLIAN Eina_Rectangle
EOLIAN Eina_Rect
_efl_canvas_object_efl_gfx_geometry_get(Eo *eo_obj EINA_UNUSED, Evas_Object_Protected_Data *obj)
{
return obj->cur->geometry;
return (Eina_Rect) obj->cur->geometry;
}
EAPI void
evas_object_geometry_get(const Evas_Object *eo_obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
{
Eina_Rectangle r = efl_gfx_geometry_get(eo_obj);
Eina_Rect r = efl_gfx_geometry_get(eo_obj);
if (x) *x = r.x;
if (y) *y = r.y;
if (w) *w = r.w;

View File

@ -418,12 +418,12 @@ _evas_vg_efl_gfx_view_view_size_set(Eo *obj EINA_UNUSED, Evas_VG_Data *pd,
}
void
_evas_vg_efl_gfx_fill_fill_set(Eo *obj EINA_UNUSED, Evas_VG_Data *pd, Eina_Rectangle fill)
_evas_vg_efl_gfx_fill_fill_set(Eo *obj EINA_UNUSED, Evas_VG_Data *pd, Eina_Rect fill)
{
pd->fill = fill;
}
Eina_Rectangle
Eina_Rect
_evas_vg_efl_gfx_fill_fill_get(Eo *obj EINA_UNUSED, Evas_VG_Data *pd)
{
return pd->fill;

View File

@ -66,15 +66,15 @@ _efl_vg_container_efl_object_destructor(Eo *obj,
static void
_efl_vg_container_efl_vg_bounds_get(Eo *obj EINA_UNUSED,
Efl_VG_Container_Data *pd,
Eina_Rectangle *r)
Efl_VG_Container_Data *pd,
Eina_Rect *r)
{
Eina_Rectangle s;
Eina_Rect s;
Eina_Bool first = EINA_TRUE;
Eina_List *l;
Eo *child;
EINA_RECTANGLE_SET(&s, -1, -1, 0, 0);
EINA_RECT_SET(s, -1, -1, 0, 0);
EINA_LIST_FOREACH(pd->children, l, child)
{
@ -86,7 +86,7 @@ _efl_vg_container_efl_vg_bounds_get(Eo *obj EINA_UNUSED,
else
{
efl_vg_bounds_get(child, &s);
eina_rectangle_union(r, &s);
eina_rectangle_union(&r->rect, &s.rect);
}
}
}

View File

@ -112,7 +112,7 @@ _efl_vg_gradient_linear_efl_object_destructor(Eo *obj, Efl_VG_Gradient_Linear_Da
}
static void
_efl_vg_gradient_linear_efl_vg_bounds_get(Eo *obj, Efl_VG_Gradient_Linear_Data *pd, Eina_Rectangle *r)
_efl_vg_gradient_linear_efl_vg_bounds_get(Eo *obj, Efl_VG_Gradient_Linear_Data *pd, Eina_Rect *r)
{
Efl_VG_Data *nd;

View File

@ -129,7 +129,7 @@ _efl_vg_gradient_radial_efl_object_destructor(Eo *obj,
}
static void
_efl_vg_gradient_radial_efl_vg_bounds_get(Eo *obj, Efl_VG_Gradient_Radial_Data *pd, Eina_Rectangle *r)
_efl_vg_gradient_radial_efl_vg_bounds_get(Eo *obj, Efl_VG_Gradient_Radial_Data *pd, Eina_Rect *r)
{
Efl_VG_Data *nd;

View File

@ -194,17 +194,17 @@ _efl_vg_efl_gfx_size_get(Eo *obj,
Efl_VG_Data *pd EINA_UNUSED,
int *w, int *h)
{
Eina_Rectangle r = { 0, 0, 0, 0 };
Eina_Rect r;
efl_vg_bounds_get(obj, &r);
if (w) *w = r.w;
if (h) *h = r.h;
}
EOLIAN static Eina_Rectangle
EOLIAN static Eina_Rect
_efl_vg_efl_gfx_geometry_get(Eo *obj, Efl_VG_Data *pd EINA_UNUSED)
{
Eina_Rectangle r = { 0, };
Eina_Rect r = EINA_RECT_ZERO();
efl_gfx_position_get(obj, &r.x, &r.y);
efl_gfx_size_get(obj, &r.w, &r.h);
return r;
@ -522,10 +522,10 @@ _efl_vg_root_parent_get(Eo *obj)
static void
_efl_vg_walk_down_at(Eo *root, Eina_Array *a, Eina_Rectangle *r)
{
Eina_Rectangle bounds;
Eina_Rect bounds;
efl_vg_bounds_get(root, &bounds);
if (!eina_rectangles_intersect(&bounds, r)) return ;
if (!eina_rectangles_intersect(&bounds.rect, r)) return ;
eina_array_push(a, root);
@ -555,7 +555,7 @@ _efl_vg_object_at(Eo *obj, Eina_Array *a, Eina_Rectangle *r)
static Efl_Gfx_Stack *
_efl_vg_efl_gfx_stack_below_get(Eo *obj, Efl_VG_Data *pd EINA_UNUSED)
{
Eina_Rectangle r;
Eina_Rect r;
Eina_Array a;
Eo *current;
Eo *below = NULL;
@ -566,7 +566,7 @@ _efl_vg_efl_gfx_stack_below_get(Eo *obj, Efl_VG_Data *pd EINA_UNUSED)
eina_array_step_set(&a, sizeof (Eina_Array), 8);
_efl_vg_object_at(obj, &a, &r);
_efl_vg_object_at(obj, &a, &r.rect);
EINA_ARRAY_ITER_NEXT(&a, i, current, iterator)
if (current == obj)
@ -585,7 +585,7 @@ _efl_vg_efl_gfx_stack_below_get(Eo *obj, Efl_VG_Data *pd EINA_UNUSED)
static Efl_Gfx_Stack *
_efl_vg_efl_gfx_stack_above_get(Eo *obj, Efl_VG_Data *pd EINA_UNUSED)
{
Eina_Rectangle r;
Eina_Rect r;
Eina_Array a;
Eo *current;
Eo *above = NULL;
@ -596,7 +596,7 @@ _efl_vg_efl_gfx_stack_above_get(Eo *obj, Efl_VG_Data *pd EINA_UNUSED)
eina_array_step_set(&a, sizeof (Eina_Array), 8);
_efl_vg_object_at(obj, &a, &r);
_efl_vg_object_at(obj, &a, &r.rect);
EINA_ARRAY_ITER_NEXT(&a, i, current, iterator)
if (current == obj)

View File

@ -15,7 +15,7 @@ struct _Evas_VG_Data
void *engine_data;
Efl_VG *root;
Eina_Rectangle fill;
Eina_Rect fill;
unsigned int width, height;

View File

@ -18,8 +18,8 @@ struct _Efl_VG_Shape_Data
static void
_efl_vg_shape_efl_vg_bounds_get(Eo *obj,
Efl_VG_Shape_Data *pd EINA_UNUSED,
Eina_Rectangle *r)
Efl_VG_Shape_Data *pd EINA_UNUSED,
Eina_Rect *r)
{
// FIXME: Use the renderer bounding box when it has been created instead of an estimation
efl_gfx_path_bounds_get(obj, r);

View File

@ -2,7 +2,7 @@
#define Q(o,_x,_y,_w,_h) \
do {\
Eina_Rectangle rect = EINA_RECTANGLE_INIT; \
Eina_Rect rect; \
rect.x = _x; \
rect.y = _y; \
rect.w = _w; \
@ -58,7 +58,7 @@ elm_focus_test_manager_new(Efl_Ui_Focus_Object **middle)
//Test class implementation
typedef struct {
Eina_Rectangle rect;
Eina_Rect rect;
Eina_Bool focus;
} Focus_Test_Data;
@ -68,7 +68,7 @@ _focus_test_efl_object_constructor(Eo *obj, Focus_Test_Data *pd)
Eo *eo;
eo = efl_constructor(efl_super(obj, FOCUS_TEST_CLASS));
eina_rectangle_coords_from(&pd->rect, 0, 0, 0, 0);
eina_rectangle_coords_from(&pd->rect.rect, 0, 0, 0, 0);
return eo;
}
@ -79,19 +79,19 @@ _focus_test_efl_ui_focus_object_focus_set(Eo *obj, Focus_Test_Data *pd, Eina_Boo
printf("Object %p now focused\n", obj);
}
EOLIAN static Eina_Rectangle
EOLIAN static Eina_Rect
_focus_test_efl_ui_focus_object_focus_geometry_get(Eo *obj EINA_UNUSED, Focus_Test_Data *pd)
{
return pd->rect;
}
EOLIAN static void
_focus_test_size(Eo *obj EINA_UNUSED, Focus_Test_Data *pd, Eina_Rectangle rect)
_focus_test_size(Eo *obj EINA_UNUSED, Focus_Test_Data *pd, Eina_Rect rect)
{
pd->rect = rect;
}
EOLIAN static Eina_Rectangle
EOLIAN static Eina_Rect
_focus_test_efl_gfx_geometry_get(Eo *obj EINA_UNUSED, Focus_Test_Data *pd)
{
return pd->rect;

View File

@ -6,13 +6,10 @@ typedef struct {
} Focus_Test_Sub_Main_Data;
EOLIAN static Eina_Rectangle
EOLIAN static Eina_Rect
_focus_test_sub_main_efl_ui_focus_object_focus_geometry_get(Eo *obj EINA_UNUSED, Focus_Test_Sub_Main_Data *pd EINA_UNUSED)
{
Eina_Rectangle result;
EINA_RECTANGLE_SET(&result, 0, 0, 20, 20);
return result;
return EINA_RECT(0, 0, 20, 20);
}
EOLIAN static Efl_Ui_Focus_Manager*

View File

@ -2,7 +2,7 @@ class Focus.Test(Efl.Object, Efl.Ui.Focus.Object, Efl.Gfx) {
methods {
size {
params {
rect : Eina.Rectangle;
rect : Eina.Rect;
}
}
}