[EGIT] [core/efl] master 01/01: ecore_wl2: prevent invalid timer if the input is invalid.

2021-07-05 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=afba465735a12cd3d0283a4cbb89e5fc9881b005

commit afba465735a12cd3d0283a4cbb89e5fc9881b005
Author: Hermet Park 
Date:   Mon Jul 5 18:07:04 2021 +0900

ecore_wl2: prevent invalid timer if the input is invalid.

Summary:
It is non-sense that running timer even if the input/timer is invalid.
Stop the timer to prevent invalid key down repeating.

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12285
---
 src/lib/ecore_wl2/ecore_wl2_input.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/ecore_wl2/ecore_wl2_input.c 
b/src/lib/ecore_wl2/ecore_wl2_input.c
index 0d7727..e205d335a2 100644
--- a/src/lib/ecore_wl2/ecore_wl2_input.c
+++ b/src/lib/ecore_wl2/ecore_wl2_input.c
@@ -991,7 +991,7 @@ _keyboard_cb_repeat(void *data)
Ecore_Wl2_Window *window;
 
input = data;
-   if (!input) return ECORE_CALLBACK_RENEW;
+   if (!input || !input->repeat.timer) return ECORE_CALLBACK_CANCEL;
 
window = input->focus.keyboard;
if (!window) goto out;

-- 




[EGIT] [core/efl] master 01/01: ecore_con: add null check for safety.

2021-03-15 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=b9b2b722054f3bb5b3ce1e554aa2cefaf03e8091

commit b9b2b722054f3bb5b3ce1e554aa2cefaf03e8091
Author: Hermet Park 
Date:   Tue Mar 16 10:28:27 2021 +0900

ecore_con: add null check for safety.
---
 src/lib/ecore_con/efl_net_dialer_unix.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/ecore_con/efl_net_dialer_unix.c 
b/src/lib/ecore_con/efl_net_dialer_unix.c
index b2d3dfce39..000ba66013 100644
--- a/src/lib/ecore_con/efl_net_dialer_unix.c
+++ b/src/lib/ecore_con/efl_net_dialer_unix.c
@@ -94,6 +94,7 @@ _efl_net_dialer_unix_connected(void *data, const struct 
sockaddr *addr, socklen_
 {
Eo *o = data;
Efl_Net_Dialer_Unix_Data *pd = efl_data_scope_get(o, MY_CLASS);
+   if (!pd) return;
 
pd->connect.thread = NULL;
 

-- 




[EGIT] [core/efl] master 01/01: ui transit: improve zoom effect smoothness by subpixel rendering.

2020-11-24 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=6b1f281f175a68dc50c788010f47bc4e256905d1

commit 6b1f281f175a68dc50c788010f47bc4e256905d1
Author: Hermet Park 
Date:   Tue Nov 24 12:17:17 2020 +0900

ui transit: improve zoom effect smoothness by subpixel rendering.

Summary:
evas image might have a better quaility if scaling/transform is not 
necessary,
so we have a condition to check if image is axis-aligned transformed or not.

On the other hand sub-pixel(floating point coordinates unit) rendering 
necessary
if image has an effect such a zooming. This would result in a smoother 
effect
than integer coodinate system.

We need a more precise condition to confirm this,
so we intrduce "anti-alias" option to decide the condition.
now, anti-aliased objects will have a sub-pixel rendering always.

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12194
---
 src/lib/elementary/elm_transit.c  | 6 ++
 src/modules/evas/engines/gl_generic/evas_engine.c | 3 ++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/lib/elementary/elm_transit.c b/src/lib/elementary/elm_transit.c
index 6774e74589..a0813791f4 100644
--- a/src/lib/elementary/elm_transit.c
+++ b/src/lib/elementary/elm_transit.c
@@ -95,6 +95,7 @@ struct _Elm_Transit_Obj_Data
   Eina_Bool map_enabled : 1;
   Eina_Bool visible : 1;
   Eina_Bool freeze_events : 1;
+  Eina_Bool anti_alias : 1;
} state;
int ref;
 };
@@ -140,6 +141,7 @@ _transit_obj_data_save(Evas_Object *obj)
obj_data->state.visible = evas_object_visible_get(obj);
obj_data->state.freeze_events = evas_object_freeze_events_get(obj);
obj_data->state.map_enabled = evas_object_map_enable_get(obj);
+   obj_data->state.anti_alias = evas_object_anti_alias_get(obj);
 
ELM_SAFE_FREE(obj_data->state.map, evas_map_free);
 
@@ -205,6 +207,7 @@ _transit_obj_data_recover(Elm_Transit *transit, Evas_Object 
*obj)
   obj_data->state.b, obj_data->state.a);
 if (obj_data->state.visible) evas_object_show(obj);
 else evas_object_hide(obj);
+evas_object_anti_alias_set(obj, obj_data->state.anti_alias);
 evas_object_map_enable_set(obj, obj_data->state.map_enabled);
 evas_object_map_set(obj, obj_data->state.map);
  }
@@ -1282,6 +1285,9 @@ _transit_effect_zoom_op(Elm_Transit_Effect *effect, 
Elm_Transit *transit , doubl
 
EINA_LIST_FOREACH(transit->objs, elist, obj)
  {
+//Turn on for fixing jiggling by sub-pixel rendering
+evas_object_anti_alias_set(obj, EINA_TRUE);
+
 obj_data = evas_object_data_get(obj, _transit_key);
 if (obj_data && obj_data->state.map_enabled)
   {
diff --git a/src/modules/evas/engines/gl_generic/evas_engine.c 
b/src/modules/evas/engines/gl_generic/evas_engine.c
index 46f927e28e..a1c48ae451 100644
--- a/src/modules/evas/engines/gl_generic/evas_engine.c
+++ b/src/modules/evas/engines/gl_generic/evas_engine.c
@@ -1318,7 +1318,8 @@ eng_image_map_draw(void *engine EINA_UNUSED, void *data, 
void *context, void *su
evas_gl_common_context_target_surface_set(gl_context, surface);
gl_context->dc = context;
 
-   if (fabsf(m->pts[0].fx - m->pts[3].fx) < FLT_EPSILON &&
+   if (!((RGBA_Draw_Context*) context)->anti_alias &&
+   fabsf(m->pts[0].fx - m->pts[3].fx) < FLT_EPSILON &&
fabsf(m->pts[1].fx - m->pts[2].fx) < FLT_EPSILON &&
fabsf(m->pts[0].fy - m->pts[1].fy) < FLT_EPSILON &&
fabsf(m->pts[3].fy - m->pts[2].fy) < FLT_EPSILON &&

-- 




[EGIT] [core/efl] master 01/01: evas svg: avoid unnecessary memory clear.

2020-10-12 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=9e14a57020bd1a888f3b7f3568dcb7c6baf18f17

commit 9e14a57020bd1a888f3b7f3568dcb7c6baf18f17
Author: Hermet Park 
Date:   Mon Oct 12 18:37:55 2020 +0900

evas svg: avoid unnecessary memory clear.
---
 src/modules/evas/vg_loaders/svg/evas_vg_load_svg.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/modules/evas/vg_loaders/svg/evas_vg_load_svg.c 
b/src/modules/evas/vg_loaders/svg/evas_vg_load_svg.c
index 721851e4fd..4d5676c1df 100644
--- a/src/modules/evas/vg_loaders/svg/evas_vg_load_svg.c
+++ b/src/modules/evas/vg_loaders/svg/evas_vg_load_svg.c
@@ -1650,12 +1650,12 @@ _copy_attribute(Svg_Node *to, Svg_Node *from)
break;
 case SVG_NODE_POLYGON:
to->node.polygon.points_count = from->node.polygon.points_count;
-   to->node.polygon.points = calloc(to->node.polygon.points_count, 
sizeof(double));
+   to->node.polygon.points = malloc(to->node.polygon.points_count, 
sizeof(double));
memcpy(to->node.polygon.points, from->node.polygon.points, 
to->node.polygon.points_count * sizeof(double));
break;
 case SVG_NODE_POLYLINE:
to->node.polyline.points_count = from->node.polyline.points_count;
-   to->node.polyline.points = calloc(to->node.polyline.points_count, 
sizeof(double));
+   to->node.polyline.points = malloc(to->node.polyline.points_count, 
sizeof(double));
memcpy(to->node.polyline.points, from->node.polyline.points, 
to->node.polyline.points_count * sizeof(double));
break;
 default:

-- 




[EGIT] [core/efl] master 01/01: elementary image zoomable: fix non supported oversized image.

2020-10-04 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=b6a98bb3be03dde89d633670a6eef298733885e8

commit b6a98bb3be03dde89d633670a6eef298733885e8
Author: Hermet Park 
Date:   Mon Oct 5 12:56:03 2020 +0900

elementary image zoomable: fix non supported oversized image.

Summary:
if image size is larger than system support, photocam can not show the 
image.

Not like other types of image, photocam is originally designed for 
huge-size of image,
this result is not allowed by users, we should avoid the worst case as we 
can do.

This might not be the best idea, so you can improve it if you have a better 
solution.

Reviewers: kimcinoo

Reviewed By: kimcinoo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12164
---
 src/lib/elementary/efl_ui_image_zoomable.c | 34 --
 1 file changed, 32 insertions(+), 2 deletions(-)

diff --git a/src/lib/elementary/efl_ui_image_zoomable.c 
b/src/lib/elementary/efl_ui_image_zoomable.c
index 689555180a..fb05a56115 100644
--- a/src/lib/elementary/efl_ui_image_zoomable.c
+++ b/src/lib/elementary/efl_ui_image_zoomable.c
@@ -2080,6 +2080,38 @@ _internal_file_set(Eo *obj, Efl_Ui_Image_Zoomable_Data 
*sd, Evas_Load_Error *ret
evas_object_image_file_set(sd->img, NULL, NULL);
evas_object_image_load_scale_down_set(sd->img, 0);
_photocam_image_file_set(sd->img, sd);
+
+   //Check whether image size is bigger than maxium texture
+   evas_object_image_size_get(sd->img, , );
+   int maxw = 0, maxh = 0;
+   evas_image_max_size_get(evas_object_evas_get(sd->img), , );
+
+   /* Image is too large than system support,
+  This case it won't be available,
+  Alternatively, reduce size by half and make it visible at least.
+  Btw, is this the best solution for this?... */
+   if (maxw > 0 && maxh > 0)
+ {
+int w2 = w;
+int h2 = h;
+
+if (w2 > maxw || h2 > maxh)
+  {
+ //Scale down by half
+ int scale_down = 1;
+
+ while (w2 > maxw || h2 > maxh)
+   {
+  w2 /= 2;
+  h2 /= 2;
+  scale_down *= 2;
+   }
+
+ //This might not work at some format...
+ evas_object_image_load_scale_down_set(sd->img, scale_down);
+  }
+ }
+
err = evas_object_image_load_error_get(sd->img);
if (err != EVAS_LOAD_ERROR_NONE)
  {
@@ -2087,8 +2119,6 @@ _internal_file_set(Eo *obj, Efl_Ui_Image_Zoomable_Data 
*sd, Evas_Load_Error *ret
 if (ret) *ret = err;
 return err;
  }
-   evas_object_image_size_get(sd->img, , );
-
sd->do_region = evas_object_image_region_support_get(sd->img);
sd->size.imw = w;
sd->size.imh = h;

-- 




[EGIT] [core/efl] master 01/01: Revert "SvgLoader: Defs type nodes are not saved in loader's node list."

2020-09-03 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=5065c9d0c2c4202ef4e2fd7eed650681fc51bf27

commit 5065c9d0c2c4202ef4e2fd7eed650681fc51bf27
Author: Hermet Park 
Date:   Thu Sep 3 16:45:27 2020 +0900

Revert "SvgLoader: Defs type nodes are not saved in loader's node list."

This reverts commit 40b6e44947740133df20d97ca3ed65268037af20.

This has some side effects, we will intrdouce it again after fix it.
---
 src/modules/evas/vg_loaders/svg/evas_vg_load_svg.c | 18 ++
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/src/modules/evas/vg_loaders/svg/evas_vg_load_svg.c 
b/src/modules/evas/vg_loaders/svg/evas_vg_load_svg.c
index 38d6d50513..cefdc3304f 100644
--- a/src/modules/evas/vg_loaders/svg/evas_vg_load_svg.c
+++ b/src/modules/evas/vg_loaders/svg/evas_vg_load_svg.c
@@ -2160,23 +2160,17 @@ _evas_svg_loader_xml_open_parser(Evas_SVG_Loader 
*loader,
  parent = eina_array_data_get(loader->stack, 
eina_array_count(loader->stack) - 1);
  node = method(loader, parent, attrs, attrs_length);
   }
+eina_array_push(loader->stack, node);
 
 if (node->type == SVG_NODE_DEFS)
-  {
- loader->doc->node.doc.defs = node;
- loader->def = node;
-  }
-else
-  {
- eina_array_push(loader->stack, node);
-  }
+{
+  loader->doc->node.doc.defs = node;
+  loader->def = node;
+}
  }
else if ((method = _find_graphics_factory(tag_name)))
  {
-if (eina_array_count(loader->stack) > 0)
-  parent = eina_array_data_get(loader->stack, 
eina_array_count(loader->stack) - 1);
-else
-  parent = loader->doc;
+parent = eina_array_data_get(loader->stack, 
eina_array_count(loader->stack) - 1);
 node = method(loader, parent, attrs, attrs_length);
  }
else if ((gradient_method = _find_gradient_factory(tag_name)))

-- 




[EGIT] [core/efl] master 01/01: evas examples: remove unecessary beta tag.

2020-08-13 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=990c46c94d85103c3c14de692a1e1e855157a6a9

commit 990c46c94d85103c3c14de692a1e1e855157a6a9
Author: Hermet Park 
Date:   Thu Aug 13 17:01:32 2020 +0900

evas examples: remove unecessary beta tag.

vector legacy apis have been officially released.
it doesn't need beta tag anymore.
---
 src/examples/evas/evas-vg-batman.c | 4 
 src/examples/evas/evas-vg-simple.c | 4 
 2 files changed, 8 deletions(-)

diff --git a/src/examples/evas/evas-vg-batman.c 
b/src/examples/evas/evas-vg-batman.c
index f6576f5d63..ada62044d7 100644
--- a/src/examples/evas/evas-vg-batman.c
+++ b/src/examples/evas/evas-vg-batman.c
@@ -18,10 +18,6 @@
 #define WIDTH 800
 #define HEIGHT 600
 
-#ifndef EFL_BETA_API_SUPPORT
-#define EFL_BETA_API_SUPPORT
-#endif
-
 #include 
 #include 
 #include 
diff --git a/src/examples/evas/evas-vg-simple.c 
b/src/examples/evas/evas-vg-simple.c
index f5f284bf0a..ff1af74a1e 100644
--- a/src/examples/evas/evas-vg-simple.c
+++ b/src/examples/evas/evas-vg-simple.c
@@ -39,10 +39,6 @@
 #define WIDTH 600
 #define HEIGHT 600
 
-#ifndef EFL_BETA_API_SUPPORT
-#define EFL_BETA_API_SUPPORT
-#endif
-
 #include 
 #include 
 #include 

-- 




[EGIT] [core/efl] master 01/01: canvas engine: ++safety code

2020-07-26 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=fb33fcb370fb58c4aeefbf897785b59b919c7f61

commit fb33fcb370fb58c4aeefbf897785b59b919c7f61
Author: Hermet Park 
Date:   Mon Jul 27 14:27:52 2020 +0900

canvas engine: ++safety code

added null checking, no logical changes.
---
 .../evas/engines/software_generic/evas_engine.c| 90 +++---
 1 file changed, 46 insertions(+), 44 deletions(-)

diff --git a/src/modules/evas/engines/software_generic/evas_engine.c 
b/src/modules/evas/engines/software_generic/evas_engine.c
index aca24c4936..3d6a7f19b3 100644
--- a/src/modules/evas/engines/software_generic/evas_engine.c
+++ b/src/modules/evas/engines/software_generic/evas_engine.c
@@ -3975,58 +3975,60 @@ _smart_merge(Tilebuf *tb, Tilebuf_Rect *rects)
box = region_rects(region);
n = region_rects_num(region);
merged = calloc(1, n * sizeof(Tilebuf_Rect));
-   j = 0;
+   if (merged) {
+j = 0;
 #if 1
-   // regions sometimes produce box sets like:
-   // +---+
-   // |   |
-   // +---++---+
-   // |   ||   |
-   // +---++---+-+
-   //  | |
-   //  | |
-   //  +-+
-   // so the upper-left 2 boxes can be merged into 1 and they have the same
-   // x coords and are flush-aligned one above the other. that is what
-   // this does - find these and merge them to have fewer rects
-   for (i = 0; i < n; i++)
- {
-// skip empty boxes
-if (box[i].x1 == box[i].x2) continue;
-// walk all following boxes after this and see if they can be merged
-// into box i
-for (k = i + 1; k < n; k++)
+// regions sometimes produce box sets like:
+// +---+
+// |   |
+// +---++---+
+// |   ||   |
+// +---++---+-+
+//  | |
+//  | |
+//  +-+
+// so the upper-left 2 boxes can be merged into 1 and they have the 
same
+// x coords and are flush-aligned one above the other. that is what
+// this does - find these and merge them to have fewer rects
+for (i = 0; i < n; i++)
   {
- // skip empty boxes after i
- if (box[k].x1 == box[k].x2) continue;
- // match x coords
- if ((box[i].x1 == box[k].x1) && // if aligned vertically
- (box[i].x2 == box[k].x2))   // exactly above/below
+ // skip empty boxes
+ if (box[i].x1 == box[i].x2) continue;
+ // walk all following boxes after this and see if they can be 
merged
+ // into box i
+ for (k = i + 1; k < n; k++)
{
-  // right below, or right above
-  if (box[i].y2 == box[k].y1) // this box flush below
-{
-   box[i].y2 = box[k].y2; // merge below i
-   box[k].x2 = box[k].x1; // empty this box - merged
-}
-  else if (box[i].y1 == box[k].y2) // this box flush above
+  // skip empty boxes after i
+  if (box[k].x1 == box[k].x2) continue;
+  // match x coords
+  if ((box[i].x1 == box[k].x1) && // if aligned vertically
+  (box[i].x2 == box[k].x2))   // exactly above/below
 {
-   box[i].y2 = box[k].y2; // merge above i
-   box[k].x2 = box[k].x1; // empty this box - merged
+   // right below, or right above
+   if (box[i].y2 == box[k].y1) // this box flush below
+ {
+box[i].y2 = box[k].y2; // merge below i
+box[k].x2 = box[k].x1; // empty this box - merged
+ }
+   else if (box[i].y1 == box[k].y2) // this box flush above
+ {
+box[i].y2 = box[k].y2; // merge above i
+box[k].x2 = box[k].x1; // empty this box - merged
+ }
 }
}
+ // i may have expanded but will not be empty. future boxes after
+ // this may be empty though but handled at top of loop
+ merged[j].x = box[i].x1;
+ merged[j].y = box[i].y1;
+ merged[j].w = box[i].x2 - box[i].x1;
+ merged[j].h = box[i].y2 - box[i].y1;
+ mergelist = (Tilebuf_Rect *)eina_inlist_append
+(EINA_INLIST_GET(mergelist), EINA_INLIST_GET(&(merged[j])));
+ j++;
   }
-// i may have expanded but will not be empty. future boxes after
-// this may be empty though but handled at top of

[EGIT] [core/efl] efl-1.24 02/31: canvas vg: fix dangling vector containers.

2020-06-15 Thread Hermet Park
stefan pushed a commit to branch efl-1.24.

http://git.enlightenment.org/core/efl.git/commit/?id=10427694d9c75dc7fa3926e1eac30ac88c773204

commit 10427694d9c75dc7fa3926e1eac30ac88c773204
Author: Hermet Park 
Date:   Tue May 26 16:08:30 2020 +0900

canvas vg: fix dangling vector containers.

These duplicated containers are not going removed
since its refernece is always more than 0.

We need to unref explicity when they have to

@fix
---
 src/lib/edje/edje_calc.c   | 7 ---
 src/lib/evas/canvas/efl_canvas_vg_object.c | 1 +
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c
index f9a6675627..d07b5bf81f 100644
--- a/src/lib/edje/edje_calc.c
+++ b/src/lib/edje/edje_calc.c
@@ -3332,10 +3332,11 @@ _edje_vector_recalc_apply(Edje *ed, Edje_Real_Part *ep, 
Edje_Calc_Params *p3 EIN
 root = efl_duplicate(src_root);
 
 if (!efl_gfx_path_interpolate(root, src_root, dest_root, pos))
-  {
- ERR("Can't interpolate check the svg file");
-  }
+  ERR("Can't interpolate check the svg file");
+
 efl_canvas_vg_object_root_node_set(ep->object, root);
+
+efl_unref(root);
 efl_unref(src_root);
 efl_unref(dest_root);
  }
diff --git a/src/lib/evas/canvas/efl_canvas_vg_object.c 
b/src/lib/evas/canvas/efl_canvas_vg_object.c
index bd43b7c0de..3a3ba1c346 100644
--- a/src/lib/evas/canvas/efl_canvas_vg_object.c
+++ b/src/lib/evas/canvas/efl_canvas_vg_object.c
@@ -349,6 +349,7 @@ _efl_canvas_vg_object_efl_object_invalidate(Eo *eo_obj, 
Efl_Canvas_Vg_Object_Dat
  {
 Vg_User_Entry *user_entry = pd->user_entry;
 ENFN->ector_surface_cache_drop(ENC, user_entry->root);
+if (pd->user_entry->root) efl_unref(pd->user_entry->root);
 free(pd->user_entry);
  }
pd->user_entry = NULL;

-- 




[EGIT] [core/efl] efl-1.24 30/31: ui image: fix a missing else case.

2020-06-15 Thread Hermet Park
stefan pushed a commit to branch efl-1.24.

http://git.enlightenment.org/core/efl.git/commit/?id=30fda6464186321658738b4a265a92afa7ceb98d

commit 30fda6464186321658738b4a265a92afa7ceb98d
Author: Hermet Park 
Date:   Fri Jun 12 16:33:21 2020 +0900

ui image: fix a missing else case.

it sholud be turned on enabled status.

it's side issue by 0826b4916efb0bce20a353cece56e84d05fb406c
---
 src/lib/elementary/efl_ui_image.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/elementary/efl_ui_image.c 
b/src/lib/elementary/efl_ui_image.c
index 55a197e7a0..5bf297854c 100644
--- a/src/lib/elementary/efl_ui_image.c
+++ b/src/lib/elementary/efl_ui_image.c
@@ -2561,6 +2561,7 @@ elm_image_preload_disabled_set(Evas_Object *obj, 
Eina_Bool disable)
if (!sd->img)
  {
 if (disable) sd->preload_status = EFL_UI_IMAGE_PRELOAD_DISABLED;
+else sd->preload_status = EFL_UI_IMAGE_PRELOAD_ENABLED;
 return;
  }
 

-- 




[EGIT] [core/efl] efl-1.24 23/31: eldbus: fix the data size issue.

2020-06-15 Thread Hermet Park
stefan pushed a commit to branch efl-1.24.

http://git.enlightenment.org/core/efl.git/commit/?id=909dd07ba83d8a7af170f28d6c61d093c4fe92aa

commit 909dd07ba83d8a7af170f28d6c61d093c4fe92aa
Author: Hermet Park 
Date:   Mon Jun 8 11:00:26 2020 +0900

eldbus: fix the data size issue.

Summary:
dbus message requires the void* value for the message data,
the returned value of dbus_message_iter_get_basic() can be mismatched by to 
the architure,
This could bring the returned va_argues memory corrupted among the series 
of values.

We can use the defined type for exceptions.

Reviewers: herb, kimcinoo, jsuya, raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11940
---
 src/lib/eldbus/eldbus_message.c | 32 +---
 1 file changed, 21 insertions(+), 11 deletions(-)

diff --git a/src/lib/eldbus/eldbus_message.c b/src/lib/eldbus/eldbus_message.c
index e7295077ab..f8605dd9d1 100644
--- a/src/lib/eldbus/eldbus_message.c
+++ b/src/lib/eldbus/eldbus_message.c
@@ -619,32 +619,36 @@ eldbus_message_iter_next(Eldbus_Message_Iter *iter)
 static void
 get_basic(char type, DBusMessageIter *iter, va_list *vl)
 {
+   DBusBasicValue val;
+
switch (type)
  {
   case DBUS_TYPE_BYTE:
 {
uint8_t *byte = va_arg(*vl, uint8_t *);
-   dbus_message_iter_get_basic(iter, byte);
+   dbus_message_iter_get_basic(iter, );
+   *byte = val.bool_val;
break;
 }
   case DBUS_TYPE_BOOLEAN:
 {
Eina_Bool *boolean = va_arg(*vl, Eina_Bool *);
-   dbus_bool_t val;
dbus_message_iter_get_basic(iter, );
-   *boolean = val;
+   *boolean = val.bool_val;
break;
 }
   case DBUS_TYPE_INT16:
 {
int16_t *int16 = va_arg(*vl, int16_t *);
-   dbus_message_iter_get_basic(iter, int16);
+   dbus_message_iter_get_basic(iter, );
+   *int16 = val.i16;
break;
 }
   case DBUS_TYPE_UINT16:
 {
uint16_t *uint16 = va_arg(*vl, uint16_t *);
-   dbus_message_iter_get_basic(iter, uint16);
+   dbus_message_iter_get_basic(iter, );
+   *uint16 = val.u16;
break;
 }
   case DBUS_TYPE_INT32:
@@ -653,31 +657,36 @@ get_basic(char type, DBusMessageIter *iter, va_list *vl)
 #endif
 {
int32_t *int32 = va_arg(*vl, int32_t *);
-   dbus_message_iter_get_basic(iter, int32);
+   dbus_message_iter_get_basic(iter, );
+   *int32 = val.i32;
break;
 }
   case DBUS_TYPE_UINT32:
 {
uint32_t *uint32 = va_arg(*vl, uint32_t *);
-   dbus_message_iter_get_basic(iter, uint32);
+   dbus_message_iter_get_basic(iter, );
+   *uint32 = val.u32;
break;
 }
   case DBUS_TYPE_INT64:
 {
int64_t *int64 = va_arg(*vl, int64_t *);
-   dbus_message_iter_get_basic(iter, int64);
+   dbus_message_iter_get_basic(iter, );
+   *int64 = val.i64;
break;
 }
   case DBUS_TYPE_UINT64:
 {
uint64_t *uint64 = va_arg(*vl, uint64_t *);
-   dbus_message_iter_get_basic(iter, uint64);
+   dbus_message_iter_get_basic(iter, );
+   *uint64 = val.u64;
break;
 }
   case DBUS_TYPE_DOUBLE:
 {
double *double_ieee = va_arg(*vl, double *);
-   dbus_message_iter_get_basic(iter, double_ieee);
+   dbus_message_iter_get_basic(iter, );
+   *double_ieee = val.dbl;
break;
 }
   case DBUS_TYPE_STRING:
@@ -685,7 +694,8 @@ get_basic(char type, DBusMessageIter *iter, va_list *vl)
   case DBUS_TYPE_SIGNATURE:
 {
char **string = va_arg(*vl, char**);
-   dbus_message_iter_get_basic(iter, string);
+   dbus_message_iter_get_basic(iter, );
+   *string = val.str;
break;
 }
   default:

-- 




[EGIT] [core/efl] efl-1.24 10/31: efl gfx_path: fix memory leak.

2020-06-15 Thread Hermet Park
stefan pushed a commit to branch efl-1.24.

http://git.enlightenment.org/core/efl.git/commit/?id=69dfeb032381201c18657f5a70f9d12c8b57f71b

commit 69dfeb032381201c18657f5a70f9d12c8b57f71b
Author: Hermet Park 
Date:   Wed May 27 15:34:24 2020 +0900

efl gfx_path: fix memory leak.

his reverts commit 38be95b0b6fd93df01636ae0a7c974b32ed694a1.

The reverting patch blocks efl_canvas_vg_shape triggers efl_canvas_vg_node 
destructor.

That occurs massive leaks among the all nodes in the vector tree.

To fix the origin issue, we must reset path explicitly in the derived class.

@fix
---
 src/lib/efl/interfaces/efl_gfx_path.c  | 7 ---
 src/lib/efl/interfaces/efl_gfx_path.eo | 5 +
 2 files changed, 1 insertion(+), 11 deletions(-)

diff --git a/src/lib/efl/interfaces/efl_gfx_path.c 
b/src/lib/efl/interfaces/efl_gfx_path.c
index 9852de1498..18a1733da0 100644
--- a/src/lib/efl/interfaces/efl_gfx_path.c
+++ b/src/lib/efl/interfaces/efl_gfx_path.c
@@ -1535,11 +1535,4 @@ _efl_gfx_path_copy_from(Eo *obj, Efl_Gfx_Path_Data *pd, 
const Eo *dup_from)
_efl_gfx_path_path_set(obj, pd, from->commands, from->points);
 }
 
-EOLIAN static void
-_efl_gfx_path_efl_object_destructor(Eo *obj, Efl_Gfx_Path_Data *pd)
-{
-   _efl_gfx_path_reset(obj, pd);
-   efl_destructor(efl_super(obj, EFL_GFX_PATH_MIXIN));
-}
-
 #include "interfaces/efl_gfx_path.eo.c"
diff --git a/src/lib/efl/interfaces/efl_gfx_path.eo 
b/src/lib/efl/interfaces/efl_gfx_path.eo
index 42a44607ac..3f47497da9 100644
--- a/src/lib/efl/interfaces/efl_gfx_path.eo
+++ b/src/lib/efl/interfaces/efl_gfx_path.eo
@@ -1,7 +1,7 @@
 import eina_types;
 import efl_gfx_types;
 
-mixin @beta Efl.Gfx.Path requires Efl.Object
+mixin @beta Efl.Gfx.Path
 {
[[EFL graphics path object interface]]
methods {
@@ -267,7 +267,4 @@ mixin @beta Efl.Gfx.Path requires Efl.Object
 ]]
   }
}
-   implements {
- Efl.Object.destructor;
-   }
 }

-- 




[EGIT] [core/efl] efl-1.24 01/31: edje: fix animation memory leak.

2020-06-15 Thread Hermet Park
stefan pushed a commit to branch efl-1.24.

http://git.enlightenment.org/core/efl.git/commit/?id=9dd7ec6272b060e946f75683a19ed5ee9df6a068

commit 9dd7ec6272b060e946f75683a19ed5ee9df6a068
Author: Hermet Park 
Date:   Tue May 26 14:37:10 2020 +0900

edje: fix animation memory leak.

if object is destructed on canvas animation,
its internal resource is leaked.

Here simple fix brings stopping animation before deleting obj.

@fix
---
 src/lib/edje/edje_load.c | 21 -
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/src/lib/edje/edje_load.c b/src/lib/edje/edje_load.c
index 783d8d0312..2fb3da0267 100644
--- a/src/lib/edje/edje_load.c
+++ b/src/lib/edje/edje_load.c
@@ -1881,14 +1881,6 @@ _edje_file_del(Edje *ed)
  if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
_edje_entry_real_part_shutdown(ed, rp);
 
- if (rp->object)
-   {
-  _edje_callbacks_focus_del(rp->object, ed);
-  _edje_callbacks_del(rp->object, ed);
-  evas_object_del(rp->object);
-  rp->object = NULL;
-   }
-
  if (rp->custom)
{
   // xxx: lua2
@@ -1956,7 +1948,10 @@ _edje_file_del(Edje *ed)
   (rp->typedata.vector))
{
   if (rp->typedata.vector->anim)
-efl_del(rp->typedata.vector->anim);
+{
+   efl_canvas_object_animation_stop(rp->object);
+   efl_del(rp->typedata.vector->anim);
+}
   if (rp->typedata.vector->lottie_virtual_file)
 eina_file_close(rp->typedata.vector->lottie_virtual_file);
   if (rp->typedata.vector->lottie_data)
@@ -1966,6 +1961,14 @@ _edje_file_del(Edje *ed)
   rp->typedata.vector = NULL;
}
 
+ if (rp->object)
+   {
+  _edje_callbacks_focus_del(rp->object, ed);
+  _edje_callbacks_del(rp->object, ed);
+  evas_object_del(rp->object);
+  rp->object = NULL;
+   }
+
  /* Cleanup optional part. */
  free(rp->drag);
  rp->drag = NULL;

-- 




[EGIT] [core/efl] efl-1.24 19/31: canvas svg: fix missing break.

2020-06-15 Thread Hermet Park
stefan pushed a commit to branch efl-1.24.

http://git.enlightenment.org/core/efl.git/commit/?id=95af339431833beba81d99261919c9359fdca38b

commit 95af339431833beba81d99261919c9359fdca38b
Author: Hermet Park 
Date:   Tue Jun 2 09:59:51 2020 +0900

canvas svg: fix missing break.
---
 src/static_libs/vg_common/vg_common_svg.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/static_libs/vg_common/vg_common_svg.c 
b/src/static_libs/vg_common/vg_common_svg.c
index 058cdf99e0..f5b71c43d2 100644
--- a/src/static_libs/vg_common/vg_common_svg.c
+++ b/src/static_libs/vg_common/vg_common_svg.c
@@ -536,9 +536,10 @@ vg_common_svg_node_free(Svg_Node *node)
  {
 _svg_style_gradient_free(grad);
  }
+   break;
 case SVG_NODE_CUSTOME_COMMAND:
if (node->node.command.commands) free(node->node.command.commands);
-   if (node->node.command.points) free(node->node.command.points); 

+   if (node->node.command.points) free(node->node.command.points);
break;
 default:
break;

-- 




[EGIT] [core/efl] efl-1.24 03/31: evas vg: clean up dangling instances

2020-06-15 Thread Hermet Park
stefan pushed a commit to branch efl-1.24.

http://git.enlightenment.org/core/efl.git/commit/?id=3e5a28325efcaca58cef525e8bb07768188c28f8

commit 3e5a28325efcaca58cef525e8bb07768188c28f8
Author: Hermet Park 
Date:   Tue May 26 18:37:41 2020 +0900

evas vg: clean up dangling instances

unref containers when file is closed.

@fix
---
 src/modules/evas/vg_loaders/eet/evas_vg_load_eet.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/modules/evas/vg_loaders/eet/evas_vg_load_eet.c 
b/src/modules/evas/vg_loaders/eet/evas_vg_load_eet.c
index 8d04aec0f1..3455f2a2b1 100644
--- a/src/modules/evas/vg_loaders/eet/evas_vg_load_eet.c
+++ b/src/modules/evas/vg_loaders/eet/evas_vg_load_eet.c
@@ -42,8 +42,9 @@ evas_vg_load_file_open_eet(Eina_File *file, const char *key, 
int *error EINA_UNU
 }
 
 static Eina_Bool
-evas_vg_load_file_close_eet(Vg_File_Data *vfd EINA_UNUSED)
+evas_vg_load_file_close_eet(Vg_File_Data *vfd)
 {
+   if (vfd->root) efl_unref(vfd->root);
return EINA_TRUE;
 }
 

-- 




[EGIT] [core/efl] efl-1.24 04/31: canvas vg: fix vector file data memory leak.

2020-06-15 Thread Hermet Park
stefan pushed a commit to branch efl-1.24.

http://git.enlightenment.org/core/efl.git/commit/?id=83d9bbd7a3278e8a8956a3fce01d2e840134d50e

commit 83d9bbd7a3278e8a8956a3fce01d2e840134d50e
Author: Hermet Park 
Date:   Tue May 26 18:47:44 2020 +0900

canvas vg: fix vector file data memory leak.

this file data must be freed when eet file is closed.

@fix
---
 src/modules/evas/vg_loaders/eet/evas_vg_load_eet.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/src/modules/evas/vg_loaders/eet/evas_vg_load_eet.c 
b/src/modules/evas/vg_loaders/eet/evas_vg_load_eet.c
index 3455f2a2b1..fdc8eb6d22 100644
--- a/src/modules/evas/vg_loaders/eet/evas_vg_load_eet.c
+++ b/src/modules/evas/vg_loaders/eet/evas_vg_load_eet.c
@@ -44,7 +44,11 @@ evas_vg_load_file_open_eet(Eina_File *file, const char *key, 
int *error EINA_UNU
 static Eina_Bool
 evas_vg_load_file_close_eet(Vg_File_Data *vfd)
 {
+   if (!vfd) return EINA_FALSE;
+
if (vfd->root) efl_unref(vfd->root);
+   free(vfd);
+
return EINA_TRUE;
 }
 

-- 




[EGIT] [core/efl] master 01/01: ui image: fix a missing else case.

2020-06-12 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=65a40d9c6da601dde06d3fcbcd47c80852c4984d

commit 65a40d9c6da601dde06d3fcbcd47c80852c4984d
Author: Hermet Park 
Date:   Fri Jun 12 16:33:21 2020 +0900

ui image: fix a missing else case.

it sholud be turned on enabled status.

it's side issue by 0826b4916efb0bce20a353cece56e84d05fb406c
---
 src/lib/elementary/efl_ui_image.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/elementary/efl_ui_image.c 
b/src/lib/elementary/efl_ui_image.c
index 55a197e7a0..5bf297854c 100644
--- a/src/lib/elementary/efl_ui_image.c
+++ b/src/lib/elementary/efl_ui_image.c
@@ -2561,6 +2561,7 @@ elm_image_preload_disabled_set(Evas_Object *obj, 
Eina_Bool disable)
if (!sd->img)
  {
 if (disable) sd->preload_status = EFL_UI_IMAGE_PRELOAD_DISABLED;
+else sd->preload_status = EFL_UI_IMAGE_PRELOAD_ENABLED;
 return;
  }
 

-- 




[EGIT] [core/efl] master 01/01: evas stack: ++safe code.

2020-06-10 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=e38c1f8be38121520fb90761b4d768ee74bfc403

commit e38c1f8be38121520fb90761b4d768ee74bfc403
Author: Hermet Park 
Date:   Wed Jun 10 20:30:19 2020 +0900

evas stack: ++safe code.

null check to prevent any crashes (just in case)
---
 src/lib/evas/canvas/evas_stack.x | 4 
 1 file changed, 4 insertions(+)

diff --git a/src/lib/evas/canvas/evas_stack.x b/src/lib/evas/canvas/evas_stack.x
index ddd3dffbcb..ae39b65695 100644
--- a/src/lib/evas/canvas/evas_stack.x
+++ b/src/lib/evas/canvas/evas_stack.x
@@ -152,6 +152,8 @@ _efl_canvas_object_efl_gfx_stack_stack_above(Eo *eo_obj, 
Evas_Object_Protected_D
if (eo_obj == eo_above) return;
if (_evas_object_intercept_call_evas(obj, 
EVAS_OBJECT_INTERCEPT_CB_STACK_ABOVE, 1, eo_above)) return;
Evas_Object_Protected_Data *above = efl_data_scope_get(eo_above, 
EFL_CANVAS_OBJECT_CLASS);
+   if (!above) return;
+
if ((EINA_INLIST_GET(obj))->prev == EINA_INLIST_GET(above))
  {
 evas_object_inform_call_restack(eo_obj, obj);
@@ -242,6 +244,8 @@ _efl_canvas_object_efl_gfx_stack_stack_below(Eo *eo_obj, 
Evas_Object_Protected_D
if (eo_obj == eo_below) return;
if (_evas_object_intercept_call_evas(obj, 
EVAS_OBJECT_INTERCEPT_CB_STACK_BELOW, 1, eo_below)) return;
Evas_Object_Protected_Data *below = efl_data_scope_get(eo_below, 
EFL_CANVAS_OBJECT_CLASS);
+   if (!below) return;
+
if ((EINA_INLIST_GET(obj))->next == EINA_INLIST_GET(below))
  {
 evas_object_inform_call_restack(eo_obj, obj);

-- 




[EGIT] [core/efl] master 01/01: ui textpath: updated doc.

2020-06-10 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=13cb31e2715b324d8b75f7d0458398b59d609fb6

commit 13cb31e2715b324d8b75f7d0458398b59d609fb6
Author: Hermet Park 
Date:   Wed Jun 10 15:49:49 2020 +0900

ui textpath: updated doc.
---
 src/lib/elementary/elm_textpath_legacy.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/lib/elementary/elm_textpath_legacy.h 
b/src/lib/elementary/elm_textpath_legacy.h
index 259c63b9bd..95aca9b1db 100644
--- a/src/lib/elementary/elm_textpath_legacy.h
+++ b/src/lib/elementary/elm_textpath_legacy.h
@@ -18,6 +18,9 @@ EAPI Evas_Object 
*elm_textpath_add(Evas_Object *parent);
  * @param[in] obj The textpath object
  * @param[in] style The user text style. If the sytle is $null, the default 
style will be applied
  *
+ * @note ellipsis in the style will be ignored since textpath supports 
ellipsis API.
+ * @see elm_textpath_ellipsis_set()
+ *
  * @ingroup Elm_Textpath
  *
  * @since 1.25

-- 




[EGIT] [core/efl] master 01/01: canvas gl: remove out-dated compiler keywords

2020-06-08 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=b2f9b0e24f09a65f640269c59b5e33a2689933bb

commit b2f9b0e24f09a65f640269c59b5e33a2689933bb
Author: Hermet Park 
Date:   Mon Jun 8 19:46:31 2020 +0900

canvas gl: remove out-dated compiler keywords
---
 src/modules/evas/engines/gl_common/evas_gl_context.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/modules/evas/engines/gl_common/evas_gl_context.c 
b/src/modules/evas/engines/gl_common/evas_gl_context.c
index 30a3b46703..9ea1a86c72 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_context.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_context.c
@@ -1843,7 +1843,7 @@ pipe_region_expand(Evas_Engine_GL_Context *gc, int n,
 }
 
 static Eina_Bool
-vertex_array_size_check(Evas_Engine_GL_Context *gc EINA_UNUSED, int pn 
EINA_UNUSED, int n EINA_UNUSED)
+vertex_array_size_check(Evas_Engine_GL_Context *gc, int pn, int n)
 {
return 1;
 // this fixup breaks for expedite test 32. why?

-- 




[EGIT] [core/efl] master 01/01: eldbus: fix the data size issue.

2020-06-07 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=8559602bccb2a722822f0b42ca122db8827e1644

commit 8559602bccb2a722822f0b42ca122db8827e1644
Author: Hermet Park 
Date:   Mon Jun 8 11:00:26 2020 +0900

eldbus: fix the data size issue.

Summary:
dbus message requires the void* value for the message data,
the returned value of dbus_message_iter_get_basic() can be mismatched by to 
the architure,
This could bring the returned va_argues memory corrupted among the series 
of values.

We can use the defined type for exceptions.

Reviewers: herb, kimcinoo, jsuya, raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11940
---
 src/lib/eldbus/eldbus_message.c | 32 +---
 1 file changed, 21 insertions(+), 11 deletions(-)

diff --git a/src/lib/eldbus/eldbus_message.c b/src/lib/eldbus/eldbus_message.c
index e7295077ab..f8605dd9d1 100644
--- a/src/lib/eldbus/eldbus_message.c
+++ b/src/lib/eldbus/eldbus_message.c
@@ -619,32 +619,36 @@ eldbus_message_iter_next(Eldbus_Message_Iter *iter)
 static void
 get_basic(char type, DBusMessageIter *iter, va_list *vl)
 {
+   DBusBasicValue val;
+
switch (type)
  {
   case DBUS_TYPE_BYTE:
 {
uint8_t *byte = va_arg(*vl, uint8_t *);
-   dbus_message_iter_get_basic(iter, byte);
+   dbus_message_iter_get_basic(iter, );
+   *byte = val.bool_val;
break;
 }
   case DBUS_TYPE_BOOLEAN:
 {
Eina_Bool *boolean = va_arg(*vl, Eina_Bool *);
-   dbus_bool_t val;
dbus_message_iter_get_basic(iter, );
-   *boolean = val;
+   *boolean = val.bool_val;
break;
 }
   case DBUS_TYPE_INT16:
 {
int16_t *int16 = va_arg(*vl, int16_t *);
-   dbus_message_iter_get_basic(iter, int16);
+   dbus_message_iter_get_basic(iter, );
+   *int16 = val.i16;
break;
 }
   case DBUS_TYPE_UINT16:
 {
uint16_t *uint16 = va_arg(*vl, uint16_t *);
-   dbus_message_iter_get_basic(iter, uint16);
+   dbus_message_iter_get_basic(iter, );
+   *uint16 = val.u16;
break;
 }
   case DBUS_TYPE_INT32:
@@ -653,31 +657,36 @@ get_basic(char type, DBusMessageIter *iter, va_list *vl)
 #endif
 {
int32_t *int32 = va_arg(*vl, int32_t *);
-   dbus_message_iter_get_basic(iter, int32);
+   dbus_message_iter_get_basic(iter, );
+   *int32 = val.i32;
break;
 }
   case DBUS_TYPE_UINT32:
 {
uint32_t *uint32 = va_arg(*vl, uint32_t *);
-   dbus_message_iter_get_basic(iter, uint32);
+   dbus_message_iter_get_basic(iter, );
+   *uint32 = val.u32;
break;
 }
   case DBUS_TYPE_INT64:
 {
int64_t *int64 = va_arg(*vl, int64_t *);
-   dbus_message_iter_get_basic(iter, int64);
+   dbus_message_iter_get_basic(iter, );
+   *int64 = val.i64;
break;
 }
   case DBUS_TYPE_UINT64:
 {
uint64_t *uint64 = va_arg(*vl, uint64_t *);
-   dbus_message_iter_get_basic(iter, uint64);
+   dbus_message_iter_get_basic(iter, );
+   *uint64 = val.u64;
break;
 }
   case DBUS_TYPE_DOUBLE:
 {
double *double_ieee = va_arg(*vl, double *);
-   dbus_message_iter_get_basic(iter, double_ieee);
+   dbus_message_iter_get_basic(iter, );
+   *double_ieee = val.dbl;
break;
 }
   case DBUS_TYPE_STRING:
@@ -685,7 +694,8 @@ get_basic(char type, DBusMessageIter *iter, va_list *vl)
   case DBUS_TYPE_SIGNATURE:
 {
char **string = va_arg(*vl, char**);
-   dbus_message_iter_get_basic(iter, string);
+   dbus_message_iter_get_basic(iter, );
+   *string = val.str;
break;
 }
   default:

-- 




[EGIT] [core/efl] master 01/01: canvas svg: fix missing break.

2020-06-01 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=9d1423f2033cdd59db1d2f6f33df878d1de040fa

commit 9d1423f2033cdd59db1d2f6f33df878d1de040fa
Author: Hermet Park 
Date:   Tue Jun 2 09:59:51 2020 +0900

canvas svg: fix missing break.
---
 src/static_libs/vg_common/vg_common_svg.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/static_libs/vg_common/vg_common_svg.c 
b/src/static_libs/vg_common/vg_common_svg.c
index 058cdf99e0..f5b71c43d2 100644
--- a/src/static_libs/vg_common/vg_common_svg.c
+++ b/src/static_libs/vg_common/vg_common_svg.c
@@ -536,9 +536,10 @@ vg_common_svg_node_free(Svg_Node *node)
  {
 _svg_style_gradient_free(grad);
  }
+   break;
 case SVG_NODE_CUSTOME_COMMAND:
if (node->node.command.commands) free(node->node.command.commands);
-   if (node->node.command.points) free(node->node.command.points); 

+   if (node->node.command.points) free(node->node.command.points);
break;
 default:
break;

-- 




[EGIT] [core/efl] master 01/01: efl gfx_path: fix memory leak.

2020-05-27 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=89e34f351ea7c4aebe92abfc84631a0ef6136114

commit 89e34f351ea7c4aebe92abfc84631a0ef6136114
Author: Hermet Park 
Date:   Wed May 27 15:34:24 2020 +0900

efl gfx_path: fix memory leak.

his reverts commit 38be95b0b6fd93df01636ae0a7c974b32ed694a1.

The reverting patch blocks efl_canvas_vg_shape triggers efl_canvas_vg_node 
destructor.

That occurs massive leaks among the all nodes in the vector tree.

To fix the origin issue, we must reset path explicitly in the derived class.

@fix
---
 src/lib/efl/interfaces/efl_gfx_path.c  | 7 ---
 src/lib/efl/interfaces/efl_gfx_path.eo | 5 +
 2 files changed, 1 insertion(+), 11 deletions(-)

diff --git a/src/lib/efl/interfaces/efl_gfx_path.c 
b/src/lib/efl/interfaces/efl_gfx_path.c
index 9852de1498..18a1733da0 100644
--- a/src/lib/efl/interfaces/efl_gfx_path.c
+++ b/src/lib/efl/interfaces/efl_gfx_path.c
@@ -1535,11 +1535,4 @@ _efl_gfx_path_copy_from(Eo *obj, Efl_Gfx_Path_Data *pd, 
const Eo *dup_from)
_efl_gfx_path_path_set(obj, pd, from->commands, from->points);
 }
 
-EOLIAN static void
-_efl_gfx_path_efl_object_destructor(Eo *obj, Efl_Gfx_Path_Data *pd)
-{
-   _efl_gfx_path_reset(obj, pd);
-   efl_destructor(efl_super(obj, EFL_GFX_PATH_MIXIN));
-}
-
 #include "interfaces/efl_gfx_path.eo.c"
diff --git a/src/lib/efl/interfaces/efl_gfx_path.eo 
b/src/lib/efl/interfaces/efl_gfx_path.eo
index 42a44607ac..3f47497da9 100644
--- a/src/lib/efl/interfaces/efl_gfx_path.eo
+++ b/src/lib/efl/interfaces/efl_gfx_path.eo
@@ -1,7 +1,7 @@
 import eina_types;
 import efl_gfx_types;
 
-mixin @beta Efl.Gfx.Path requires Efl.Object
+mixin @beta Efl.Gfx.Path
 {
[[EFL graphics path object interface]]
methods {
@@ -267,7 +267,4 @@ mixin @beta Efl.Gfx.Path requires Efl.Object
 ]]
   }
}
-   implements {
- Efl.Object.destructor;
-   }
 }

-- 




[EGIT] [core/efl] master 01/01: canvas vg: fix vector file data memory leak.

2020-05-26 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=f917a389b24d341bfed6f8f8ff9340a3a655518a

commit f917a389b24d341bfed6f8f8ff9340a3a655518a
Author: Hermet Park 
Date:   Tue May 26 18:47:44 2020 +0900

canvas vg: fix vector file data memory leak.

this file data must be freed when eet file is closed.

@fix
---
 src/modules/evas/vg_loaders/eet/evas_vg_load_eet.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/src/modules/evas/vg_loaders/eet/evas_vg_load_eet.c 
b/src/modules/evas/vg_loaders/eet/evas_vg_load_eet.c
index 3455f2a2b1..fdc8eb6d22 100644
--- a/src/modules/evas/vg_loaders/eet/evas_vg_load_eet.c
+++ b/src/modules/evas/vg_loaders/eet/evas_vg_load_eet.c
@@ -44,7 +44,11 @@ evas_vg_load_file_open_eet(Eina_File *file, const char *key, 
int *error EINA_UNU
 static Eina_Bool
 evas_vg_load_file_close_eet(Vg_File_Data *vfd)
 {
+   if (!vfd) return EINA_FALSE;
+
if (vfd->root) efl_unref(vfd->root);
+   free(vfd);
+
return EINA_TRUE;
 }
 

-- 




[EGIT] [core/efl] master 01/01: evas vg: clean up dangling instances

2020-05-26 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=9fbdb02240fbcce0e080b0d43b269ca07cbd1180

commit 9fbdb02240fbcce0e080b0d43b269ca07cbd1180
Author: Hermet Park 
Date:   Tue May 26 18:37:41 2020 +0900

evas vg: clean up dangling instances

unref containers when file is closed.

@fix
---
 src/modules/evas/vg_loaders/eet/evas_vg_load_eet.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/modules/evas/vg_loaders/eet/evas_vg_load_eet.c 
b/src/modules/evas/vg_loaders/eet/evas_vg_load_eet.c
index 8d04aec0f1..3455f2a2b1 100644
--- a/src/modules/evas/vg_loaders/eet/evas_vg_load_eet.c
+++ b/src/modules/evas/vg_loaders/eet/evas_vg_load_eet.c
@@ -42,8 +42,9 @@ evas_vg_load_file_open_eet(Eina_File *file, const char *key, 
int *error EINA_UNU
 }
 
 static Eina_Bool
-evas_vg_load_file_close_eet(Vg_File_Data *vfd EINA_UNUSED)
+evas_vg_load_file_close_eet(Vg_File_Data *vfd)
 {
+   if (vfd->root) efl_unref(vfd->root);
return EINA_TRUE;
 }
 

-- 




[EGIT] [core/efl] master 01/01: canvas vg: fix dangling vector containers.

2020-05-26 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=532e8056c60188212e468e0ec68514b840366ee3

commit 532e8056c60188212e468e0ec68514b840366ee3
Author: Hermet Park 
Date:   Tue May 26 16:08:30 2020 +0900

canvas vg: fix dangling vector containers.

These duplicated containers are not going removed
since its refernece is always more than 0.

We need to unref explicity when they have to

@fix
---
 src/lib/edje/edje_calc.c   | 7 ---
 src/lib/evas/canvas/efl_canvas_vg_object.c | 1 +
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c
index f9a6675627..d07b5bf81f 100644
--- a/src/lib/edje/edje_calc.c
+++ b/src/lib/edje/edje_calc.c
@@ -3332,10 +3332,11 @@ _edje_vector_recalc_apply(Edje *ed, Edje_Real_Part *ep, 
Edje_Calc_Params *p3 EIN
 root = efl_duplicate(src_root);
 
 if (!efl_gfx_path_interpolate(root, src_root, dest_root, pos))
-  {
- ERR("Can't interpolate check the svg file");
-  }
+  ERR("Can't interpolate check the svg file");
+
 efl_canvas_vg_object_root_node_set(ep->object, root);
+
+efl_unref(root);
 efl_unref(src_root);
 efl_unref(dest_root);
  }
diff --git a/src/lib/evas/canvas/efl_canvas_vg_object.c 
b/src/lib/evas/canvas/efl_canvas_vg_object.c
index bd43b7c0de..3a3ba1c346 100644
--- a/src/lib/evas/canvas/efl_canvas_vg_object.c
+++ b/src/lib/evas/canvas/efl_canvas_vg_object.c
@@ -349,6 +349,7 @@ _efl_canvas_vg_object_efl_object_invalidate(Eo *eo_obj, 
Efl_Canvas_Vg_Object_Dat
  {
 Vg_User_Entry *user_entry = pd->user_entry;
 ENFN->ector_surface_cache_drop(ENC, user_entry->root);
+if (pd->user_entry->root) efl_unref(pd->user_entry->root);
 free(pd->user_entry);
  }
pd->user_entry = NULL;

-- 




[EGIT] [core/efl] master 01/01: edje: fix animation memory leak.

2020-05-25 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=461a709e7f81fb8b3daa8d9ece521d892356987b

commit 461a709e7f81fb8b3daa8d9ece521d892356987b
Author: Hermet Park 
Date:   Tue May 26 14:37:10 2020 +0900

edje: fix animation memory leak.

if object is destructed on canvas animation,
its internal resource is leaked.

Here simple fix brings stopping animation before deleting obj.

@fix
---
 src/lib/edje/edje_load.c | 21 -
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/src/lib/edje/edje_load.c b/src/lib/edje/edje_load.c
index 783d8d0312..2fb3da0267 100644
--- a/src/lib/edje/edje_load.c
+++ b/src/lib/edje/edje_load.c
@@ -1881,14 +1881,6 @@ _edje_file_del(Edje *ed)
  if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
_edje_entry_real_part_shutdown(ed, rp);
 
- if (rp->object)
-   {
-  _edje_callbacks_focus_del(rp->object, ed);
-  _edje_callbacks_del(rp->object, ed);
-  evas_object_del(rp->object);
-  rp->object = NULL;
-   }
-
  if (rp->custom)
{
   // xxx: lua2
@@ -1956,7 +1948,10 @@ _edje_file_del(Edje *ed)
   (rp->typedata.vector))
{
   if (rp->typedata.vector->anim)
-efl_del(rp->typedata.vector->anim);
+{
+   efl_canvas_object_animation_stop(rp->object);
+   efl_del(rp->typedata.vector->anim);
+}
   if (rp->typedata.vector->lottie_virtual_file)
 eina_file_close(rp->typedata.vector->lottie_virtual_file);
   if (rp->typedata.vector->lottie_data)
@@ -1966,6 +1961,14 @@ _edje_file_del(Edje *ed)
   rp->typedata.vector = NULL;
}
 
+ if (rp->object)
+   {
+  _edje_callbacks_focus_del(rp->object, ed);
+  _edje_callbacks_del(rp->object, ed);
+  evas_object_del(rp->object);
+  rp->object = NULL;
+   }
+
  /* Cleanup optional part. */
  free(rp->drag);
  rp->drag = NULL;

-- 




[EGIT] [core/efl] master 01/01: Revert "canvas render: don't apply mask if the objects in the map."

2020-05-13 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=4dbb78ee9b948abc40d50ea512b60112610f989e

commit 4dbb78ee9b948abc40d50ea512b60112610f989e
Author: Hermet Park 
Date:   Wed May 13 16:53:45 2020 +0900

Revert "canvas render: don't apply mask if the objects in the map."

This reverts commit eaafb9e4c53863cfd0ae4aaf24f04d333458ff2b.

Found some regression bugs. revert it.
---
 src/lib/evas/canvas/evas_render.c | 73 ++-
 1 file changed, 26 insertions(+), 47 deletions(-)

diff --git a/src/lib/evas/canvas/evas_render.c 
b/src/lib/evas/canvas/evas_render.c
index 3e71e40af1..1d47ba06af 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -438,18 +438,6 @@ _evas_render_object_is_mask(Evas_Object_Protected_Data 
*obj)
return EINA_FALSE;
 }
 
-static inline Evas_Object_Protected_Data *
-_evas_mask_owner_get(Evas_Object_Protected_Data *obj)
-{
-   Evas_Object_Protected_Data *parent = NULL;
-
-   if (!obj->smart.parent) return obj;
-   parent = efl_data_scope_get(obj->smart.parent, EFL_CANVAS_OBJECT_CLASS);
-   if (parent->clip.mask != obj->clip.mask) return obj;
-
-   return _evas_mask_owner_get(parent);
-}
-
 static void
 _evas_render_phase1_direct(Evas_Public_Data *e,
Eina_Inarray *active_objects,
@@ -2157,13 +2145,9 @@ evas_render_mapped(Evas_Public_Data *evas, Evas_Object 
*eo_obj,
  if (obj->is_smart)
{
   /* Clipper masks */
-  if (obj->cur->clipper && (mapped > 1) &&  
_evas_render_object_is_mask(obj->cur->clipper))
-{
-   //Apply only owner mask in the map
-   Evas_Object_Protected_Data *owner = 
_evas_mask_owner_get(obj);
-   if (owner == obj || (_evas_render_has_map(owner) && 
!_evas_render_can_map(owner)))
- _evas_render_mapped_mask(evas, obj, 
obj->cur->clipper, proxy_render_data, output, ctx, off_x, off_y, level, 
do_async);
-}
+  if (obj->cur->clipper && (mapped > 1) &&
+  _evas_render_object_is_mask(obj->cur->clipper))
+_evas_render_mapped_mask(evas, obj, obj->cur->clipper, 
proxy_render_data, output, ctx, off_x, off_y, level, do_async);
   else if (!proxy_src_clip && proxy_render_data)
 {
if (!_proxy_context_clip(evas, ctx, proxy_render_data, 
obj, off_x, off_y))
@@ -2210,40 +2194,35 @@ evas_render_mapped(Evas_Public_Data *evas, Evas_Object 
*eo_obj,
 
   if (obj->cur->clipper && (mapped > 1))
 {
-   //Apply only owner mask in the map
-   Evas_Object_Protected_Data *owner = 
_evas_mask_owner_get(obj);
-   if (owner == obj || (_evas_render_has_map(owner) && 
!_evas_render_can_map(owner)))
- {
-Evas_Object_Protected_Data *mask = obj->clip.mask;
+   Evas_Object_Protected_Data *mask = obj->clip.mask;
 
-if (obj->mask->surface != surface)
+   if (obj->mask->surface != surface)
+ {
+if (proxy_src_clip)
   {
- if (proxy_src_clip)
-   {
-  if ((_evas_render_has_map(obj) && 
!_evas_render_can_map(obj)) ||
-  
_evas_render_object_is_mask(obj->cur->clipper))
-evas_object_clip_recalc(obj);
-  
_evas_render_mapped_context_clip_set(evas, eo_obj, obj, ctx,
-   
proxy_render_data,
-   
off_x, off_y);
-   }
- else if (proxy_render_data)
-   {
-  if (!_proxy_context_clip(evas, ctx, 
proxy_render_data, obj, off_x, off_y))
-goto on_empty_clip;
-   }
+ if ((_evas_render_has_map(obj) && 
!_evas_render_can_map(obj)) ||
+ 
_evas_render_object_is_mask(obj->cur->clipper))
+   evas_object_clip_recalc(obj);
+ _evas_render_mapped_context_clip_set(evas, 
eo_obj,

[EGIT] [core/efl] master 01/01: canvas render: don't apply mask if the objects in the map.

2020-05-10 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=eaafb9e4c53863cfd0ae4aaf24f04d333458ff2b

commit eaafb9e4c53863cfd0ae4aaf24f04d333458ff2b
Author: Hermet Park 
Date:   Sun May 10 16:03:10 2020 +0900

canvas render: don't apply mask if the objects in the map.

Current mask is shared across the objects hierarchy,
children would try to apply this mask on the rendering
when it's enabled by the parent.

but if the map is enabled from one of parents, children should not apply
the parents mask but leaves it to the parent's job.

@fix
---
 src/lib/evas/canvas/evas_render.c | 73 +--
 1 file changed, 47 insertions(+), 26 deletions(-)

diff --git a/src/lib/evas/canvas/evas_render.c 
b/src/lib/evas/canvas/evas_render.c
index 1d47ba06af..3e71e40af1 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -438,6 +438,18 @@ _evas_render_object_is_mask(Evas_Object_Protected_Data 
*obj)
return EINA_FALSE;
 }
 
+static inline Evas_Object_Protected_Data *
+_evas_mask_owner_get(Evas_Object_Protected_Data *obj)
+{
+   Evas_Object_Protected_Data *parent = NULL;
+
+   if (!obj->smart.parent) return obj;
+   parent = efl_data_scope_get(obj->smart.parent, EFL_CANVAS_OBJECT_CLASS);
+   if (parent->clip.mask != obj->clip.mask) return obj;
+
+   return _evas_mask_owner_get(parent);
+}
+
 static void
 _evas_render_phase1_direct(Evas_Public_Data *e,
Eina_Inarray *active_objects,
@@ -2145,9 +2157,13 @@ evas_render_mapped(Evas_Public_Data *evas, Evas_Object 
*eo_obj,
  if (obj->is_smart)
{
   /* Clipper masks */
-  if (obj->cur->clipper && (mapped > 1) &&
-  _evas_render_object_is_mask(obj->cur->clipper))
-_evas_render_mapped_mask(evas, obj, obj->cur->clipper, 
proxy_render_data, output, ctx, off_x, off_y, level, do_async);
+  if (obj->cur->clipper && (mapped > 1) &&  
_evas_render_object_is_mask(obj->cur->clipper))
+{
+   //Apply only owner mask in the map
+   Evas_Object_Protected_Data *owner = 
_evas_mask_owner_get(obj);
+   if (owner == obj || (_evas_render_has_map(owner) && 
!_evas_render_can_map(owner)))
+ _evas_render_mapped_mask(evas, obj, 
obj->cur->clipper, proxy_render_data, output, ctx, off_x, off_y, level, 
do_async);
+}
   else if (!proxy_src_clip && proxy_render_data)
 {
if (!_proxy_context_clip(evas, ctx, proxy_render_data, 
obj, off_x, off_y))
@@ -2194,35 +2210,40 @@ evas_render_mapped(Evas_Public_Data *evas, Evas_Object 
*eo_obj,
 
   if (obj->cur->clipper && (mapped > 1))
 {
-   Evas_Object_Protected_Data *mask = obj->clip.mask;
-
-   if (obj->mask->surface != surface)
+   //Apply only owner mask in the map
+   Evas_Object_Protected_Data *owner = 
_evas_mask_owner_get(obj);
+   if (owner == obj || (_evas_render_has_map(owner) && 
!_evas_render_can_map(owner)))
  {
-if (proxy_src_clip)
+Evas_Object_Protected_Data *mask = obj->clip.mask;
+
+if (obj->mask->surface != surface)
   {
- if ((_evas_render_has_map(obj) && 
!_evas_render_can_map(obj)) ||
- 
_evas_render_object_is_mask(obj->cur->clipper))
-   evas_object_clip_recalc(obj);
- _evas_render_mapped_context_clip_set(evas, 
eo_obj, obj, ctx,
-  
proxy_render_data,
-  off_x, 
off_y);
+ if (proxy_src_clip)
+   {
+  if ((_evas_render_has_map(obj) && 
!_evas_render_can_map(obj)) ||
+  
_evas_render_object_is_mask(obj->cur->clipper))
+evas_object_clip_recalc(obj);
+  
_evas_render_mapped_context_clip_set(evas, eo_obj, obj, ctx,
+   
proxy_render_data,
+   
off_x, off_y);
+   }
+

[EGIT] [core/efl] efl-1.24 01/01: canvas map: draw direct image as possible.

2020-05-07 Thread Hermet Park
raster pushed a commit to branch efl-1.24.

http://git.enlightenment.org/core/efl.git/commit/?id=2e5e6247023550f7aba2d8aad4a43a9ccca6e48c

commit 2e5e6247023550f7aba2d8aad4a43a9ccca6e48c
Author: Hermet Park 
Date:   Thu May 7 11:25:13 2020 +0900

canvas map: draw direct image as possible.

Since we moved to floating calculation for msaa, this comparsion
is not working for direct image drawing though it's doable.

To resolve this, we can compare floatings regardless of msaa enable.
---
 src/modules/evas/engines/gl_generic/evas_engine.c | 13 ++---
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/src/modules/evas/engines/gl_generic/evas_engine.c 
b/src/modules/evas/engines/gl_generic/evas_engine.c
index c0b0dca539..414856794f 100644
--- a/src/modules/evas/engines/gl_generic/evas_engine.c
+++ b/src/modules/evas/engines/gl_generic/evas_engine.c
@@ -1319,13 +1319,12 @@ eng_image_map_draw(void *engine EINA_UNUSED, void 
*data, void *context, void *su
evas_gl_common_context_target_surface_set(gl_context, surface);
gl_context->dc = context;
 
-   if (!gl_context->msaa &&
-   (m->pts[0].x == m->pts[3].x) &&
-   (m->pts[1].x == m->pts[2].x) &&
-   (m->pts[0].y == m->pts[1].y) &&
-   (m->pts[3].y == m->pts[2].y) &&
-   (m->pts[0].x <= m->pts[1].x) &&
-   (m->pts[0].y <= m->pts[2].y) &&
+   if (fabsf(m->pts[0].fx - m->pts[3].fx) < FLT_EPSILON &&
+   fabsf(m->pts[1].fx - m->pts[2].fx) < FLT_EPSILON &&
+   fabsf(m->pts[0].fy - m->pts[1].fy) < FLT_EPSILON &&
+   fabsf(m->pts[3].fy - m->pts[2].fy) < FLT_EPSILON &&
+   (m->pts[0].fx <= m->pts[1].fx) &&
+   (m->pts[0].fy <= m->pts[2].fy) &&
(m->pts[0].u == 0) &&
(m->pts[0].v == 0) &&
(m->pts[1].u == (gim->w << FP)) &&

-- 




[EGIT] [core/efl] master 01/01: canvas map: draw direct image as possible.

2020-05-06 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=98ff237fc12ddbe09ef0db27dd8038d1fc90255d

commit 98ff237fc12ddbe09ef0db27dd8038d1fc90255d
Author: Hermet Park 
Date:   Thu May 7 11:25:13 2020 +0900

canvas map: draw direct image as possible.

Since we moved to floating calculation for msaa, this comparsion
is not working for direct image drawing though it's doable.

To resolve this, we can compare floatings regardless of msaa enable.
---
 src/modules/evas/engines/gl_generic/evas_engine.c | 13 ++---
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/src/modules/evas/engines/gl_generic/evas_engine.c 
b/src/modules/evas/engines/gl_generic/evas_engine.c
index c0b0dca539..414856794f 100644
--- a/src/modules/evas/engines/gl_generic/evas_engine.c
+++ b/src/modules/evas/engines/gl_generic/evas_engine.c
@@ -1319,13 +1319,12 @@ eng_image_map_draw(void *engine EINA_UNUSED, void 
*data, void *context, void *su
evas_gl_common_context_target_surface_set(gl_context, surface);
gl_context->dc = context;
 
-   if (!gl_context->msaa &&
-   (m->pts[0].x == m->pts[3].x) &&
-   (m->pts[1].x == m->pts[2].x) &&
-   (m->pts[0].y == m->pts[1].y) &&
-   (m->pts[3].y == m->pts[2].y) &&
-   (m->pts[0].x <= m->pts[1].x) &&
-   (m->pts[0].y <= m->pts[2].y) &&
+   if (fabsf(m->pts[0].fx - m->pts[3].fx) < FLT_EPSILON &&
+   fabsf(m->pts[1].fx - m->pts[2].fx) < FLT_EPSILON &&
+   fabsf(m->pts[0].fy - m->pts[1].fy) < FLT_EPSILON &&
+   fabsf(m->pts[3].fy - m->pts[2].fy) < FLT_EPSILON &&
+   (m->pts[0].fx <= m->pts[1].fx) &&
+   (m->pts[0].fy <= m->pts[2].fy) &&
(m->pts[0].u == 0) &&
(m->pts[0].v == 0) &&
(m->pts[1].u == (gim->w << FP)) &&

-- 




[EGIT] [core/efl] master 01/01: canvas vg: Correct order of data free.

2020-04-28 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=e83746cf04f560fa4694c11b60a7137392faf0cb

commit e83746cf04f560fa4694c11b60a7137392faf0cb
Author: Hermet Park 
Date:   Wed Apr 29 13:25:28 2020 +0900

canvas vg: Correct order of data free.

vfd data is firstly initialized and
must be freed in the last.
---
 src/lib/evas/vg/evas_vg_cache.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/evas/vg/evas_vg_cache.c b/src/lib/evas/vg/evas_vg_cache.c
index e9990107ee..719ee0fd1d 100644
--- a/src/lib/evas/vg/evas_vg_cache.c
+++ b/src/lib/evas/vg/evas_vg_cache.c
@@ -315,8 +315,8 @@ evas_cache_vg_shutdown(void)
  free(key);
eina_list_free(vg_cache->vg_surface_keys);
 
-   eina_hash_free(vg_cache->vfd_hash);
eina_hash_free(vg_cache->vg_entry_hash);
+   eina_hash_free(vg_cache->vfd_hash);
free(vg_cache);
vg_cache = NULL;
 }

-- 




[EGIT] [core/efl] master 01/01: canvas clip: replace hash to cached array.

2020-04-27 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=88dd66f3d15b6839a7e64a672c73e9d4a352c9aa

commit 88dd66f3d15b6839a7e64a672c73e9d4a352c9aa
Author: Hermet Park 
Date:   Tue Apr 28 14:35:26 2020 +0900

canvas clip: replace hash to cached array.

Each child_map_across_mark() takes 0.026ms with eina_hash
we can reduce the performing time by replacing the hash to array to 
0.0041ms in a device.

Before Average: 0.026ms
Mostly it takes 23 times in the scrolling. thus it takes 3%(0.48ms) in one 
frame rendering (16ms)

After Average: 0.0041ms
Mostly it takes 23 times in the scrolling. thus it takes 0.6%(0.096ms) in 
one frame rendering (16ms)
result: map calc 5x faster than original (0.384ms improved)

Thanks Subhransu for report this.

@optimization
---
 src/lib/evas/canvas/evas_clip.c | 27 ++-
 src/lib/evas/canvas/evas_main.c |  3 +++
 src/lib/evas/canvas/evas_render.c   |  3 +++
 src/lib/evas/include/evas_private.h |  1 +
 4 files changed, 21 insertions(+), 13 deletions(-)

diff --git a/src/lib/evas/canvas/evas_clip.c b/src/lib/evas/canvas/evas_clip.c
index 210aa5fc7d..55ecdb2179 100644
--- a/src/lib/evas/canvas/evas_clip.c
+++ b/src/lib/evas/canvas/evas_clip.c
@@ -74,30 +74,30 @@ evas_object_recalc_clippees(Evas_Object_Protected_Data *obj)
 
 #define MAP_ACROSS 1
 static void
-evas_object_child_map_across_mark(Evas_Object *eo_obj, 
Evas_Object_Protected_Data *obj, Evas_Object *map_obj, Eina_Bool force, 
Eina_Hash *visited)
+evas_object_child_map_across_mark(Evas_Object *eo_obj, 
Evas_Object_Protected_Data *obj, Evas_Object *map_obj, Eina_Bool force, 
Eina_Array* visited)
 {
 #ifdef MAP_ACROSS
Eina_Bool clear_visited = EINA_FALSE;
-
if (!visited)
  {
-visited = eina_hash_pointer_new(NULL);
+visited = >layer->evas->map_clip_objects;
 clear_visited = EINA_TRUE;
  }
-   if (eina_hash_find(visited, _obj) == (void *)1) goto end;
-   else eina_hash_add(visited, _obj, (void *)1);
-   
+
+   if (eina_array_find(visited, (void*) eo_obj, NULL)) goto end;
+   else eina_array_push(visited, (void*) eo_obj);
+
if ((obj->map->cur.map_parent != map_obj) || force)
  {
 EINA_COW_WRITE_BEGIN(evas_object_map_cow, obj->map, 
Evas_Object_Map_Data, map_write)
   map_write->cur.map_parent = map_obj;
 EINA_COW_WRITE_END(evas_object_map_cow, obj->map, map_write);
 
-   EINA_COW_STATE_WRITE_BEGIN(obj, state_write, cur)
- {
-   state_write->cache.clip.dirty = 1;
- }
-   EINA_COW_STATE_WRITE_END(obj, state_write, cur);
+EINA_COW_STATE_WRITE_BEGIN(obj, state_write, cur)
+  {
+ state_write->cache.clip.dirty = 1;
+  }
+EINA_COW_STATE_WRITE_END(obj, state_write, cur);
 
 evas_object_clip_recalc(obj);
 if (obj->is_smart)
@@ -125,8 +125,9 @@ evas_object_child_map_across_mark(Evas_Object *eo_obj, 
Evas_Object_Protected_Dat
}
   }
  }
-end:   
-   if (clear_visited) eina_hash_free(visited);
+
+end:
+   if (clear_visited) eina_array_clean(visited);
 #endif
 }
 
diff --git a/src/lib/evas/canvas/evas_main.c b/src/lib/evas/canvas/evas_main.c
index fc53f64dc8..956e13dbcf 100644
--- a/src/lib/evas/canvas/evas_main.c
+++ b/src/lib/evas/canvas/evas_main.c
@@ -363,6 +363,8 @@ _evas_canvas_efl_object_constructor(Eo *eo_obj, 
Evas_Public_Data *e)
EVAS_ARRAY_SET(e, glyph_unref_queue);
EVAS_ARRAY_SET(e, texts_unref_queue);
 
+   eina_array_step_set(>map_clip_objects, sizeof(e->map_clip_objects), 64);
+
e->active_objects.version = EINA_ARRAY_VERSION;
eina_inarray_step_set(>active_objects,
  sizeof(Eina_Inarray),
@@ -644,6 +646,7 @@ _evas_canvas_efl_object_destructor(Eo *eo_e, 
Evas_Public_Data *e)
eina_array_flush(>image_unref_queue);
eina_array_flush(>glyph_unref_queue);
eina_array_flush(>texts_unref_queue);
+   eina_array_flush(>map_clip_objects);
eina_hash_free(e->focused_objects);
 
SLKL(e->post_render.lock);
diff --git a/src/lib/evas/canvas/evas_render.c 
b/src/lib/evas/canvas/evas_render.c
index 4a44c5e6ea..1d47ba06af 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -4127,6 +4127,7 @@ _evas_canvas_render_idle_flush(Eo *eo_e, Evas_Public_Data 
*evas)
OBJS_ARRAY_FLUSH(>delete_objects);
OBJS_ARRAY_FLUSH(>obscuring_objects);
OBJS_ARRAY_FLUSH(>temporary_objects);
+   OBJS_ARRAY_FLUSH(>map_clip_objects);
eina_array_foreach(>clip_changes, _evas_clip_changes_free, NULL);
eina_array_clean(>clip_changes);
 
@@ -4243,6 +4244,7 @@ if (Cow) while (eina_cow_gc(Cow))
OBJS_ARRAY_FLUSH(>delete_objects);
OBJS_ARRAY_FLUSH(>obscuring_objects);
OBJS_ARRAY_FLUSH(>temporary_objects);
+   OBJS_ARRAY_FLUSH(>map_clip_objects

[EGIT] [core/efl] master 01/01: canvas layer: +prevent null layer objects.

2020-04-24 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=ed9ab21fdf9352b538d2ed4a2afac8644b611163

commit ed9ab21fdf9352b538d2ed4a2afac8644b611163
Author: Hermet Park 
Date:   Fri Apr 24 21:11:27 2020 +0900

canvas layer: +prevent null layer objects.
---
 src/lib/evas/canvas/evas_stack.x | 20 +++-
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/src/lib/evas/canvas/evas_stack.x b/src/lib/evas/canvas/evas_stack.x
index 333932f4bd..ddd3dffbcb 100644
--- a/src/lib/evas/canvas/evas_stack.x
+++ b/src/lib/evas/canvas/evas_stack.x
@@ -402,18 +402,20 @@ _evas_canvas_object_top_get(const Eo *eo_e EINA_UNUSED, 
Evas_Public_Data *e)
 
//just in case if layer has no valid objects in the list.
EINA_INLIST_REVERSE_FOREACH(list, layer)
- if (layer->objects) break;
+ {
+if (!layer->objects) continue;
 
-   list = EINA_INLIST_GET(layer->objects);
-   if (!list) return NULL;
+list = EINA_INLIST_GET(layer->objects);
+if (!list) return NULL;
 
-   obj = (Evas_Object_Protected_Data *) list->last;
-   if (!obj) return NULL;
+obj = (Evas_Object_Protected_Data *) list->last;
+if (!obj) return NULL;
 
-   while (obj)
- {
-if (!obj->delete_me) return obj->object;
-obj = evas_object_below_get_internal(obj);
+while (obj)
+  {
+ if (!obj->delete_me) return obj->object;
+ obj = evas_object_below_get_internal(obj);
+  }
  }
 
return NULL;

-- 




[EGIT] [core/efl] master 01/01: canvas layer: find the top item for only valids.

2020-04-24 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=052f562c42a9ad1393e13a2f61e69015f113ee52

commit 052f562c42a9ad1393e13a2f61e69015f113ee52
Author: Hermet Park 
Date:   Fri Apr 24 21:00:39 2020 +0900

canvas layer: find the top item for only valids.

In some case, top layer doesn't have valid objects,
That case, we must find and return top object in the next layer.
---
 src/lib/evas/canvas/evas_stack.x | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/lib/evas/canvas/evas_stack.x b/src/lib/evas/canvas/evas_stack.x
index 914d04731e..333932f4bd 100644
--- a/src/lib/evas/canvas/evas_stack.x
+++ b/src/lib/evas/canvas/evas_stack.x
@@ -400,8 +400,9 @@ _evas_canvas_object_top_get(const Eo *eo_e EINA_UNUSED, 
Evas_Public_Data *e)
list = EINA_INLIST_GET(e->layers);
if (!list) return NULL;
 
-   layer = (Evas_Layer *) list->last;
-   if (!layer) return NULL;
+   //just in case if layer has no valid objects in the list.
+   EINA_INLIST_REVERSE_FOREACH(list, layer)
+ if (layer->objects) break;
 
list = EINA_INLIST_GET(layer->objects);
if (!list) return NULL;

-- 




[EGIT] [core/efl] master 01/01: canvas svg: fix memory leak.

2020-04-17 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=989570b133df8e509a4c35cf89b0f11a6dd67ddb

commit 989570b133df8e509a4c35cf89b0f11a6dd67ddb
Author: Hermet Park 
Date:   Fri Apr 17 18:14:48 2020 +0900

canvas svg: fix memory leak.

free svg node commands & points data after usage.

@fix
---
 src/static_libs/vg_common/vg_common_svg.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/static_libs/vg_common/vg_common_svg.c 
b/src/static_libs/vg_common/vg_common_svg.c
index 526787df0d..de5477bb0e 100644
--- a/src/static_libs/vg_common/vg_common_svg.c
+++ b/src/static_libs/vg_common/vg_common_svg.c
@@ -540,7 +540,9 @@ vg_common_svg_node_free(Svg_Node *node)
 default:
break;
  }
-  free(node);
+   if (node->node.command.commands_count > 0) 
free(node->node.command.commands);
+   if (node->node.command.points_count > 0) free(node->node.command.points);
+   free(node);
 }
 
 static Efl_VG *

-- 




[EGIT] [core/efl] master 01/01: evas text: fix memory leak.

2020-04-13 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=f9ae39ef52b33c1af2c81b864a1f77657fd8e6d9

commit f9ae39ef52b33c1af2c81b864a1f77657fd8e6d9
Author: Hermet Park 
Date:   Mon Apr 13 14:43:00 2020 +0900

evas text: fix memory leak.

Summary: free used memory properly.

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11691
---
 src/lib/evas/canvas/evas_main.c | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/lib/evas/canvas/evas_main.c b/src/lib/evas/canvas/evas_main.c
index ebd66998b4..757f3e47cd 100644
--- a/src/lib/evas/canvas/evas_main.c
+++ b/src/lib/evas/canvas/evas_main.c
@@ -125,7 +125,9 @@ _markup_to_utf8(Eina_Content *from, const char *to_type)
 {
Eina_Slice slice = eina_content_data_get(from);
char *utf8 = evas_textblock_text_markup_to_utf8(NULL, slice.mem);
-   return eina_content_new((Eina_Slice)EINA_SLICE_STR_FULL(utf8), to_type);
+   Eina_Content *ret = eina_content_new((Eina_Slice)EINA_SLICE_STR_FULL(utf8), 
to_type);
+   free(utf8);
+   return ret;
 }
 
 static Eina_Content*
@@ -133,7 +135,9 @@ _utf8_to_markup(Eina_Content *from, const char *to_type)
 {
Eina_Slice slice = eina_content_data_get(from);
char *markup = evas_textblock_text_utf8_to_markup(NULL, slice.mem);
-   return eina_content_new((Eina_Slice)EINA_SLICE_STR_FULL(markup), to_type);
+   Eina_Content *ret = 
eina_content_new((Eina_Slice)EINA_SLICE_STR_FULL(markup), to_type);
+   free(markup);
+   return ret;
 }
 
 EAPI int

-- 




[EGIT] [core/efl] master 01/01: ui textpath: removed unused var.

2020-04-06 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=8911f0a986ee96a74da557e71646cebecb852084

commit 8911f0a986ee96a74da557e71646cebecb852084
Author: Hermet Park 
Date:   Mon Apr 6 17:21:17 2020 +0900

ui textpath: removed unused var.
---
 src/lib/elementary/efl_ui_textpath.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/lib/elementary/efl_ui_textpath.c 
b/src/lib/elementary/efl_ui_textpath.c
index 81d6cd5245..d1aa0ce73f 100644
--- a/src/lib/elementary/efl_ui_textpath.c
+++ b/src/lib/elementary/efl_ui_textpath.c
@@ -66,7 +66,6 @@ struct _Efl_Ui_Textpath_Data
 
Eina_Inlist *segments;
int total_length;
-   Ecore_Job *draw_text_job;
 #ifdef EFL_UI_TEXTPATH_LINE_DEBUG
Eina_List *lines;
 #endif

-- 




[EGIT] [core/efl] master 01/01: ui textpath: update map before rendering begins.

2020-04-06 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=dc2124aa13b5f4d13102ac302d0e57dcc6c598d9

commit dc2124aa13b5f4d13102ac302d0e57dcc6c598d9
Author: Hermet Park 
Date:   Mon Apr 6 17:14:40 2020 +0900

ui textpath: update map before rendering begins.

previously, textpath delays the map calculation to avoid duplicated jobs.
some cases, this job could be delayed to the next frame that occured a
wrong frame result.

This render_pre event gurantees the textpath to update frames exactly.

@fix
---
 src/lib/elementary/efl_ui_textpath.c | 20 ++--
 1 file changed, 14 insertions(+), 6 deletions(-)

diff --git a/src/lib/elementary/efl_ui_textpath.c 
b/src/lib/elementary/efl_ui_textpath.c
index a3bac40522..81d6cd5245 100644
--- a/src/lib/elementary/efl_ui_textpath.c
+++ b/src/lib/elementary/efl_ui_textpath.c
@@ -70,6 +70,7 @@ struct _Efl_Ui_Textpath_Data
 #ifdef EFL_UI_TEXTPATH_LINE_DEBUG
Eina_List *lines;
 #endif
+   Eina_Bool need_redraw : 1;
Eina_Bool circular : 1;   //TODO: Remove this flag when 
elm_textpath_circle_set() is removed.
 };
 
@@ -329,9 +330,8 @@ _map_point_calc(Efl_Ui_Textpath_Data *pd)
 }
 
 static void
-_text_draw(void *data)
+_text_draw(Efl_Ui_Textpath_Data *pd)
 {
-   Efl_Ui_Textpath_Data *pd = data;
Efl_Ui_Textpath_Segment *seg;
Evas_Map *map;
int w1, w2;
@@ -399,7 +399,13 @@ _text_draw(void *data)
evas_object_map_set(pd->text_obj, map);
evas_map_free(map);
 
-   pd->draw_text_job = NULL;
+   pd->need_redraw = EINA_FALSE;
+}
+
+static void
+_render_pre_cb(void *data, Evas *e EINA_UNUSED, void *ev EINA_UNUSED)
+{
+   _text_draw(data);
 }
 
 static void
@@ -523,8 +529,7 @@ _path_data_get(Eo *obj, Efl_Ui_Textpath_Data *pd)
 static void
 _sizing_eval(Efl_Ui_Textpath_Data *pd)
 {
-   ecore_job_del(pd->draw_text_job);
-   pd->draw_text_job = ecore_job_add(_text_draw, pd);
+   pd->need_redraw = EINA_TRUE;
 }
 
 static void
@@ -698,12 +703,16 @@ _efl_ui_textpath_efl_object_constructor(Eo *obj, 
Efl_Ui_Textpath_Data *pd)
pd->slice_no = SLICE_DEFAULT_NO;
pd->direction = EFL_UI_TEXTPATH_DIRECTION_CW;
 
+   evas_event_callback_add(evas_object_evas_get(obj), 
EVAS_CALLBACK_RENDER_PRE, _render_pre_cb, pd);
+
return obj;
 }
 
 EOLIAN static void
 _efl_ui_textpath_efl_object_destructor(Eo *obj, Efl_Ui_Textpath_Data *pd)
 {
+   evas_event_callback_del_full(evas_object_evas_get(obj), 
EVAS_CALLBACK_RENDER_PRE, _render_pre_cb, pd);
+
Efl_Ui_Textpath_Segment *seg;
 
if (pd->text) free(pd->text);
@@ -713,7 +722,6 @@ _efl_ui_textpath_efl_object_destructor(Eo *obj, 
Efl_Ui_Textpath_Data *pd)
 pd->segments = eina_inlist_remove(pd->segments, EINA_INLIST_GET(seg));
 free(seg);
  }
-   ecore_job_del(pd->draw_text_job);
 
 #ifdef EFL_UI_TEXTPATH_LINE_DEBUG
Evas_Object *line;

-- 




[EGIT] [admin/devs] master 01/01: probie herb: add ed25519 public key.

2020-03-31 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/admin/devs.git/commit/?id=467efa3b6d8dc4928457ee4a7aa40f46591cc29d

commit 467efa3b6d8dc4928457ee4a7aa40f46591cc29d
Author: Hermet Park 
Date:   Tue Mar 31 15:34:09 2020 +0900

probie herb: add ed25519 public key.
---
 probies/herb/id_ed25519.pub | 1 +
 1 file changed, 1 insertion(+)

diff --git a/probies/herb/id_ed25519.pub b/probies/herb/id_ed25519.pub
new file mode 100644
index 000..88642d9
--- /dev/null
+++ b/probies/herb/id_ed25519.pub
@@ -0,0 +1 @@
+ssh-ed25519 
C3NzaC1lZDI1NTE5IJJy+1rdt6kUGMcIDVhCdf2nMs3aWUJYyPnmDhlXpxL+ 
taehyub@samsung.com

-- 




[EGIT] [admin/devs] master 01/01: updated herb public key.

2020-03-31 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/admin/devs.git/commit/?id=3fcae090273050f3c3232f30bdc0c911d11661f2

commit 3fcae090273050f3c3232f30bdc0c911d11661f2
Author: Hermet Park 
Date:   Tue Mar 31 15:22:18 2020 +0900

updated herb public key.
---
 probies/herb/id_rsa.pub | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/probies/herb/id_rsa.pub b/probies/herb/id_rsa.pub
index 80099be..0cdd34b 100644
--- a/probies/herb/id_rsa.pub
+++ b/probies/herb/id_rsa.pub
@@ -1 +1 @@
-ssh-rsa 
B3NzaC1yc2EDAQABAAABAQDR+te2Y93S7HpJOdWLtRZNzh5sBbzqWjpfrHa0sdBMEKVc6mCW1Um5RoYspmkTf2TM2Lc9vunsipCIrlK3z97erVfvW/T0PhGRIwz6sRSi03Sxn+7ka1Iipr3qxdxtLyYsDbFkR8eWZM3qopS/dWebRF9NIN7QRwNSgQgg1cJOq78+joq63MdsFBY4GVYnSEG8XpoGYHtV23zW8KwFBaDQH0DVFrNHtNI4rOM7P0OVbaJgn1IeFs3RzwutkAcj3sXu9j1Qo+qgjZzVJFaR6Ic6qhEfaPrSdjRSeAMlL2UJvu1p2a5WqvJJ3mCJcyv8ABjsNZZd4rh0QKRVY0/bXu7l
 taehyub@samsung.com
+ssh-rsa 
B3NzaC1yc2EDAQABAAABAQDAYhQMyo5ukG8Brb4Uml5GWvWGixS7C9gomD9Wigv+syV9WHqfUEG3Ls1p1UxKssprZ1Q+O8cAbaLzEKHdrck7zGTzKZj/UoWkDH6q0VUAMzqGDGlseCxaP2JHc49YIhI7R5s2lmr/CKW3yV/Xn2Ws8rtglwrEjhPMButSw91CMFB2tm9Tf8aVHgU/ar0VB3L5gdiIZalomJqEwZNdS99LrnF2cVY3mmJ1Ul+81c5uus9agAu+iFrT0eh0bLsgCepffPH+fX8wurzXIBgLJUa1u2YfZOOI7lvtLZVXtk1/Lwz80ZqeF1mm/X5rM0Cl94Q+oTVbgqfyMDyTg4LT5PZZ
 kth@kth

-- 




[EGIT] [core/efl] master 01/01: canvas vg: null initialization for safety.

2020-03-30 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=2c4b5f0b4c2de4f8bf9b4715e49dcd5a0f9174fa

commit 2c4b5f0b4c2de4f8bf9b4715e49dcd5a0f9174fa
Author: Hermet Park 
Date:   Mon Mar 30 21:30:08 2020 +0900

canvas vg: null initialization for safety.
---
 src/lib/evas/canvas/efl_canvas_vg_object.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/efl_canvas_vg_object.c 
b/src/lib/evas/canvas/efl_canvas_vg_object.c
index f008da3e76..bd43b7c0de 100644
--- a/src/lib/evas/canvas/efl_canvas_vg_object.c
+++ b/src/lib/evas/canvas/efl_canvas_vg_object.c
@@ -460,7 +460,7 @@ _evas_vg_render(Evas_Object_Protected_Data *obj, 
Efl_Canvas_Vg_Object_Data *pd,
  //For recovery context
  //FIXME: It may occur async issue?
  int px, py, pw, ph, pstride;
- void *ppixels;
+ void *ppixels = NULL;
  ector_buffer_size_get(ector, , );
  ector_buffer_pixels_get(ector, , , , );
  Efl_Gfx_Colorspace pcspace = ector_buffer_cspace_get(ector);

-- 




[EGIT] [core/efl] master 01/01: canvass vg: fix a mistake in 69fd72af2cae8dce07ac2becad40eccbb55b5bc7

2020-03-22 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=11d86e1538539ec3238202c49f9775bd3b07ecb2

commit 11d86e1538539ec3238202c49f9775bd3b07ecb2
Author: Hermet Park 
Date:   Mon Mar 23 14:39:53 2020 +0900

canvass vg: fix a mistake in 69fd72af2cae8dce07ac2becad40eccbb55b5bc7
---
 src/lib/evas/canvas/efl_canvas_vg_object.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/evas/canvas/efl_canvas_vg_object.c 
b/src/lib/evas/canvas/efl_canvas_vg_object.c
index 46db4be437..f008da3e76 100644
--- a/src/lib/evas/canvas/efl_canvas_vg_object.c
+++ b/src/lib/evas/canvas/efl_canvas_vg_object.c
@@ -555,14 +555,14 @@ _render_to_buffer(Evas_Object_Protected_Data *obj, 
Efl_Canvas_Vg_Object_Data *pd
 if (pd->frame_idx == 0 && ckey != pd->ckeys[0])
   {
  if (pd->ckeys[0])
-   ENFN->ector_surface_cache_drop(engine, ckey);
+   ENFN->ector_surface_cache_drop(engine, pd->ckeys[0]);
  pd->ckeys[0] = ckey;
   }
 else if (pd->frame_idx == (int) 
(evas_cache_vg_anim_frame_count_get(pd->vg_entry) - 1)
  && ckey != pd->ckeys[1])
   {
  if (pd->ckeys[1])
-   ENFN->ector_surface_cache_drop(engine, ckey);
+   ENFN->ector_surface_cache_drop(engine, pd->ckeys[1]);
  pd->ckeys[1] = ckey;
   }
 ENFN->ector_surface_cache_set(engine, ckey, buffer);

-- 




[EGIT] [core/efl] master 01/01: canvas vg: drop vg cache buffers if object were destroyed.

2020-03-22 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=69fd72af2cae8dce07ac2becad40eccbb55b5bc7

commit 69fd72af2cae8dce07ac2becad40eccbb55b5bc7
Author: Hermet Park 
Date:   Mon Mar 23 14:16:48 2020 +0900

canvas vg: drop vg cache buffers if object were destroyed.

Previous vg didn't take care of cached buffers which were
allocated in it's lifetime because the cache buffers are managed
by its own cache buffer mgr, it has a limitation count of buffers also
buffers can be cleared when engine is shutdown.

This behavior is actually working properly but not well optimized
since it lost a chance to clear grown buffers.

Now vg do clear used buffers when object is invalidated.
---
 src/lib/evas/canvas/efl_canvas_vg_object.c | 27 ++-
 src/lib/evas/canvas/evas_vg_private.h  |  1 +
 2 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/efl_canvas_vg_object.c 
b/src/lib/evas/canvas/efl_canvas_vg_object.c
index 7963776889..46db4be437 100644
--- a/src/lib/evas/canvas/efl_canvas_vg_object.c
+++ b/src/lib/evas/canvas/efl_canvas_vg_object.c
@@ -352,6 +352,15 @@ _efl_canvas_vg_object_efl_object_invalidate(Eo *eo_obj, 
Efl_Canvas_Vg_Object_Dat
 free(pd->user_entry);
  }
pd->user_entry = NULL;
+
+   //Drop cache buffers
+   if (pd->vg_entry)
+ {
+if (pd->ckeys[0])
+  
ENFN->ector_surface_cache_drop(_evas_engine_context(obj->layer->evas), 
pd->ckeys[0]);
+if (pd->ckeys[1])
+  
ENFN->ector_surface_cache_drop(_evas_engine_context(obj->layer->evas), 
pd->ckeys[1]);
+ }
evas_cache_vg_entry_del(pd->vg_entry);
 
efl_invalidate(efl_super(eo_obj, MY_CLASS));
@@ -541,7 +550,23 @@ _render_to_buffer(Evas_Object_Protected_Data *obj, 
Efl_Canvas_Vg_Object_Data *pd
evas_common_draw_context_free(context);
 
if (buffer_created && ckey)
- ENFN->ector_surface_cache_set(engine, ckey, buffer);
+ {
+//Drop ex invalid cache buffers.
+if (pd->frame_idx == 0 && ckey != pd->ckeys[0])
+  {
+ if (pd->ckeys[0])
+   ENFN->ector_surface_cache_drop(engine, ckey);
+ pd->ckeys[0] = ckey;
+  }
+else if (pd->frame_idx == (int) 
(evas_cache_vg_anim_frame_count_get(pd->vg_entry) - 1)
+ && ckey != pd->ckeys[1])
+  {
+ if (pd->ckeys[1])
+   ENFN->ector_surface_cache_drop(engine, ckey);
+ pd->ckeys[1] = ckey;
+  }
+ENFN->ector_surface_cache_set(engine, ckey, buffer);
+ }
 
return buffer;
 }
diff --git a/src/lib/evas/canvas/evas_vg_private.h 
b/src/lib/evas/canvas/evas_vg_private.h
index a6a27142ed..811e1cb8b6 100644
--- a/src/lib/evas/canvas/evas_vg_private.h
+++ b/src/lib/evas/canvas/evas_vg_private.h
@@ -53,6 +53,7 @@ struct _Efl_Canvas_Vg_Object_Data
double align_x, align_y;
Efl_Canvas_Vg_Fill_Modefill_mode;
intframe_idx;
+   void  *ckeys[2];  //cache keys for first, last frames 
if animation
 
Eina_Bool  changed : 1;
 };

-- 




[EGIT] [core/efl] master 01/09: canvas3d: remove all feature implementation in edje/edje_cc

2020-03-20 Thread Hermet Park
bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=849b37d64128e9737721f4f1e9bc87dc5debd09b

commit 849b37d64128e9737721f4f1e9bc87dc5debd09b
Author: Hermet Park 
Date:   Fri Mar 20 09:00:24 2020 +

canvas3d: remove all feature implementation in edje/edje_cc

Reviewed-by: Marcel Hollerbach 
Reviewed-by: Shinwoo Kim 
Differential Revision: https://phab.enlightenment.org/D11547
---
 src/bin/edje/edje_cc.c   |8 -
 src/bin/edje/edje_cc.h   |6 -
 src/bin/edje/edje_cc_handlers.c  | 1710 +-
 src/bin/edje/edje_cc_out.c   |  239 -
 src/lib/edje/Edje_Common.h   |   10 +-
 src/lib/edje/Edje_Legacy.h   |9 -
 src/lib/edje/edje_private.h  |  168 ---
 src/lib/edje/efl_canvas_layout_types.eot |3 -
 8 files changed, 6 insertions(+), 2147 deletions(-)

diff --git a/src/bin/edje/edje_cc.c b/src/bin/edje/edje_cc.c
index 1963dae341..07c616fc8f 100644
--- a/src/bin/edje/edje_cc.c
+++ b/src/bin/edje/edje_cc.c
@@ -25,7 +25,6 @@ Eina_List *snd_dirs = NULL;
 Eina_List *mo_dirs = NULL;
 Eina_List *vibration_dirs = NULL;
 Eina_List *img_dirs = NULL;
-Eina_List *model_dirs = NULL;
 Eina_List *fnt_dirs = NULL;
 Eina_List *data_dirs = NULL;
 Eina_List *defines = NULL;
@@ -174,8 +173,6 @@ main(int argc, char **argv)
 
img_dirs = eina_list_append(img_dirs, ".");
 
-   model_dirs = eina_list_append(model_dirs, ".");
-
/* add defines to epp so edc files can detect edje_cc version */
defines = eina_list_append(defines, mem_strdup("-DEDJE_VERSION_12=12"));
 
@@ -224,11 +221,6 @@ main(int argc, char **argv)
  i++;
  img_dirs = eina_list_append(img_dirs, argv[i]);
   }
-else if ((!strcmp(argv[i], "-mod") || !strcmp(argv[i], "--model_dir")) 
&& (i < (argc - 1)))
-  {
- i++;
- model_dirs = eina_list_append(model_dirs, argv[i]);
-  }
 else if ((!strcmp(argv[i], "-fd") || !strcmp(argv[i], "--font_dir")) 
&& (i < (argc - 1)))
   {
  i++;
diff --git a/src/bin/edje/edje_cc.h b/src/bin/edje/edje_cc.h
index afb7a99c03..580c44fe6d 100644
--- a/src/bin/edje/edje_cc.h
+++ b/src/bin/edje/edje_cc.h
@@ -230,13 +230,8 @@ void
copied_program_anonymous_lookup_delete(Edje_Part_Collection *pc, int *de
 voiddata_queue_anonymous_lookup(Edje_Part_Collection *pc, Edje_Program 
*ep, int *dest);
 voiddata_queue_copied_anonymous_lookup(Edje_Part_Collection *pc, int *src, 
int *dest);
 voiddata_queue_image_lookup(char *name, int *dest, Eina_Bool *set);
-voiddata_queue_model_lookup(char *name, int *dest, Eina_Bool *set);
 voiddata_queue_copied_image_lookup(int *src, int *dest, Eina_Bool *set);
 voiddata_queue_image_remove(int *dest, Eina_Bool *set);
-voiddata_queue_copied_model_lookup(int *src, int *dest, Eina_Bool *set);
-voiddata_queue_model_remove(int *dest, Eina_Bool *set);
-voiddata_queue_spectrum_lookup(char *name, int *dest);
-voiddata_queue_spectrum_slave_lookup(int *master, int *slave);
 voiddata_process_lookups(void);
 voiddata_process_scripts(void);
 voiddata_process_script_lookups(void);
@@ -308,7 +303,6 @@ void script_rewrite(Code *code);
 /* global vars */
 extern Eina_List *ext_dirs;
 extern Eina_List *img_dirs;
-extern Eina_List *model_dirs;
 extern Eina_List *fnt_dirs;
 extern Eina_List *snd_dirs;
 extern Eina_List *mo_dirs;
diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index 913a749d54..8a1f36b47c 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -220,8 +220,6 @@ static void   st_images_set_image_size(void);
 static void   st_images_set_image_border(void);
 static void   st_images_set_image_border_scale_by(void);
 
-static void   st_models_model(void);
-
 static void   st_fonts_font(void);
 
 static void   st_data_item(void);
@@ -437,34 +435,7 @@ static void   
st_collections_group_parts_part_description_table_padding(void
 static void   st_collections_group_parts_part_description_table_min(void);
 static void   
st_collections_group_parts_part_description_proxy_source_visible(void);
 static void   
st_collections_group_parts_part_description_proxy_source_clip(void);
-static void   
st_collections_group_parts_part_description_position_point(void);
-static void   
st_collections_group_parts_part_description_position_space(void);
-static void   
st_collections_group_parts_part_description_camera_properties(void);
-static void   
st_collections_group_parts_part_description_properties_ambient(void);
-static void   
st_collections_group_parts_part_description_properties_diffuse(void);
-static voi

[EGIT] [core/efl] master 01/01: canvas 3d: remove canvas3d edje

2020-03-19 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=0583b143078c5b46fc887d40687e50d2640f82d3

commit 0583b143078c5b46fc887d40687e50d2640f82d3
Author: Hermet Park 
Date:   Thu Mar 19 18:47:36 2020 +0900

canvas 3d: remove canvas3d edje

Summary: Remove functional stuff, leave as deprecated for compatibility.

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11541
---
 src/bin/edje/edje_player.c |  56 +---
 src/lib/edje/Edje_Common.h |  18 +--
 src/lib/edje/edje_cache.c  |   9 --
 src/lib/edje/edje_calc.c   | 332 -
 src/lib/edje/edje_data.c   | 135 --
 src/lib/edje/edje_edit.c   |   9 --
 src/lib/edje/edje_load.c   | 139 +--
 src/lib/edje/edje_part.c   |   3 -
 8 files changed, 8 insertions(+), 693 deletions(-)

diff --git a/src/bin/edje/edje_player.c b/src/bin/edje/edje_player.c
index d54dea9ed5..7d79ec0d7a 100644
--- a/src/bin/edje/edje_player.c
+++ b/src/bin/edje/edje_player.c
@@ -831,32 +831,14 @@ _edje_load_or_show_error(Evas_Object *edje, const char 
*file, const char *group)
Eina_File *f = NULL;
const char *errmsg;
int err;
-   Evas_Canvas3D_Scene *scene = NULL;
-   Evas_Canvas3D_Node *root_node = NULL;
 
f = eina_file_open(file, EINA_FALSE);
-   if (!(edje_mmap_3d_has(f, group)))
+   if (edje_object_file_set(edje, file, group))
  {
-if (edje_object_file_set(edje, file, group))
-  {
- edje_object_signal_callback_add(edje, "edje,change,file", "edje", 
_edje_reload, NULL);
- evas_object_focus_set(edje, EINA_TRUE);
- eina_file_close(f);
- return EINA_TRUE;
-  }
- }
-   else
- {
-if (edje_object_file_set(edje, file, group))
-  {
- if (edje_3d_object_add(edje, _node, scene))
-   {
-  edje_object_signal_callback_add(edje, "edje,change,file", 
"edje", _edje_reload, NULL);
-  evas_object_focus_set(edje, EINA_TRUE);
-  eina_file_close(f);
-  return EINA_TRUE;
-   }
-  }
+edje_object_signal_callback_add(edje, "edje,change,file", "edje", 
_edje_reload, NULL);
+evas_object_focus_set(edje, EINA_TRUE);
+eina_file_close(f);
+return EINA_TRUE;
  }
 
err = edje_object_load_error_get(edje);
@@ -1026,7 +1008,6 @@ main(int argc, char **argv)
Eina_Bool quit_option = EINA_FALSE;
int args;
Eina_List *groups;
-   Eina_File *f = NULL;
const char *group;
Ecore_Getopt_Value values[] = {
   ECORE_GETOPT_VALUE_STR(opts.group),
@@ -1100,33 +1081,6 @@ main(int argc, char **argv)
 goto end;
  }
 
-   group = eina_list_data_get(eina_list_last(groups));
-
-   f = eina_file_open(opts.file, EINA_FALSE);
-   if (edje_mmap_3d_has(f, group))
- {
-Eina_List *engine_list, *n;
-Eina_Bool opengl_x11_has = EINA_FALSE, wayland_egl_has = EINA_FALSE;
-const char *engine;
-engine_list = ecore_evas_engines_get();
-EINA_LIST_FOREACH(engine_list, n, engine)
-  {
- if (!strcmp(engine, "wayland_egl"))
-   {
-  wayland_egl_has = EINA_TRUE;
-  break;
-   }
- else if (!strcmp(engine, "opengl_x11"))
-   opengl_x11_has = EINA_TRUE;
-  }
-if (wayland_egl_has)
-  opts.engine = "wayland_egl";
-else if (opengl_x11_has)
-  opts.engine = "opengl_x11";
- }
-   eina_file_close(f);
-   edje_file_collection_list_free(groups);
-
if (opts.size.w <= 0) opts.size.w = 320;
if (opts.size.h <= 0) opts.size.h = 240;
win = ecore_evas_new(opts.engine, 0, 0, opts.size.w, opts.size.h, NULL);
diff --git a/src/lib/edje/Edje_Common.h b/src/lib/edje/Edje_Common.h
index cdbc84b151..7a02281810 100644
--- a/src/lib/edje/Edje_Common.h
+++ b/src/lib/edje/Edje_Common.h
@@ -1207,22 +1207,6 @@ typedef enum _Edje_Aspect_Control
  */
 EAPI const char *edje_object_part_object_name_get(const Evas_Object *obj);
 
-#ifdef EFL_BETA_API_SUPPORT
-
-/**
- * @brief Creates scene and root node which contains all 3D parts of edje 
object.
- * @param obj An edje part object
- * @param root node to collect all 3D parts
- * @param scene
- * @return scene and root node which contains all 3D parts of edje object
- * @note If this function returns @c EINA_FALSE, @p the scene or the root
- * node wasn't made
- * @since 1.18
- */
-EAPI Eina_Bool edje_3d_object_add(Evas_Object *obj, Eo **root_node, Eo *scene);
-
-#endif
-
 /**
  * @}
  */
@@ -1837,7 +1821,7 @@ EAPI Eina_Bool edje_mmap_group_exists(Eina_File 
*f, const char *glob);
  *
  * @since 1.18
  */
-EAPI Eina_Bool edje_mmap_3

[EGIT] [core/efl] master 01/01: canvas proxy: fix a missing case that proxy not updated properly.

2020-03-12 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=f257401a4f7a3c6ee922bbf7cc311793b5345b1d

commit f257401a4f7a3c6ee922bbf7cc311793b5345b1d
Author: Hermet Park 
Date:   Thu Mar 12 20:39:12 2020 +0900

canvas proxy: fix a missing case that proxy not updated properly.

Very complex to say, if its source object is remained as chaged state in 
pending object
in rendering stage, the proxy object could miss to update in the next frame 
because
source object won't be changed again in evas_object_change().

Thus we need to double-check if the proxy missed update or not just in the 
rendering.
Not clean but this is a compromised solution to not be burden for 
finding/checking proxies
in object trees every time.

@fix
---
 src/lib/evas/canvas/evas_render.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/lib/evas/canvas/evas_render.c 
b/src/lib/evas/canvas/evas_render.c
index 3d478a429b..53179ec5bc 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -379,6 +379,9 @@ _evas_proxy_redraw_set(Evas_Public_Data *e, 
Evas_Object_Protected_Data *obj,
 
 if (render)
   {
+ /* Not good... but make it sure if the proxies have missed at 
update
+if its sources are remained changed as pending objects in the 
prev frame. */
+ evas_object_change(eo_proxy, proxy);
  proxy->func->render_pre(eo_proxy, proxy, proxy->private_data);
  _evas_render_prev_cur_clip_cache_add(e, proxy);
   }

-- 




[EGIT] [core/efl] master 01/01: evas gl: clip rect with proper size.

2020-03-08 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=b2bd0c548f03b8178e40e0cfa6e9c31c4bff38b1

commit b2bd0c548f03b8178e40e0cfa6e9c31c4bff38b1
Author: Hermet Park 
Date:   Sun Mar 8 20:20:43 2020 +0900

evas gl: clip rect with proper size.

gc width/height indicates the main output size,
if the target surface(fbo) is larger than this, rect won't be drawn.

We should clip this with current context size.

@fix
---
 src/modules/evas/engines/gl_common/evas_gl_rectangle.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/modules/evas/engines/gl_common/evas_gl_rectangle.c 
b/src/modules/evas/engines/gl_common/evas_gl_rectangle.c
index a188467b58..b070a7157a 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_rectangle.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_rectangle.c
@@ -12,7 +12,7 @@ evas_gl_common_rect_draw(Evas_Engine_GL_Context *gc, int x, 
int y, int w, int h)
Evas_GL_Texture *mtex = NULL;
 
if ((w <= 0) || (h <= 0)) return;
-   if (!(RECTS_INTERSECT(x, y, w, h, 0, 0, gc->w, gc->h))) return;
+   if (!(RECTS_INTERSECT(x, y, w, h, 0, 0, gc->shared->w, gc->shared->h))) 
return;
/* save out clip info */
c = gc->dc->clip.use; cx = gc->dc->clip.x; cy = gc->dc->clip.y; cw = 
gc->dc->clip.w; ch = gc->dc->clip.h;
 

-- 




[EGIT] [core/efl] master 01/01: canvas grid: fix inifinite loop dead.

2020-03-06 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=7664aa97c07a3d5079eff9f84487125b1ce382f1

commit 7664aa97c07a3d5079eff9f84487125b1ce382f1
Author: Hermet Park 
Date:   Fri Mar 6 23:48:43 2020 +0900

canvas grid: fix inifinite loop dead.

Here parent smart del() call occurs inifinite loop for member deletion,

Maybe we need a better clean and neat solution here.
---
 src/lib/evas/canvas/evas_object_grid.c | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/lib/evas/canvas/evas_object_grid.c 
b/src/lib/evas/canvas/evas_object_grid.c
index cecff65584..4b32d935a5 100644
--- a/src/lib/evas/canvas/evas_object_grid.c
+++ b/src/lib/evas/canvas/evas_object_grid.c
@@ -185,8 +185,11 @@ _evas_object_grid_smart_del(Evas_Object *o)
 free(opt);
 priv->children = eina_list_remove_list(priv->children, priv->children);
  }
-
-   _evas_object_grid_parent_sc->del(o);
+   //Free the clipper resource properly,
+   Eo *clipper = evas_object_smart_clipped_clipper_get(o);
+   if (clipper) evas_object_del(clipper);
+   /*  below deletion occurs the recursive member remove hell. */
+   //   _evas_object_grid_parent_sc->del(o);
 }
 
 static void

-- 




[EGIT] [core/efl] master 01/01: evas: ++safety by prevent invalid accesses.

2020-03-03 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=146cf9da7e917d1d9e282a7378258d98610057d0

commit 146cf9da7e917d1d9e282a7378258d98610057d0
Author: Hermet Park 
Date:   Tue Mar 3 19:17:29 2020 +0900

evas: ++safety by prevent invalid accesses.
---
 src/lib/evas/canvas/evas_object_intercept.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/evas/canvas/evas_object_intercept.c 
b/src/lib/evas/canvas/evas_object_intercept.c
index 9911a5b1f3..fd904f7708 100644
--- a/src/lib/evas/canvas/evas_object_intercept.c
+++ b/src/lib/evas/canvas/evas_object_intercept.c
@@ -16,7 +16,7 @@ static void
 evas_object_intercept_init(Evas_Object *eo_obj)
 {
Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, 
EFL_CANVAS_OBJECT_CLASS);
-   if (!obj->interceptors)
+   if (!obj || !obj->interceptors)
  obj->interceptors = calloc(1, sizeof(Evas_Intercept_Func));
 }
 
@@ -24,7 +24,7 @@ static void
 evas_object_intercept_deinit(Evas_Object *eo_obj)
 {
Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, 
EFL_CANVAS_OBJECT_CLASS);
-   if (!obj->interceptors) return;
+   if (!obj || !obj->interceptors) return;
if ((obj->interceptors->show.func) ||
(obj->interceptors->hide.func) ||
(obj->interceptors->move.func) ||

-- 




[EGIT] [core/efl] master 01/01: evas event: fix typo at map coord transform.

2020-03-01 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=f6de7c244a3a593e5790079c425614e47406eab8

commit f6de7c244a3a593e5790079c425614e47406eab8
Author: Hermet Park 
Date:   Mon Mar 2 16:55:40 2020 +0900

evas event: fix typo at map coord transform.
---
 src/lib/evas/canvas/evas_events.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/evas_events.c 
b/src/lib/evas/canvas/evas_events.c
index 2b86b0e674..4596a26419 100644
--- a/src/lib/evas/canvas/evas_events.c
+++ b/src/lib/evas/canvas/evas_events.c
@@ -87,7 +87,7 @@ _evas_event_havemap_adjust_f(Evas_Object_Protected_Data *obj, 
Eina_Vector2 *cur_
if (!_evas_event_havemap_adjust_f_inline(obj, _pt, mouse_grabbed)) 
return;
 
prev_pt->x += (tmp_pt.x - cur_pt->x);
-   prev_pt->y += (tmp_pt.x - cur_pt->y);
+   prev_pt->y += (tmp_pt.y - cur_pt->y);
*cur_pt = tmp_pt;
 }
 

-- 




[EGIT] [tools/expedite] master 01/02: Revert "Revert "Setup before starting fps measurement""

2019-12-29 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/expedite.git/commit/?id=7746bbb039556c093d4b2512ffec5358cc3d2708

commit 7746bbb039556c093d4b2512ffec5358cc3d2708
Author: Hermet Park 
Date:   Mon Dec 30 15:42:29 2019 +0900

Revert "Revert "Setup before starting fps measurement""

This reverts commit cac6ca6a9a91b463e4ec13eff755c703947a952b.
---
 src/bin/about.c  | 2 +-
 src/bin/font_effect_blur_alpha.c | 2 +-
 src/bin/font_effect_blur_color.c | 2 +-
 src/bin/image_blend_border.c | 2 +-
 src/bin/image_blend_border_recolor.c | 2 +-
 src/bin/image_blend_fade_pow2_unscaled.c | 2 +-
 src/bin/image_blend_fade_unscaled.c  | 2 +-
 src/bin/image_blend_many_smooth_same_scaled.c| 2 +-
 src/bin/image_blend_nearest_same_scaled.c| 2 +-
 src/bin/image_blend_nearest_scaled.c | 2 +-
 src/bin/image_blend_nearest_solid_same_scaled.c  | 2 +-
 src/bin/image_blend_nearest_solid_scaled.c   | 2 +-
 src/bin/image_blend_occlude1.c   | 2 +-
 src/bin/image_blend_occlude1_few.c   | 2 +-
 src/bin/image_blend_occlude1_many.c  | 2 +-
 src/bin/image_blend_occlude1_very_many.c | 2 +-
 src/bin/image_blend_occlude2.c   | 2 +-
 src/bin/image_blend_occlude2_few.c   | 2 +-
 src/bin/image_blend_occlude2_many.c  | 2 +-
 src/bin/image_blend_occlude2_very_many.c | 2 +-
 src/bin/image_blend_occlude3.c   | 2 +-
 src/bin/image_blend_occlude3_few.c   | 2 +-
 src/bin/image_blend_occlude3_many.c  | 2 +-
 src/bin/image_blend_occlude3_very_many.c | 2 +-
 src/bin/image_blend_smooth_same_scaled.c | 2 +-
 src/bin/image_blend_smooth_scaled.c  | 2 +-
 src/bin/image_blend_smooth_solid_same_scaled.c   | 2 +-
 src/bin/image_blend_smooth_solid_scaled.c| 2 +-
 src/bin/image_blend_solid_9patch.c   | 2 +-
 src/bin/image_blend_solid_border.c   | 2 +-
 src/bin/image_blend_solid_fade_pow2_unscaled.c   | 2 +-
 src/bin/image_blend_solid_fade_unscaled.c| 2 +-
 src/bin/image_blend_solid_middle_border.c| 2 +-
 src/bin/image_blend_solid_middle_unscaled.c  | 2 +-
 src/bin/image_blend_solid_stretch.c  | 2 +-
 src/bin/image_blend_solid_unscaled.c | 2 +-
 src/bin/image_blend_unscaled.c   | 2 +-
 src/bin/image_crossfade.c| 2 +-
 src/bin/image_data_ycbcr601pl_map_nearest_solid_rotate.c | 2 +-
 src/bin/image_data_ycbcr601pl_wide_stride.c  | 2 +-
 src/bin/image_mask.c | 2 +-
 src/bin/image_mask_10.c  | 2 +-
 src/bin/image_mask_11.c  | 2 +-
 src/bin/image_mask_12.c  | 2 +-
 src/bin/image_mask_13.c  | 2 +-
 src/bin/image_mask_2.c   | 2 +-
 src/bin/image_mask_3.c   | 2 +-
 src/bin/image_mask_4.c   | 2 +-
 src/bin/image_mask_5.c   | 2 +-
 src/bin/image_mask_6.c   | 2 +-
 src/bin/image_mask_7.c   | 2 +-
 src/bin/image_mask_8.c   | 2 +-
 src/bin/image_mask_9.c   | 2 +-
 src/bin/image_mask_clipped.c | 2 +-
 src/bin/image_quality_scale.c| 2 +-
 src/bin/line_blend.c | 2 +-
 src/bin/poly_blend.c | 2 +-
 src/bin/proxy_image.c| 2 +-
 src/bin/proxy_image_clipped.c| 2 +-
 src/bin/proxy_image_offscreen.c  | 2 +-
 src/bin/proxy_text_fixed.c   | 2 +-
 src/bin/proxy_text_random.c  | 2 +-
 src/bin/proxy_textblock.c| 2 +-
 src/bin/rect_blend.c | 2 +-
 src/bin/rect_blend_few.c | 2 +-
 src/bin/rect_blend_pow2.c| 2 +-
 src/bin/rect_blend_pow2_few.c| 2 +-
 src/bin/rect_solid.c | 2 +-
 src/bin/rect_solid_few.c | 2 +-
 src/bin/snapshot_widgets_file_icons.c| 2 +-
 src/bin/text_basic.c

[EGIT] [tools/expedite] master 02/02: containing ui setup steps in the profiling again.

2019-12-29 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/expedite.git/commit/?id=d6a3eb3dec95730074bcd64df66261072bfc9111

commit d6a3eb3dec95730074bcd64df66261072bfc9111
Author: Hermet Park 
Date:   Mon Dec 30 16:00:56 2019 +0900

containing ui setup steps in the profiling again.

This change is for compatibility to compare the new measurement with the 
past existing ones.

Now we proprly fix the missing setup steps in the profiling.
---
 src/bin/about.c  | 3 +--
 src/bin/font_effect_blur_alpha.c | 3 +--
 src/bin/font_effect_blur_color.c | 3 +--
 src/bin/image_blend_border.c | 3 +--
 src/bin/image_blend_border_recolor.c | 3 +--
 src/bin/image_blend_fade_pow2_unscaled.c | 3 +--
 src/bin/image_blend_fade_unscaled.c  | 3 +--
 src/bin/image_blend_many_smooth_same_scaled.c| 3 +--
 src/bin/image_blend_nearest_same_scaled.c| 3 +--
 src/bin/image_blend_nearest_scaled.c | 3 +--
 src/bin/image_blend_nearest_solid_same_scaled.c  | 3 +--
 src/bin/image_blend_nearest_solid_scaled.c   | 3 +--
 src/bin/image_blend_occlude1.c   | 3 +--
 src/bin/image_blend_occlude1_few.c   | 3 +--
 src/bin/image_blend_occlude1_many.c  | 3 +--
 src/bin/image_blend_occlude1_very_many.c | 3 +--
 src/bin/image_blend_occlude2.c   | 3 +--
 src/bin/image_blend_occlude2_few.c   | 3 +--
 src/bin/image_blend_occlude2_many.c  | 3 +--
 src/bin/image_blend_occlude2_very_many.c | 3 +--
 src/bin/image_blend_occlude3.c   | 3 +--
 src/bin/image_blend_occlude3_few.c   | 3 +--
 src/bin/image_blend_occlude3_many.c  | 3 +--
 src/bin/image_blend_occlude3_very_many.c | 3 +--
 src/bin/image_blend_smooth_same_scaled.c | 3 +--
 src/bin/image_blend_smooth_scaled.c  | 3 +--
 src/bin/image_blend_smooth_solid_same_scaled.c   | 3 +--
 src/bin/image_blend_smooth_solid_scaled.c| 3 +--
 src/bin/image_blend_solid_9patch.c   | 3 +--
 src/bin/image_blend_solid_border.c   | 3 +--
 src/bin/image_blend_solid_fade_pow2_unscaled.c   | 3 +--
 src/bin/image_blend_solid_fade_unscaled.c| 3 +--
 src/bin/image_blend_solid_middle_border.c| 3 +--
 src/bin/image_blend_solid_middle_unscaled.c  | 3 +--
 src/bin/image_blend_solid_stretch.c  | 3 +--
 src/bin/image_blend_solid_unscaled.c | 3 +--
 src/bin/image_blend_unscaled.c   | 3 +--
 src/bin/image_crossfade.c| 3 +--
 src/bin/image_data_argb.c| 3 +--
 src/bin/image_data_argb_alpha.c  | 3 +--
 src/bin/image_data_ycbcr601pl.c  | 3 +--
 src/bin/image_data_ycbcr601pl_map_nearest_solid_rotate.c | 3 +--
 src/bin/image_data_ycbcr601pl_map_solid_rotate.c | 3 +--
 src/bin/image_data_ycbcr601pl_wide_stride.c  | 3 +--
 src/bin/image_map_3d_1.c | 3 +--
 src/bin/image_map_3d_2.c | 3 +--
 src/bin/image_map_3d_3.c | 3 +--
 src/bin/image_map_3d_4.c | 3 +--
 src/bin/image_map_3d_5.c | 3 +--
 src/bin/image_map_3d_6.c | 3 +--
 src/bin/image_map_3d_flow.c  | 3 +--
 src/bin/image_map_color_alpha_nearest_rotate.c   | 3 +--
 src/bin/image_map_color_alpha_nearest_solid_rotate.c | 3 +--
 src/bin/image_map_color_alpha_rotate.c   | 3 +--
 src/bin/image_map_color_alpha_solid_rotate.c | 3 +--
 src/bin/image_map_color_nearest_rotate.c | 3 +--
 src/bin/image_map_color_nearest_solid_rotate.c   | 3 +--
 src/bin/image_map_color_rotate.c | 3 +--
 src/bin/image_map_color_solid_rotate.c   | 3 +--
 src/bin/image_map_nearest_rotate.c   | 3 +--
 src/bin/image_map_nearest_solid_rotate.c | 3 +--
 src/bin/image_map_rotate.c   | 3 +--
 src/bin/image_map_solid_rotate.c | 3 +--
 src/bin/image_mask.c | 3 +--
 src/bin/image_mask_10.c  | 3 +--
 src/bin/image_mask_11.c  | 3 +--
 src/bin/image_mask_12.c  | 3 +--
 src/bin/image_mask_13.c  | 3 +--
 src/bin/image_mask_2.c

[EGIT] [tools/expedite] master 01/01: update version properly.

2019-12-29 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/expedite.git/commit/?id=46e328404ca46938439d4ae4d820c031b3db557d

commit 46e328404ca46938439d4ae4d820c031b3db557d
Author: Hermet Park 
Date:   Mon Dec 30 15:34:30 2019 +0900

update version properly.

We can upgrade version to 1.24 when efl 1.24 is released.
---
 configure.ac | 4 ++--
 meson.build  | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/configure.ac b/configure.ac
index e70b169..e22bdd8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@ dnl Process this file with autoconf to produce a configure 
script.
 # get rid of that stupid cache mechanism
 rm -f config.cache
 
-AC_INIT([expedite], [1.12.0], [enlightenment-de...@lists.sourceforge.net])
+AC_INIT([expedite], [1.23.0], [enlightenment-de...@lists.sourceforge.net])
 AC_PREREQ([2.52])
 AC_CONFIG_SRCDIR([configure.ac])
 AC_CONFIG_HEADERS([config.h])
@@ -49,7 +49,7 @@ case "$host_os" in
 esac
 
 # EFL dependencies
-efl_version="1.20.0"
+efl_version="1.23.0"
 requirement_expedite=" \
 eo >= ${efl_version} \
 efl >= ${efl_version} \
diff --git a/meson.build b/meson.build
index a82be40..fb2303e 100644
--- a/meson.build
+++ b/meson.build
@@ -1,5 +1,5 @@
 project('expedite', 'c',
-version: '1.12.0',
+version: '1.23.0',
default_options: ['c_std=gnu99'],
license: 'BSD')
 

-- 




[EGIT] [tools/expedite] master 01/01: remove shadow(unused) variables.

2019-12-29 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/expedite.git/commit/?id=1c16ed647bdbabd8eeb9d37e083e13e83c04238f

commit 1c16ed647bdbabd8eeb9d37e083e13e83c04238f
Author: Hermet Park 
Date:   Mon Dec 30 13:57:55 2019 +0900

remove shadow(unused) variables.
---
 src/bin/image_blend_solid_9patch.c  | 2 +-
 src/bin/image_blend_solid_stretch.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bin/image_blend_solid_9patch.c 
b/src/bin/image_blend_solid_9patch.c
index 81c9de4..caa2d1f 100644
--- a/src/bin/image_blend_solid_9patch.c
+++ b/src/bin/image_blend_solid_9patch.c
@@ -43,7 +43,7 @@ static void _loop(double t, int f)
 {
int i;
Evas_Coord x, y, w, h, w0, h0;
-   static int done = 0;
+
for (i = 0; i < OBNUM; i++)
  {
 w0 = 80;
diff --git a/src/bin/image_blend_solid_stretch.c 
b/src/bin/image_blend_solid_stretch.c
index 2d7c0d4..51eda5a 100644
--- a/src/bin/image_blend_solid_stretch.c
+++ b/src/bin/image_blend_solid_stretch.c
@@ -49,7 +49,7 @@ static void _loop(double t, int f)
 {
int i;
Evas_Coord x, y, w, h, w0, h0;
-   static int done = 0;
+
for (i = 0; i < OBNUM; i++)
  {
 w0 = 80;

-- 




[EGIT] [tools/expedite] master 01/01: fix xconfigure errors.

2019-12-29 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/expedite.git/commit/?id=5ca60ccf2205a8a8c7aea69ef72685e1ca37bc47

commit 5ca60ccf2205a8a8c7aea69ef72685e1ca37bc47
Author: Hermet Park 
Date:   Mon Dec 30 13:51:41 2019 +0900

fix xconfigure errors.
---
 src/bin/Makefile.am | 5 +
 src/bin/main.h  | 1 -
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am
index 046aad3..2aee821 100644
--- a/src/bin/Makefile.am
+++ b/src/bin/Makefile.am
@@ -50,6 +50,8 @@ image_blend_smooth_solid_same_scaled.c \
 image_blend_border.c \
 image_blend_solid_middle_border.c \
 image_blend_solid_border.c \
+image_blend_solid_stretch.c \
+image_blend_solid_9patch.c \
 image_blend_border_recolor.c \
 image_map_rotate.c \
 image_map_solid_rotate.c \
@@ -109,6 +111,8 @@ poly_blend.c \
 proxy_image.c \
 proxy_text_fixed.c \
 proxy_text_random.c \
+proxy_textblock.c \
+proxy_image_clipped.c \
 line_blend.c \
 image_blend_many_smooth_same_scaled.c \
 font_effect_blur_alpha.c \
@@ -126,6 +130,7 @@ image_mask_10.c \
 image_mask_11.c \
 image_mask_12.c \
 image_mask_13.c \
+image_mask_clipped.c \
 vg_basic_rect.c \
 vg_basic_circle.c \
 vg_basic_gradient.c \
diff --git a/src/bin/main.h b/src/bin/main.h
index ee2d5e0..3db08c7 100644
--- a/src/bin/main.h
+++ b/src/bin/main.h
@@ -28,7 +28,6 @@
 # include 
 #endif
 
-#include 
 #include 
 #include 
 

-- 




[EGIT] [tools/expedite] master 01/02: Revert "Setup before starting fps measurement"

2019-12-29 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/expedite.git/commit/?id=cac6ca6a9a91b463e4ec13eff755c703947a952b

commit cac6ca6a9a91b463e4ec13eff755c703947a952b
Author: Hermet Park 
Date:   Mon Dec 30 13:25:44 2019 +0900

Revert "Setup before starting fps measurement"

This reverts commit 7874ae718f29b4b8ce7f4920ecc418f43af6abf8.
---
 src/bin/about.c  | 2 +-
 src/bin/font_effect_blur_alpha.c | 2 +-
 src/bin/font_effect_blur_color.c | 2 +-
 src/bin/image_blend_border.c | 2 +-
 src/bin/image_blend_border_recolor.c | 2 +-
 src/bin/image_blend_fade_pow2_unscaled.c | 2 +-
 src/bin/image_blend_fade_unscaled.c  | 2 +-
 src/bin/image_blend_many_smooth_same_scaled.c| 2 +-
 src/bin/image_blend_nearest_same_scaled.c| 2 +-
 src/bin/image_blend_nearest_scaled.c | 2 +-
 src/bin/image_blend_nearest_solid_same_scaled.c  | 2 +-
 src/bin/image_blend_nearest_solid_scaled.c   | 2 +-
 src/bin/image_blend_occlude1.c   | 2 +-
 src/bin/image_blend_occlude1_few.c   | 2 +-
 src/bin/image_blend_occlude1_many.c  | 2 +-
 src/bin/image_blend_occlude1_very_many.c | 2 +-
 src/bin/image_blend_occlude2.c   | 2 +-
 src/bin/image_blend_occlude2_few.c   | 2 +-
 src/bin/image_blend_occlude2_many.c  | 2 +-
 src/bin/image_blend_occlude2_very_many.c | 2 +-
 src/bin/image_blend_occlude3.c   | 2 +-
 src/bin/image_blend_occlude3_few.c   | 2 +-
 src/bin/image_blend_occlude3_many.c  | 2 +-
 src/bin/image_blend_occlude3_very_many.c | 2 +-
 src/bin/image_blend_smooth_same_scaled.c | 2 +-
 src/bin/image_blend_smooth_scaled.c  | 2 +-
 src/bin/image_blend_smooth_solid_same_scaled.c   | 2 +-
 src/bin/image_blend_smooth_solid_scaled.c| 2 +-
 src/bin/image_blend_solid_9patch.c   | 2 +-
 src/bin/image_blend_solid_border.c   | 2 +-
 src/bin/image_blend_solid_fade_pow2_unscaled.c   | 2 +-
 src/bin/image_blend_solid_fade_unscaled.c| 2 +-
 src/bin/image_blend_solid_middle_border.c| 2 +-
 src/bin/image_blend_solid_middle_unscaled.c  | 2 +-
 src/bin/image_blend_solid_stretch.c  | 2 +-
 src/bin/image_blend_solid_unscaled.c | 2 +-
 src/bin/image_blend_unscaled.c   | 2 +-
 src/bin/image_crossfade.c| 2 +-
 src/bin/image_data_ycbcr601pl_map_nearest_solid_rotate.c | 2 +-
 src/bin/image_data_ycbcr601pl_wide_stride.c  | 2 +-
 src/bin/image_mask.c | 2 +-
 src/bin/image_mask_10.c  | 2 +-
 src/bin/image_mask_11.c  | 2 +-
 src/bin/image_mask_12.c  | 2 +-
 src/bin/image_mask_13.c  | 2 +-
 src/bin/image_mask_2.c   | 2 +-
 src/bin/image_mask_3.c   | 2 +-
 src/bin/image_mask_4.c   | 2 +-
 src/bin/image_mask_5.c   | 2 +-
 src/bin/image_mask_6.c   | 2 +-
 src/bin/image_mask_7.c   | 2 +-
 src/bin/image_mask_8.c   | 2 +-
 src/bin/image_mask_9.c   | 2 +-
 src/bin/image_mask_clipped.c | 2 +-
 src/bin/image_quality_scale.c| 2 +-
 src/bin/line_blend.c | 2 +-
 src/bin/poly_blend.c | 2 +-
 src/bin/proxy_image.c| 2 +-
 src/bin/proxy_image_clipped.c| 2 +-
 src/bin/proxy_image_offscreen.c  | 2 +-
 src/bin/proxy_text_fixed.c   | 2 +-
 src/bin/proxy_text_random.c  | 2 +-
 src/bin/proxy_textblock.c| 2 +-
 src/bin/rect_blend.c | 2 +-
 src/bin/rect_blend_few.c | 2 +-
 src/bin/rect_blend_pow2.c| 2 +-
 src/bin/rect_blend_pow2_few.c| 2 +-
 src/bin/rect_solid.c | 2 +-
 src/bin/rect_solid_few.c | 2 +-
 src/bin/snapshot_widgets_file_icons.c| 2 +-
 src/bin/text_basic.c |

[EGIT] [tools/expedite] master 02/02: bump up version

2019-12-29 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/expedite.git/commit/?id=deb3905a3299377c5c69b328628e31a1b387aa35

commit deb3905a3299377c5c69b328628e31a1b387aa35
Author: Hermet Park 
Date:   Mon Dec 30 13:29:21 2019 +0900

bump up version
---
 configure.ac | 2 +-
 meson.build  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index 6e50b94..e70b169 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@ dnl Process this file with autoconf to produce a configure 
script.
 # get rid of that stupid cache mechanism
 rm -f config.cache
 
-AC_INIT([expedite], [1.11.99], [enlightenment-de...@lists.sourceforge.net])
+AC_INIT([expedite], [1.12.0], [enlightenment-de...@lists.sourceforge.net])
 AC_PREREQ([2.52])
 AC_CONFIG_SRCDIR([configure.ac])
 AC_CONFIG_HEADERS([config.h])
diff --git a/meson.build b/meson.build
index aadb8fc..a82be40 100644
--- a/meson.build
+++ b/meson.build
@@ -1,5 +1,5 @@
 project('expedite', 'c',
-version: '1.11.99',
+version: '1.12.0',
default_options: ['c_std=gnu99'],
license: 'BSD')
 

-- 




[EGIT] [tools/expedite] master 01/01: proxy_textblock: increase a factor to update animation properly.

2019-12-26 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/expedite.git/commit/?id=b72d775b10ec1c77514d3657e69431d43fe4b817

commit b72d775b10ec1c77514d3657e69431d43fe4b817
Author: Hermet Park 
Date:   Fri Dec 27 15:03:51 2019 +0900

proxy_textblock: increase a factor to update animation properly.
---
 src/bin/proxy_textblock.c | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/bin/proxy_textblock.c b/src/bin/proxy_textblock.c
index 262b81e..32aa4e2 100644
--- a/src/bin/proxy_textblock.c
+++ b/src/bin/proxy_textblock.c
@@ -102,6 +102,7 @@ static void _cleanup(void)
 /* loop - do things */
 static void _loop(double t, int f)
 {
+   static int k = 0;
int i;
Evas_Coord x, y, w, h;
for (i = 0; i < OBNUM; i++)
@@ -109,9 +110,9 @@ static void _loop(double t, int f)
 w = 480;
 h = 160;
 x = (win_w / 2) - (w / 2);
-x += sin((double)(f + (i * 13)) / (36.7 * SLOW)) * (w / 2);
+x += sin((double)(f + ((i + k) * 13)) / (36.7 * SLOW)) * (w / 2);
 y = (win_h / 2) - (h / 2);
-y += cos((double)(f + (i * 28)) / (43.8 * SLOW)) * (h / 2);
+y += cos((double)(f + ((i + k) * 28)) / (43.8 * SLOW)) * (h / 2);
 efl_gfx_entity_position_set(o_texts[i], EINA_POSITION2D(x, y));
 i++;
 efl_gfx_entity_position_set(o_texts[i], EINA_POSITION2D(x, y));
@@ -120,6 +121,7 @@ static void _loop(double t, int f)
 i++;
 efl_gfx_entity_position_set(o_texts[i], EINA_POSITION2D(x, y + (h / 
2)));
  }
+   ++k;
FPS_STD(NAME);
 }
 

-- 




[EGIT] [tools/expedite] master 01/01: text_style_different_string: increase a factor to update animation properly.

2019-12-26 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/expedite.git/commit/?id=aee23715a29cb9f0b375e1b33762373d529b9c34

commit aee23715a29cb9f0b375e1b33762373d529b9c34
Author: Hermet Park 
Date:   Fri Dec 27 13:50:25 2019 +0900

text_style_different_string: increase a factor to update animation properly.
---
 src/bin/text_styles_different_strings.c | 14 --
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/bin/text_styles_different_strings.c 
b/src/bin/text_styles_different_strings.c
index e5cf355..02a2507 100644
--- a/src/bin/text_styles_different_strings.c
+++ b/src/bin/text_styles_different_strings.c
@@ -67,17 +67,19 @@ static void _cleanup(void)
 /* loop - do things */
 static void _loop(double t, int f)
 {
+   static int k = 0;
int i;
Evas_Coord x, y, w, h;
for (i = 0; i < OBNUM; i++)
  {
-   exp_size_get(o_texts[i], , );
-   x = (win_w / 2) - (w / 2);
-   x += sin((double)(f + (i * 13)) / (36.7 * SLOW)) * (w / 2);
-   y = (win_h / 2) - (h / 2);
-   y += cos((double)(f + (i * 28)) / (43.8 * SLOW)) * (w / 2);
-   efl_gfx_entity_position_set(o_texts[i], EINA_POSITION2D(x, y));
+exp_size_get(o_texts[i], , );
+x = (win_w / 2) - (w / 2);
+x += sin((double)(f + ((i + k) * 13)) / (36.7 * SLOW)) * (w / 2);
+y = (win_h / 2) - (h / 2);
+y += cos((double)(f + ((i + k) * 28)) / (43.8 * SLOW)) * (w / 2);
+efl_gfx_entity_position_set(o_texts[i], EINA_POSITION2D(x, y));
  }
+   ++k;
FPS_STD(NAME);
 }
 

-- 




[EGIT] [tools/expedite] master 01/01: add one more resolution item.

2019-12-26 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/expedite.git/commit/?id=7dca83b4e53788dfed257c9a9b03b4b1c10fa1b4

commit 7dca83b4e53788dfed257c9a9b03b4b1c10fa1b4
Author: Hermet Park 
Date:   Fri Dec 27 13:37:25 2019 +0900

add one more resolution item.
---
 src/bin/main.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/bin/main.c b/src/bin/main.c
index 4dad80b..47679ca 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -1169,6 +1169,7 @@ static const Expedite_Resolution resolutions[] = {
   { "1080p-p", 1080, 1920},
   { "wsvga",   1024, 600 },
   { "wsvga-p", 600 , 1024},
+  { "watch-360", 360, 360},
   { NULL, 0, 0 }
 };
 

-- 




[EGIT] [tools/expedite] master 01/01: version up efl dependency.

2019-12-26 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/expedite.git/commit/?id=a4d6ef526a4cd25da153dd5c6df8193efab95e3c

commit a4d6ef526a4cd25da153dd5c6df8193efab95e3c
Author: Hermet Park 
Date:   Fri Dec 27 13:28:41 2019 +0900

version up efl dependency.

Some new efl interfaces are applied.
---
 meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meson.build b/meson.build
index 00e1eb2..aadb8fc 100644
--- a/meson.build
+++ b/meson.build
@@ -39,7 +39,7 @@ if host_os == 'linux'
config_data.set('_POSIX_1_SOURCE', 1)
 endif
 
-efl_version = '1.22.0'
+efl_version = '1.23.0'
 efl_deps = ['eina',
 'eet',
 'eo',

-- 




[EGIT] [tools/expedite] master 01/01: image_blend_occlude_few: increase a factor to update animation properly.

2019-12-26 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/expedite.git/commit/?id=b84865bb12a331d460fb9a208326ac8c6b0d6662

commit b84865bb12a331d460fb9a208326ac8c6b0d6662
Author: Hermet Park 
Date:   Thu Dec 26 17:50:26 2019 +0900

image_blend_occlude_few: increase a factor to update animation properly.
---
 src/bin/image_blend_occlude1_few.c | 6 --
 src/bin/image_blend_occlude2_few.c | 6 --
 src/bin/image_blend_occlude3_few.c | 8 +---
 3 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/src/bin/image_blend_occlude1_few.c 
b/src/bin/image_blend_occlude1_few.c
index 522a295..450301d 100644
--- a/src/bin/image_blend_occlude1_few.c
+++ b/src/bin/image_blend_occlude1_few.c
@@ -59,6 +59,7 @@ static void _cleanup(void)
 /* loop - do things */
 static void _loop(double t, int f)
 {
+   static int k = 0;
int i;
Evas_Coord x, y, w, h;
for (i = 0; i < OBNUM; i++)
@@ -68,12 +69,13 @@ static void _loop(double t, int f)
  w = 120;
  h = 160;
  x = (win_w / 2) - (w / 2);
- x += sin((double)(f + (i * 13)) / (36.7 * SLOW)) * (w / 2);
+ x += sin((double)(f + ((i + k) * 13)) / (36.7 * SLOW)) * (w / 2);
  y = (win_h / 2) - (h / 2);
- y += cos((double)(f + (i * 28)) / (43.8 * SLOW)) * (h / 2);
+ y += cos((double)(f + ((i + k) * 28)) / (43.8 * SLOW)) * (h / 2);
  efl_gfx_entity_position_set(o_images[i], EINA_POSITION2D(x, y));
   }
  }
+   ++k;
FPS_STD(NAME);
 }
 
diff --git a/src/bin/image_blend_occlude2_few.c 
b/src/bin/image_blend_occlude2_few.c
index 7a22e38..6429550 100644
--- a/src/bin/image_blend_occlude2_few.c
+++ b/src/bin/image_blend_occlude2_few.c
@@ -59,6 +59,7 @@ static void _cleanup(void)
 /* loop - do things */
 static void _loop(double t, int f)
 {
+   static int k = 0;
int i;
Evas_Coord x, y, w, h;
for (i = 0; i < OBNUM; i++)
@@ -68,12 +69,13 @@ static void _loop(double t, int f)
  w = 120;
  h = 160;
  x = (win_w / 2) - (w / 2);
- x += sin((double)(f + (i * 13)) / (36.7 * SLOW)) * (w / 2);
+ x += sin((double)(f + ((i + k) * 13)) / (36.7 * SLOW)) * (w / 2);
  y = (win_h / 2) - (h / 2);
- y += cos((double)(f + (i * 28)) / (43.8 * SLOW)) * (h / 2);
+ y += cos((double)(f + ((i + k) * 28)) / (43.8 * SLOW)) * (h / 2);
  efl_gfx_entity_position_set(o_images[i], EINA_POSITION2D(x, y));
   }
  }
+   k++;
FPS_STD(NAME);
 }
 
diff --git a/src/bin/image_blend_occlude3_few.c 
b/src/bin/image_blend_occlude3_few.c
index ce7c8b0..12551c4 100644
--- a/src/bin/image_blend_occlude3_few.c
+++ b/src/bin/image_blend_occlude3_few.c
@@ -59,21 +59,23 @@ static void _cleanup(void)
 /* loop - do things */
 static void _loop(double t, int f)
 {
+   static int k = 0;
int i;
Evas_Coord x, y, w, h;
for (i = 0; i < OBNUM; i++)
  {
-if (i > (OBNUM / 2))
+if (i < (OBNUM / 2))
   {
  w = 120;
  h = 160;
  x = (win_w / 2) - (w / 2);
- x += sin((double)(f + (i * 13)) / (36.7 * SLOW)) * (w / 2);
+ x += sin((double)(f + ((i + k) * 13)) / (36.7 * SLOW)) * (w / 2);
  y = (win_h / 2) - (h / 2);
- y += cos((double)(f + (i * 28)) / (43.8 * SLOW)) * (h / 2);
+ y += cos((double)(f + ((i + k) * 28)) / (43.8 * SLOW)) * (h / 2);
  efl_gfx_entity_position_set(o_images[i], EINA_POSITION2D(x, y));
   }
  }
+   ++k;
FPS_STD(NAME);
 }
 

-- 




[EGIT] [tools/expedite] master 01/01: textblock_intl: increase a factor to update animation properly.

2019-12-26 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/expedite.git/commit/?id=67771fd4a69e9931fc02ec84aedf05e540c571fe

commit 67771fd4a69e9931fc02ec84aedf05e540c571fe
Author: Hermet Park 
Date:   Thu Dec 26 17:22:10 2019 +0900

textblock_intl: increase a factor to update animation properly.
---
 src/bin/textblock_intl.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/bin/textblock_intl.c b/src/bin/textblock_intl.c
index daac0b5..3a9c49a 100644
--- a/src/bin/textblock_intl.c
+++ b/src/bin/textblock_intl.c
@@ -97,7 +97,7 @@ static void _cleanup(void)
 static void _loop(double t, int f)
 {
Evas_Coord x, y, w, h, w0, h0;
-   int i = 0;
+   static int i = 0;
 
evas_object_textblock_size_native_get(o_text, , );
w = w0;
@@ -108,6 +108,7 @@ static void _loop(double t, int f)
y += cos((double)(f + (i * 28)) / (19.6 * SLOW)) * (h0 / (2 * 2));
efl_gfx_entity_position_set(o_text, EINA_POSITION2D(x, y));
efl_gfx_entity_size_set(o_text, EINA_SIZE2D(w, h));
+   ++i;
 
FPS_STD(NAME);
 }

-- 




[EGIT] [tools/expedite] master 01/01: textblock_basic: increase an factor to update animation properly.

2019-12-26 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/expedite.git/commit/?id=4828d1a5d551a42a03234c0b8e0c8425dca29b22

commit 4828d1a5d551a42a03234c0b8e0c8425dca29b22
Author: Hermet Park 
Date:   Thu Dec 26 17:07:55 2019 +0900

textblock_basic: increase an factor to update animation properly.
---
 src/bin/textblock_basic.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/bin/textblock_basic.c b/src/bin/textblock_basic.c
index 82f20b5..9736ac4 100644
--- a/src/bin/textblock_basic.c
+++ b/src/bin/textblock_basic.c
@@ -126,7 +126,7 @@ static void _cleanup(void)
 static void _loop(double t, int f)
 {
Evas_Coord x, y, w, h, w0, h0;
-   int i = 0;
+   static int i = 0;
 
w0 = 160;
h0 = 120;
@@ -138,6 +138,7 @@ static void _loop(double t, int f)
y += cos((double)(f + (i * 28)) / (93.8 * SLOW)) * (h0 / 2);
efl_gfx_entity_position_set(o_text, EINA_POSITION2D(x, y));
efl_gfx_entity_size_set(o_text, EINA_SIZE2D(w, 5000));
+   ++i;
 
FPS_STD(NAME);
 }

-- 




[EGIT] [tools/expedite] master 01/01: fix array bounds overflow.

2019-12-24 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/expedite.git/commit/?id=f3e0448bd38c0450293d29c908992548993bc38b

commit f3e0448bd38c0450293d29c908992548993bc38b
Author: Hermet Park 
Date:   Tue Dec 24 18:46:55 2019 +0900

fix array bounds overflow.
---
 src/bin/proxy_textblock.c | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/bin/proxy_textblock.c b/src/bin/proxy_textblock.c
index 691756c..262b81e 100644
--- a/src/bin/proxy_textblock.c
+++ b/src/bin/proxy_textblock.c
@@ -12,13 +12,13 @@
 #  include "main.h"
 
 #undef OBNUM
-#define OBNUM 1
+#define OBNUM 4
 
 /* standard var */
 static int done = 0;
 
 /* private data */
-static Evas_Object *o_texts[OBNUM * 3];
+static Evas_Object *o_texts[OBNUM];
 
 //uncomment to test vs plain textblock render perf
 //#define PROXY_CMP 1
@@ -29,7 +29,7 @@ static void _setup(void)
int i;
Evas_Object *o, *clip, *proxy;
 
-   for (i = 0; i < OBNUM * 4; i++)
+   for (i = 0; i < OBNUM; i++)
  {
 o = efl_add(EFL_CANVAS_TEXTBLOCK_CLASS, evas);
 o_texts[i] = o;
@@ -96,7 +96,7 @@ static void _setup(void)
 static void _cleanup(void)
 {
int i;
-   for (i = 0; i < OBNUM * 4; i++) efl_del(o_texts[i]);
+   for (i = 0; i < OBNUM; i++) efl_del(o_texts[i]);
 }
 
 /* loop - do things */
@@ -104,7 +104,7 @@ static void _loop(double t, int f)
 {
int i;
Evas_Coord x, y, w, h;
-   for (i = 0; i < OBNUM * 4; i++)
+   for (i = 0; i < OBNUM; i++)
  {
 w = 480;
 h = 160;

-- 




[EGIT] [tools/expedite] master 01/01: add a resolution option 720p-p

2019-12-24 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/expedite.git/commit/?id=d540c8420bc280cf94a84e2c9b8e157f23698cb0

commit d540c8420bc280cf94a84e2c9b8e157f23698cb0
Author: Hermet Park 
Date:   Tue Dec 24 18:34:12 2019 +0900

add a resolution option 720p-p
---
 src/bin/main.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/bin/main.c b/src/bin/main.c
index ce5a178..4dad80b 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -1163,6 +1163,7 @@ static const Expedite_Resolution resolutions[] = {
   { "pal", 720 , 576 },
   { "480p",720 , 480 },
   { "720p",1280, 720 },
+  { "720p-p",  720, 1280 },
   { "1050p",   1680, 1050},
   { "1080p",   1920, 1080},
   { "1080p-p", 1080, 1920},

-- 




[EGIT] [tools/expedite] master 01/01: Setup before starting fps measurement

2019-12-23 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/expedite.git/commit/?id=7874ae718f29b4b8ce7f4920ecc418f43af6abf8

commit 7874ae718f29b4b8ce7f4920ecc418f43af6abf8
Author: Hermet Park 
Date:   Tue Dec 24 15:14:51 2019 +0900

Setup before starting fps measurement

It's not good to include the setup in fps measurement,
Also, animator tick occur immediately when test item is selected.
We need to setup before it in order to avoid invalid objects access.
---
 src/bin/about.c  | 2 +-
 src/bin/font_effect_blur_alpha.c | 2 +-
 src/bin/font_effect_blur_color.c | 2 +-
 src/bin/image_blend_border.c | 2 +-
 src/bin/image_blend_border_recolor.c | 2 +-
 src/bin/image_blend_fade_pow2_unscaled.c | 2 +-
 src/bin/image_blend_fade_unscaled.c  | 2 +-
 src/bin/image_blend_many_smooth_same_scaled.c| 2 +-
 src/bin/image_blend_nearest_same_scaled.c| 2 +-
 src/bin/image_blend_nearest_scaled.c | 2 +-
 src/bin/image_blend_nearest_solid_same_scaled.c  | 2 +-
 src/bin/image_blend_nearest_solid_scaled.c   | 2 +-
 src/bin/image_blend_occlude1.c   | 2 +-
 src/bin/image_blend_occlude1_few.c   | 2 +-
 src/bin/image_blend_occlude1_many.c  | 2 +-
 src/bin/image_blend_occlude1_very_many.c | 2 +-
 src/bin/image_blend_occlude2.c   | 2 +-
 src/bin/image_blend_occlude2_few.c   | 2 +-
 src/bin/image_blend_occlude2_many.c  | 2 +-
 src/bin/image_blend_occlude2_very_many.c | 2 +-
 src/bin/image_blend_occlude3.c   | 2 +-
 src/bin/image_blend_occlude3_few.c   | 2 +-
 src/bin/image_blend_occlude3_many.c  | 2 +-
 src/bin/image_blend_occlude3_very_many.c | 2 +-
 src/bin/image_blend_smooth_same_scaled.c | 2 +-
 src/bin/image_blend_smooth_scaled.c  | 2 +-
 src/bin/image_blend_smooth_solid_same_scaled.c   | 2 +-
 src/bin/image_blend_smooth_solid_scaled.c| 2 +-
 src/bin/image_blend_solid_9patch.c   | 2 +-
 src/bin/image_blend_solid_border.c   | 2 +-
 src/bin/image_blend_solid_fade_pow2_unscaled.c   | 2 +-
 src/bin/image_blend_solid_fade_unscaled.c| 2 +-
 src/bin/image_blend_solid_middle_border.c| 2 +-
 src/bin/image_blend_solid_middle_unscaled.c  | 2 +-
 src/bin/image_blend_solid_stretch.c  | 2 +-
 src/bin/image_blend_solid_unscaled.c | 2 +-
 src/bin/image_blend_unscaled.c   | 2 +-
 src/bin/image_crossfade.c| 2 +-
 src/bin/image_data_ycbcr601pl_map_nearest_solid_rotate.c | 2 +-
 src/bin/image_data_ycbcr601pl_wide_stride.c  | 2 +-
 src/bin/image_mask.c | 2 +-
 src/bin/image_mask_10.c  | 2 +-
 src/bin/image_mask_11.c  | 2 +-
 src/bin/image_mask_12.c  | 2 +-
 src/bin/image_mask_13.c  | 2 +-
 src/bin/image_mask_2.c   | 2 +-
 src/bin/image_mask_3.c   | 2 +-
 src/bin/image_mask_4.c   | 2 +-
 src/bin/image_mask_5.c   | 2 +-
 src/bin/image_mask_6.c   | 2 +-
 src/bin/image_mask_7.c   | 2 +-
 src/bin/image_mask_8.c   | 2 +-
 src/bin/image_mask_9.c   | 2 +-
 src/bin/image_mask_clipped.c | 2 +-
 src/bin/image_quality_scale.c| 2 +-
 src/bin/line_blend.c | 2 +-
 src/bin/poly_blend.c | 2 +-
 src/bin/proxy_image.c| 2 +-
 src/bin/proxy_image_clipped.c| 2 +-
 src/bin/proxy_image_offscreen.c  | 2 +-
 src/bin/proxy_text_fixed.c   | 2 +-
 src/bin/proxy_text_random.c  | 2 +-
 src/bin/proxy_textblock.c| 2 +-
 src/bin/rect_blend.c | 2 +-
 src/bin/rect_blend_few.c | 2 +-
 src/bin/rect_blend_pow2.c| 2 +-
 src/bin/rect_blend_pow2_few.c| 2 +-
 src/bin/rect_solid.c | 2 +-
 src/bin/rect_solid_few.c | 2 +-
 src/bin

[EGIT] [tools/expedite] master 01/01: about: update to use new efl interface.

2019-12-23 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/expedite.git/commit/?id=03324357edec0fbf53f13a56a1efccdd84bfe0c6

commit 03324357edec0fbf53f13a56a1efccdd84bfe0c6
Author: Hermet Park 
Date:   Tue Dec 24 14:37:16 2019 +0900

about: update to use new efl interface.
---
 src/bin/about.c | 33 ++---
 1 file changed, 14 insertions(+), 19 deletions(-)

diff --git a/src/bin/about.c b/src/bin/about.c
index d816827..378 100644
--- a/src/bin/about.c
+++ b/src/bin/about.c
@@ -6,32 +6,28 @@ static void
 _setup(void)
 {
Evas_Object *o;
-   Evas_Textblock_Style *st;
 
-   o = evas_object_textblock_add(evas);
+   o = efl_add(EFL_CANVAS_TEXTBLOCK_CLASS, evas);
efl_gfx_entity_position_set(o, EINA_POSITION2D(10, 40));
efl_gfx_entity_size_set(o, EINA_SIZE2D(win_w - 20, win_h - 50));
efl_gfx_entity_visible_set(o, EINA_TRUE);
-   st = evas_textblock_style_new();
-   evas_textblock_style_set
- (st,
-  "DEFAULT='font=Vera font_size=8 align=left color=#000 wrap=word'"
-  "center='+ font=Vera font_size=10 align=center'"
-  "/center='- \n \n'"
-  "p='+ font=Vera font_size=10 align=left'"
-  "/p='- \n \n'"
-  );
-   evas_object_textblock_style_set(o, st);
-   evas_object_textblock_clear(o);
-   evas_object_textblock_text_markup_set
- (o, ""
+
+   efl_text_font_family_set(o, "Vera");
+   efl_text_font_size_set(o, 10);
+   efl_text_color_set(o, 0, 0, 0, 255);
+   efl_text_multiline_set(o, EINA_TRUE);
+   efl_text_horizontal_align_set(o, 0.5);
+   efl_text_wrap_set(o, EFL_TEXT_FORMAT_WRAP_WORD);
+
+   efl_text_markup_set
+ (o,
   "Enlightenment used to be a window manager project, but "
   "since has changed a lot to become a miniature desktop and mobile "
   "device environment all of its own. It is now made up of many "
   "components (libraries and applications) that have specific uses. "
   "It is very large, and so requires more testing and demonstration."
   ""
-
+  ""
   ""
   "Expedite is a full test suite for Evas, which is one of the "
   "core components of the Enlightenment Foundation Libraries. Evas "
@@ -39,9 +35,8 @@ _setup(void)
   "render to many targets, including framebuffer, X11, OpenGL, memory, "
   "DirectFB and other targets to boot. It handles high level graphic "
   "layout descriptions that applications set up, dealing with the hard "
-  "work of doing the drawing for them."
-  "");
-   evas_textblock_style_free(st);
+  "work of doing the drawing for them.");
+
o_text = o;
ui_fps(0.0);
 }

-- 




[EGIT] [tools/expedite] master 01/01: proxy_textblock: update api call.

2019-12-23 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/expedite.git/commit/?id=cf48e9737970205d2ca31cd4db00d73302e047fd

commit cf48e9737970205d2ca31cd4db00d73302e047fd
Author: Hermet Park 
Date:   Tue Dec 24 14:33:58 2019 +0900

proxy_textblock: update api call.
---
 src/bin/proxy_textblock.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/proxy_textblock.c b/src/bin/proxy_textblock.c
index 165c843..c9a3e60 100644
--- a/src/bin/proxy_textblock.c
+++ b/src/bin/proxy_textblock.c
@@ -46,7 +46,7 @@ static void _setup(void)
   "nulla pariatur. Excepteur sint occaecat cupidatat non proident, 
sunt in "
   "culpa qui officia deserunt mollit anim id est laborum."
 );
-efl_text_normal_color_set(o, 0, 0, 0, 255);
+efl_text_color_set(o, 0, 0, 0, 255);
 efl_gfx_entity_size_set(o, EINA_SIZE2D(480, 160));
 efl_gfx_entity_visible_set(o, EINA_TRUE);
 

-- 




[EGIT] [tools/expedite] master 01/01: compare list item count properly, and remove s9 resolution in the default list.

2019-12-23 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/expedite.git/commit/?id=ae6cf1318be1d4fd7c2d8b5ee326ad27effece39

commit ae6cf1318be1d4fd7c2d8b5ee326ad27effece39
Author: Hermet Park 
Date:   Mon Dec 23 21:39:09 2019 +0900

compare list item count properly,
and remove s9 resolution in the default list.
---
 src/bin/main.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/bin/main.c b/src/bin/main.c
index a812348..ce5a178 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -1168,7 +1168,6 @@ static const Expedite_Resolution resolutions[] = {
   { "1080p-p", 1080, 1920},
   { "wsvga",   1024, 600 },
   { "wsvga-p", 600 , 1024},
-  { "s9",  1600, 900 },
   { NULL, 0, 0 }
 };
 
@@ -1305,7 +1304,7 @@ main(int argc, char **argv)
 unsigned int i;
 
 fprintf(stderr, "Known resolution :\n");
-for (i = 0; i < sizeof(resolutions)/sizeof(resolutions[0]); i++)
+for (i = 0; i < sizeof(resolutions)/sizeof(resolutions[0]) - 1; i++)
   fprintf(stderr, " * %s\t%ix%i\n", resolutions[i].name,
   resolutions[i].width, resolutions[i].height);
 return 0;
@@ -1315,7 +1314,7 @@ main(int argc, char **argv)
  {
 unsigned int i;
 
-for (i = 0; i < sizeof(resolutions)/sizeof(resolutions[0]); i++)
+for (i = 0; i < sizeof(resolutions)/sizeof(resolutions[0]) - 1; i++)
   if (!strcmp(resolutions[i].name, resolution))
 break;
 if (i == sizeof(resolutions)/sizeof(resolutions[0]))

-- 




[EGIT] [tools/expedite] master 01/01: ui: remove menu icon.

2019-12-23 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/expedite.git/commit/?id=9bb9dba018904c33b9f9afe77002d461469d51e9

commit 9bb9dba018904c33b9f9afe77002d461469d51e9
Author: Hermet Park 
Date:   Mon Dec 23 21:10:25 2019 +0900

ui: remove menu icon.

Unnecessary decoration that may cause user look it as a wrong display.
---
 src/bin/ui.c | 13 -
 1 file changed, 13 deletions(-)

diff --git a/src/bin/ui.c b/src/bin/ui.c
index 78c91bd..7dbabdf 100644
--- a/src/bin/ui.c
+++ b/src/bin/ui.c
@@ -21,7 +21,6 @@ static Evas_Object *o_wallpaper = NULL;
 static Evas_Object *o_title = NULL;
 static Evas_Object *o_byline = NULL;
 static Evas_Object *o_menu_logo = NULL;
-static Evas_Object *o_menu_icon = NULL;
 static Evas_Object *o_menu_icon_sel = NULL;
 static Evas_Object *o_menu_icon_sel2 = NULL;
 static Evas_Object *o_menu_text_sel = NULL;
@@ -221,7 +220,6 @@ _ui_menu_show(Eina_Bool visibility)
 {
efl_gfx_entity_visible_set(o_menu_logo, visibility);
efl_gfx_entity_visible_set(o_menu_title, visibility);
-   efl_gfx_entity_visible_set(o_menu_icon, visibility);
efl_gfx_entity_visible_set(o_menu_icon_sel, visibility);
/* FIXME: ask if it's ok o_menu_icon_sel2 == NULL */
efl_gfx_entity_visible_set(o_menu_icon_sel2, visibility);
@@ -454,13 +452,6 @@ ui_setup(unsigned int ui_w, unsigned int ui_h)
efl_gfx_entity_visible_set(o, EINA_TRUE);
o_menu_logo = o;
 
-   o = efl_add(EFL_CANVAS_IMAGE_CLASS, evas);
-   efl_gfx_entity_position_set(o, EINA_POSITION2D(win_w - 128, - 128));
-   efl_gfx_fill_set(o, EINA_RECT(0, 0, 256, 256));
-   efl_gfx_entity_size_set(o, EINA_SIZE2D(256, 256));
-   efl_gfx_entity_visible_set(o, EINA_TRUE);
-   o_menu_icon = o;
-
o = efl_add(EFL_CANVAS_IMAGE_CLASS, evas);
efl_gfx_entity_position_set(o, EINA_POSITION2D(0, 0));
efl_file_simple_load(o, build_path("icon_sel.png"), NULL);
@@ -631,10 +622,6 @@ ui_loop(void *data EINA_UNUSED)
   efl_gfx_entity_size_set(o, EINA_SIZE2D(w, h));
   efl_gfx_fill_set(o, EINA_RECT(0, 0, w, h));
   efl_gfx_color_set(o, a, a, a, a);
-
-  o = o_menu_icon;
-  efl_file_simple_load(o, build_path(mi->icon), NULL);
-  efl_gfx_color_set(o, a / 2, a / 2, a / 2, a / 2);
}
  i++;
   }

-- 




[EGIT] [tools/expedite] master 01/01: fix broken menu selection.

2019-12-23 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/expedite.git/commit/?id=858246e2ddd5d797485e6c33d18037c635b8c976

commit 858246e2ddd5d797485e6c33d18037c635b8c976
Author: Hermet Park 
Date:   Mon Dec 23 20:57:51 2019 +0900

fix broken menu selection.

booo. efl_input_pointer_mouse_get() doesn't work.

This is a temporary fix for expedite working back.
---
 src/bin/ui.c | 12 ++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/bin/ui.c b/src/bin/ui.c
index 9192856..78c91bd 100644
--- a/src/bin/ui.c
+++ b/src/bin/ui.c
@@ -152,7 +152,7 @@ double weights[] =
5.000, // test 91
1.000, // test 92 (line)
10.000, // test 93 Image Blend Many Smooth Down Scaled
-   
+
20.000, // MASK
20.000, // MASK 2
20.000, // MASK 3
@@ -296,6 +296,9 @@ _ui_key(void *data EINA_UNUSED, const Efl_Event *event)
 static Eina_Position2D down;
 static int down_menu_sel = 0;
 
+//FIXME: efl_input_pointer_button_get() doesn't work!
+static Eina_Bool mdown = EINA_FALSE;
+
 static void
 _ui_mouse_down(void *data EINA_UNUSED, const Efl_Event *event)
 {
@@ -306,6 +309,7 @@ _ui_mouse_down(void *data EINA_UNUSED, const Efl_Event 
*event)
  {
 down = efl_input_pointer_position_get(ev);
 down_menu_sel = menu_sel;
+mdown = EINA_TRUE;
  }
 }
 
@@ -325,6 +329,7 @@ _ui_mouse_up(void *data EINA_UNUSED, const Efl_Event *event)
 if dx * dx) + (dy * dy)) < (20 * 20)) &&
 (menu_sel == down_menu_sel))
   _ui_select();
+mdown = EINA_FALSE;
  }
else
  {
@@ -338,7 +343,10 @@ _ui_mouse_move(void *data EINA_UNUSED, const Efl_Event 
*event)
 {
Efl_Input_Pointer *ev = event->info;
 
-   if (efl_input_pointer_button_get(ev) != 1) return;
+   /* FIXME: This mdown should be replace with the original call
+  if (efl_input_pointer_button_get(ev) != 1) return; */
+   if (!mdown) return;
+
if (menu_active)
  {
 Evas_Coord x;

-- 




[EGIT] [tools/expedite] master 01/01: proxy_textblock: correct textblock class name.

2019-12-23 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/expedite.git/commit/?id=a2bc36a91dacbfaa2811a1083fd868504a88851c

commit a2bc36a91dacbfaa2811a1083fd868504a88851c
Author: Hermet Park 
Date:   Mon Dec 23 19:53:16 2019 +0900

proxy_textblock: correct textblock class name.
---
 src/bin/proxy_textblock.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/proxy_textblock.c b/src/bin/proxy_textblock.c
index 479fde2..165c843 100644
--- a/src/bin/proxy_textblock.c
+++ b/src/bin/proxy_textblock.c
@@ -31,7 +31,7 @@ static void _setup(void)
 
for (i = 0; i < OBNUM * 4; i++)
  {
-o = efl_add(EFL_CANVAS_TEXT_CLASS, evas);
+o = efl_add(EFL_CANVAS_TEXTBLOCK_CLASS, evas);
 o_texts[i] = o;
 efl_text_font_family_set(o, "Vera-Bold");
 efl_text_font_size_set(o, 12);

-- 




[EGIT] [core/efl] master 01/01: evas vector: add one comment todo.

2019-12-06 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=830bd4e26d9f0c9e91f0ef435ae93fce49c78b45

commit 830bd4e26d9f0c9e91f0ef435ae93fce49c78b45
Author: Hermet Park 
Date:   Fri Dec 6 18:58:54 2019 +0900

evas vector: add one comment todo.
---
 src/lib/evas/canvas/efl_canvas_vg_object.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/evas/canvas/efl_canvas_vg_object.c 
b/src/lib/evas/canvas/efl_canvas_vg_object.c
index 42fcb3fbd5..4b6d5221a7 100644
--- a/src/lib/evas/canvas/efl_canvas_vg_object.c
+++ b/src/lib/evas/canvas/efl_canvas_vg_object.c
@@ -441,6 +441,7 @@ _evas_vg_render(Evas_Object_Protected_Data *obj, 
Efl_Canvas_Vg_Object_Data *pd,
}
 
  //For recovery context
+ //FIXME: It may occur async issue?
  int px, py, pw, ph, pstride;
  void *ppixels;
  ector_buffer_size_get(ector, , );

-- 




[EGIT] [core/efl] master 01/02: vg ector: Call a pair of ector begin/end for ector buffer drawing.

2019-12-05 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=19ef1555268e99cfb6ab07521d81519ada251617

commit 19ef1555268e99cfb6ab07521d81519ada251617
Author: Hermet Park 
Date:   Fri Dec 6 15:22:56 2019 +0900

vg ector: Call a pair of ector begin/end for ector buffer drawing.

While we render vector drawing on ector,it uses ector buffers for 
subsequent compositions.
In this sequence, it switches ector buffer with a composition target,
while resuing the global ector context.

Previously, it trickly switched ector buffer, it broke the ector begin/end 
pair.
Now, it needs to recover global ector buffer once the composition finished.
Thus ector buffer need to return the current pixels information for this.
---
 src/lib/ector/ector_buffer.eo| 10 ++
 src/lib/ector/ector_surface.eo   |  6 +++---
 src/lib/ector/software/ector_software_buffer.c   | 11 +++
 src/lib/ector/software/ector_software_buffer_base.eo |  1 +
 src/lib/ector/software/ector_software_surface.c  |  9 +
 src/lib/ector/software/ector_software_surface.eo |  2 +-
 src/lib/evas/canvas/efl_canvas_vg_object.c   | 18 +-
 src/lib/evas/include/evas_private.h  |  2 +-
 src/modules/evas/engines/gl_generic/evas_engine.c|  4 ++--
 9 files changed, 51 insertions(+), 12 deletions(-)

diff --git a/src/lib/ector/ector_buffer.eo b/src/lib/ector/ector_buffer.eo
index a2e2253b73..a4a73b9b1a 100644
--- a/src/lib/ector/ector_buffer.eo
+++ b/src/lib/ector/ector_buffer.eo
@@ -81,6 +81,16 @@ mixin @beta Ector.Buffer
  }
  return: bool; [[True if pixels_set was successful]]
   }
+  pixels_get @pure_virtual {
+ [[Gets the source pixels for the current buffer]]
+ params {
+@out pixels: void_ptr; [[Returns buffer pixel pointer]]
+@out width: int; [[Returns buffer width]]
+@out height: int; [[Returns buffer height]]
+@out stride: int; [[Returns buffer stride size]]
+ }
+ return: bool; [[True if returned pixels is writable]]
+  }
   @property flags {
  [[The capabilities of this buffer]]
  get {}
diff --git a/src/lib/ector/ector_surface.eo b/src/lib/ector/ector_surface.eo
index 67a4813368..7d7defd3e9 100644
--- a/src/lib/ector/ector_surface.eo
+++ b/src/lib/ector/ector_surface.eo
@@ -5,10 +5,10 @@ mixin @beta Ector.Surface extends Ector.Buffer
c_prefix: ector_surface;
data: null;
methods {
-  @property reference_point {
+  @property reference_point @pure_virtual {
  [[This defines where (0,0) is in pixel coordinates inside the 
surface]]
- set @pure_virtual {
- }
+ set {}
+ get {}
  values {
 x: int; [[X coordinate for reference point]]
 y: int; [[Y coordinate for reference point]]
diff --git a/src/lib/ector/software/ector_software_buffer.c 
b/src/lib/ector/software/ector_software_buffer.c
index df7fc27d1f..d6de02f4e7 100644
--- a/src/lib/ector/software/ector_software_buffer.c
+++ b/src/lib/ector/software/ector_software_buffer.c
@@ -63,6 +63,17 @@ _ector_software_buffer_base_pixels_clear(Eo *obj 
EINA_UNUSED, Ector_Software_Buf
pd->nofree = EINA_FALSE;
 }
 
+EOLIAN static Eina_Bool
+_ector_software_buffer_base_ector_buffer_pixels_get(Eo *obj, 
Ector_Software_Buffer_Base_Data *pd,
+void **pixels, int* width, 
int* height, int* stride)
+{
+   if (*pixels) *pixels = pd->pixels.u8;
+   if (*width) *width = pd->generic->w;
+   if (*height) *height = pd->generic->h;
+   if (*stride) *stride = pd->stride;
+   return pd->writable;
+}
+
 EOLIAN static Eina_Bool
 _ector_software_buffer_base_ector_buffer_pixels_set(Eo *obj, 
Ector_Software_Buffer_Base_Data *pd,
 void *pixels, int width, 
int height, int stride,
diff --git a/src/lib/ector/software/ector_software_buffer_base.eo 
b/src/lib/ector/software/ector_software_buffer_base.eo
index 8cb576ef0a..39ad47ccac 100644
--- a/src/lib/ector/software/ector_software_buffer_base.eo
+++ b/src/lib/ector/software/ector_software_buffer_base.eo
@@ -10,6 +10,7 @@ mixin @beta Ector.Software.Buffer.Base extends Ector.Buffer
implements {
   Ector.Buffer.flags { get; }
   Ector.Buffer.pixels_set;
+  Ector.Buffer.pixels_get;
   Ector.Buffer.map;
   Ector.Buffer.unmap;
}
diff --git a/src/lib/ector/software/ector_software_surface.c 
b/src/lib/ector/software/ector_software_surface.c
index 40dbe67e69..ba64445ba3 100644
--- a/src/lib/ector/software/ector_software_surface.c
+++ b/src/lib/ector/software/ector_software_surface.c
@@ -238,6 +238,15 @@ _ector_software_surface_efl_object_destructor(Eo *obj, 
Ector_Software_Surface_Da
_ector_software_shutd

[EGIT] [core/efl] master 02/02: evas vg: --remove log

2019-12-05 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=885967523b3a7d5c42005b4ba69073b9c422c3e6

commit 885967523b3a7d5c42005b4ba69073b9c422c3e6
Author: Hermet Park 
Date:   Fri Dec 6 15:30:50 2019 +0900

evas vg: --remove log
---
 src/lib/evas/canvas/efl_canvas_vg_object.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/lib/evas/canvas/efl_canvas_vg_object.c 
b/src/lib/evas/canvas/efl_canvas_vg_object.c
index 8dea4e9b40..42fcb3fbd5 100644
--- a/src/lib/evas/canvas/efl_canvas_vg_object.c
+++ b/src/lib/evas/canvas/efl_canvas_vg_object.c
@@ -447,7 +447,6 @@ _evas_vg_render(Evas_Object_Protected_Data *obj, 
Efl_Canvas_Vg_Object_Data *pd,
  ector_buffer_pixels_get(ector, , , , );
  Efl_Gfx_Colorspace pcspace = ector_buffer_cspace_get(ector);
  ector_surface_reference_point_get(ector, , );
-ERR("buffer = %p, %d %d %d %d, stride = %d, 
color = %d", ppixels, px,py, pw, ph, pstride, pcspace);
 
  // Buffer change
  ector_buffer_pixels_set(ector, cd->blend.pixels,

-- 




[EGIT] [core/efl] master 01/01: Revert "Revert "evas map: diable high quality texture mapping feature.""

2019-12-02 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=1cb7d11ea86f23ba4126e62103df00baa425c645

commit 1cb7d11ea86f23ba4126e62103df00baa425c645
Author: Hermet Park 
Date:   Mon Dec 2 20:40:28 2019 +0900

Revert "Revert "evas map: diable high quality texture mapping feature.""

This reverts commit 94c193e40b3111664344bf41beb22006bfab2670.
---
 src/lib/evas/common/evas_map_image.c | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/lib/evas/common/evas_map_image.c 
b/src/lib/evas/common/evas_map_image.c
index 115e77cafd..dbd981750f 100644
--- a/src/lib/evas/common/evas_map_image.c
+++ b/src/lib/evas/common/evas_map_image.c
@@ -651,7 +651,7 @@ evas_common_map_rgba_prepare(RGBA_Image *src, RGBA_Image 
*dst,
 #  undef SCALE_USING_NEON
 #endif
 
-#include "evas_map_image_internal_high.c"
+//#include "evas_map_image_internal_high.c"
 
 #ifdef BUILD_MMX
 void evas_common_map_rgba_internal_mmx(RGBA_Image *src, RGBA_Image *dst, 
RGBA_Draw_Context *dc, RGBA_Map_Point *p, int smooth, int level)
@@ -683,6 +683,7 @@ void evas_common_map_rgba_internal_mmx(RGBA_Image *src, 
RGBA_Image *dst, RGBA_Dr
 }
 #endif
 
+#if 0
 void evas_common_map_rgba_internal_high(RGBA_Image *src, RGBA_Image *dst, 
RGBA_Draw_Context *dc, RGBA_Map_Point *p, int smooth, int level)
 {
int clip_x, clip_y, clip_w, clip_h;
@@ -710,6 +711,7 @@ void evas_common_map_rgba_internal_high(RGBA_Image *src, 
RGBA_Image *dst, RGBA_D
p, smooth, dc->anti_alias, level,
dc->clip.mask, dc->clip.mask_x, 
dc->clip.mask_y);
 }
+#endif
 
 void evas_common_map_rgba_internal(RGBA_Image *src, RGBA_Image *dst, 
RGBA_Draw_Context *dc, RGBA_Map_Point *p, int smooth, int level)
 {
@@ -864,11 +866,13 @@ evas_common_map_rgba(RGBA_Image *src, RGBA_Image *dst,
 {
Evas_Common_Map_RGBA_Cb cb;
 
+#if 0
if (dc->anti_alias && smooth)
  {
 cb = evas_common_map_rgba_internal_high;
  }
else
+#endif
  {
 #ifdef BUILD_MMX
 int mmx, sse, sse2;
@@ -893,6 +897,7 @@ EAPI void
 evas_common_map_rgba_draw(RGBA_Image *src, RGBA_Image *dst, int clip_x, int 
clip_y, int clip_w, int clip_h, DATA32 mul_col, int render_op, int npoints 
EINA_UNUSED, RGBA_Map_Point *p, int smooth, Eina_Bool anti_alias, int level, 
RGBA_Image *mask_ie, int mask_x, int mask_y)
 {
//The best quaility requsted.
+#if 0
if (anti_alias && smooth)
  {
 _evas_common_map_rgba_internal_high(src, dst,
@@ -902,6 +907,7 @@ evas_common_map_rgba_draw(RGBA_Image *src, RGBA_Image *dst, 
int clip_x, int clip
 mask_ie, mask_x, mask_y);
  }
else
+#endif
  {
 #ifdef BUILD_MMX
int mmx, sse, sse2;

-- 




[EGIT] [core/efl] master 01/01: evas png: apply interpolation when scale down image loading.

2019-05-13 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=7ef58f9581d77091ad1da07a63f65e8b85b6f071

commit 7ef58f9581d77091ad1da07a63f65e8b85b6f071
Author: Hermet Park 
Date:   Mon May 13 15:45:50 2019 +0900

evas png: apply interpolation when scale down image loading.

Summary:
This patch improves png quality when image uses scale-down at image loading.

Since current scale-down logic just works like point sampling,
image result could be wholely different,

Simply, if source data is consist of continous white and black pixels,
and scale down factor is 2, the sampled data would be only white,
and lose all black pixels, or vice versa.

The result can be unexpected by users.
Even current jpeg scale-down works with interpolation.

Before:
{F3711651}

After:
{F3711652}

Original:
{F3711653}

Reviewers: cedric, raster, #committers, kimcinoo, jsuya

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8788
---
 .../evas/image_loaders/png/evas_image_load_png.c   | 99 +++---
 1 file changed, 68 insertions(+), 31 deletions(-)

diff --git a/src/modules/evas/image_loaders/png/evas_image_load_png.c 
b/src/modules/evas/image_loaders/png/evas_image_load_png.c
index 9e47d0dc98..2cc0f52242 100644
--- a/src/modules/evas/image_loaders/png/evas_image_load_png.c
+++ b/src/modules/evas/image_loaders/png/evas_image_load_png.c
@@ -230,7 +230,6 @@ evas_image_load_file_data_png(void *loader_data,
Eina_File *f;
 
unsigned char *surface;
-   unsigned char *tmp_line;
png_structp png_ptr = NULL;
png_infop info_ptr = NULL;
Evas_PNG_Info epi;
@@ -382,7 +381,7 @@ evas_image_load_file_data_png(void *loader_data,
  }
 
passes = png_set_interlace_handling(png_ptr);
-   
+
/* we read image line by line if scale down was set */
if (scale_ratio == 1 && region_set == 0)
  {
@@ -396,6 +395,7 @@ evas_image_load_file_data_png(void *loader_data,
else
  {
 unsigned char *src_ptr;
+unsigned char *dst_ptr = surface;
 int skip_row = 0, region_x = 0, region_y = 0;
 
 if (region_set)
@@ -406,51 +406,86 @@ evas_image_load_file_data_png(void *loader_data,
 
 if (passes == 1)
   {
- tmp_line = (unsigned char *) alloca(image_w * pack_offset);
+ int line_size = (image_w * pack_offset) - (region_x * 
pack_offset);
+ unsigned char *tmp_line = (unsigned char *) alloca(image_w * 
pack_offset);
+ //accumulate pixel color here.
+ unsigned short *interp_buf = (unsigned short *) alloca(line_size 
* sizeof(unsigned short));
+ unsigned short *pbuf;
 
  for (skip_row = 0; skip_row < region_y; skip_row++)
png_read_row(png_ptr, tmp_line, NULL);
 
- //general case: 4 bytes pixel.
- if (pack_offset == sizeof(DATA32))
-   {
-  DATA32 *dst_ptr = (DATA32 *) surface;
-  DATA32 *src_ptr2;
+ png_read_row(png_ptr, tmp_line, NULL);
+ src_ptr = tmp_line + (region_x * pack_offset);
 
-  for (i = 0; i < h; i++)
-{
-   png_read_row(png_ptr, tmp_line, NULL);
-   src_ptr2 = (DATA32 *) (tmp_line + region_x * 
pack_offset);
+ //The first pixel, of the first line
+ for (k = 0; k < (int) pack_offset; k++)
+   dst_ptr[k] = src_ptr[k];
 
-   for (j = 0; j < w; j++)
- {
-*dst_ptr = *src_ptr2;
-++dst_ptr;
-src_ptr2 += scale_ratio;
- }
-   for (j = 0; j < (scale_ratio - 1); j++)
- png_read_row(png_ptr, tmp_line, NULL);
+ dst_ptr += pack_offset;
+ src_ptr += (scale_ratio * pack_offset);
+
+ for (j = 1; j < w; j++)
+   {
+  //rgba
+  interp_buf[0] = 0;
+  interp_buf[1] = 0;
+  interp_buf[2] = 0;
+  interp_buf[3] = 0;
+
+  //horizontal interpolation.
+  for (p = 0; p < scale_ratio; p++)
+{
+   for (k = 0; k < (int) pack_offset; k++)
+ interp_buf[k] += src_ptr[k - (int)(p * pack_offset)];
 }
+  for (k = 0; k < (int) pack_offset; k++)
+dst_ptr[k] = (interp_buf[k] / scale_ratio);
+
+  dst_ptr += pack_offset;
+  src_ptr += (scale_ratio * pack_offset);
}
- else
+
+ //next lines

[EGIT] [core/efl] master 01/01: efl_ui_textpath: remove err log in none error case.

2019-05-07 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=6d78454142d371520f850f69782c690f9fbc735b

commit 6d78454142d371520f850f69782c690f9fbc735b
Author: Hermet Park 
Date:   Tue May 7 17:34:12 2019 +0900

efl_ui_textpath: remove err log in none error case.
---
 src/lib/elementary/efl_ui_textpath.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/src/lib/elementary/efl_ui_textpath.c 
b/src/lib/elementary/efl_ui_textpath.c
index 679a68a38a..2e4eff536f 100644
--- a/src/lib/elementary/efl_ui_textpath.c
+++ b/src/lib/elementary/efl_ui_textpath.c
@@ -690,10 +690,7 @@ _efl_ui_textpath_circle_set(Eo *obj, Efl_Ui_Textpath_Data 
*pd, double x, double
pd->circle.start_angle == start_angle &&
pd->direction == direction &&
_map_point_calc(pd) > 0)
- {
-ERR("Same circle");
 return;
- }
pd->circle.x = x;
pd->circle.y = y;
pd->circle.radius = radius;

-- 




[EGIT] [core/efl] master 01/01: Revert "evas png: apply interpolation when scale down image loading."

2019-05-02 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=ebd8b21d300b9702a96f3db9677c1548270e6f65

commit ebd8b21d300b9702a96f3db9677c1548270e6f65
Author: Hermet Park 
Date:   Thu May 2 20:19:24 2019 +0900

Revert "evas png: apply interpolation when scale down image loading."

This reverts commit 53cdf850ba0f10a4a4db3e3c7f7cf1742ca88db1.

It's still on reviewing, I didn't intend submitting.
---
 src/examples/evas/Makefile.examples|   1 -
 src/examples/evas/evas-images6.c   |  98 
 src/examples/evas/meson.build  |   1 -
 src/examples/evas/resources/images/scale_down.png  | Bin 1650468 -> 0 bytes
 .../evas/image_loaders/png/evas_image_load_png.c   |  99 +++--
 5 files changed, 31 insertions(+), 168 deletions(-)

diff --git a/src/examples/evas/Makefile.examples 
b/src/examples/evas/Makefile.examples
index 7e3f7c2dd3..48173f91b6 100644
--- a/src/examples/evas/Makefile.examples
+++ b/src/examples/evas/Makefile.examples
@@ -16,7 +16,6 @@ EXAMPLES= evas-aspect-hints \
   evas-images3 \
   evas-images4 \
   evas-images5 \
-  evas-images6 \
   evas-init-shutdown \
   evas-map-utils \
   evas-object-manipulation \
diff --git a/src/examples/evas/evas-images6.c b/src/examples/evas/evas-images6.c
deleted file mode 100644
index ac09b4486e..00
--- a/src/examples/evas/evas-images6.c
+++ /dev/null
@@ -1,98 +0,0 @@
-/**
- * Example of handling events for image objects in Evas.
- *
- * You'll need at least one engine built for it (excluding the buffer
- * one) and the png image loader/saver also built. See stdout/stderr
- * for output.
- *
- * @verbatim
- * gcc -o evas-images6 evas-images6.c `pkg-config --libs --cflags evas ecore 
ecore-evas`
- * @endverbatim
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#else
-#define PACKAGE_EXAMPLES_DIR "."
-#endif
-
-#include 
-#include 
-#include 
-#include 
-#include "evas-common.h"
-
-#define WIDTH  (960)
-#define HEIGHT (540)
-
-static const char *img_path = PACKAGE_EXAMPLES_DIR EVAS_IMAGE_FOLDER 
"/scale_down.png";
-
-struct test_data
-{
-   Ecore_Evas  *ee;
-   Evas*evas;
-   Evas_Object *bg, *img;
-};
-
-static struct test_data d = {0};
-
-
-static void
-_on_destroy(Ecore_Evas *ee EINA_UNUSED)
-{
-   ecore_main_loop_quit();
-}
-
-/* Keep the example's window size in sync with the background image's size */
-static void
-_canvas_resize_cb(Ecore_Evas *ee)
-{
-   int w, h;
-
-   ecore_evas_geometry_get(ee, NULL, NULL, , );
-   evas_object_resize(d.bg, w, h);
-}
-
-int
-main(void)
-{
-   if (!ecore_evas_init())
- return EXIT_FAILURE;
-
-   /* this will give you a window with an Evas canvas under the first
-* engine available */
-   d.ee = ecore_evas_new(NULL, 10, 10, WIDTH, HEIGHT, NULL);
-   if (!d.ee)
- goto error;
-
-   ecore_evas_callback_destroy_set(d.ee, _on_destroy);
-   ecore_evas_callback_resize_set(d.ee, _canvas_resize_cb);
-   ecore_evas_show(d.ee);
-
-   /* the canvas pointer, de facto */
-   d.evas = ecore_evas_get(d.ee);
-
-   d.bg = evas_object_rectangle_add(d.evas);
-   evas_object_color_set(d.bg, 255, 255, 255, 255); /* white bg */
-   evas_object_move(d.bg, 0, 0); /* at canvas' origin */
-   evas_object_resize(d.bg, WIDTH, HEIGHT); /* covers full canvas */
-   evas_object_show(d.bg);
-
-   d.img = evas_object_image_filled_add(d.evas);
-   evas_object_image_file_set(d.img, img_path, NULL);
-   evas_object_image_load_scale_down_set(d.img, 2);
-   evas_object_resize(d.img, WIDTH, HEIGHT);
-   evas_object_show(d.img);
-
-   ecore_main_loop_begin();
-
-   ecore_evas_free(d.ee);
-   ecore_evas_shutdown();
-   return 0;
-
-error:
-   fprintf(stderr, "error: Requires at least one Evas engine built and linked"
-   " to ecore-evas for this example to run properly.\n");
-   ecore_evas_shutdown();
-   return -1;
-}
diff --git a/src/examples/evas/meson.build b/src/examples/evas/meson.build
index 9a9bd1fe2f..34c8bd3463 100644
--- a/src/examples/evas/meson.build
+++ b/src/examples/evas/meson.build
@@ -29,7 +29,6 @@ examples = [
   'evas-images3',
   'evas-images4',
   'evas-images5',
-  'evas-images6',
   'evas-images',
   'evas-init-shutdown',
   'evas-map-aa',
diff --git a/src/examples/evas/resources/images/scale_down.png 
b/src/examples/evas/resources/images/scale_down.png
deleted file mode 100644
index ff4bdc4b81..00
Binary files a/src/examples/evas/resources/images/scale_down.png and /dev/null 
differ
diff --git a/src/modules/evas/image_loaders/png/evas_image_load_png.c 
b/src/modules/evas/image_loaders/png/evas_image_load_png.c
index 2cc0f52242..9e47d0dc98 100644
--- a/src/modules/evas/image_loaders/png/evas_image_load_png.c
+++ b/src/modules/evas/image_loaders/png/evas_image_load_png.c
@@ -230,6 +230,7 @@ evas_image_load_file_data_png(void *loade

[EGIT] [core/efl] master 01/02: evas png: apply interpolation when scale down image loading.

2019-05-02 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=53cdf850ba0f10a4a4db3e3c7f7cf1742ca88db1

commit 53cdf850ba0f10a4a4db3e3c7f7cf1742ca88db1
Author: Hermet Park 
Date:   Thu May 2 16:42:25 2019 +0900

evas png: apply interpolation when scale down image loading.

Summary:
This patch improves png quality when image uses scale-down at image loading.

Since current scale-down logic just works like point sampling,
image result could be wholely different,

Simply, if source data is consist of continous white and black pixels,
and scale down factor is 2, the sampled data would be only white,
and lose all black pixels, or vice versa.

The result can be unexpected by users.
Even current jpeg scale-down works with interpolation.

Before:
{F3711651}

After:
{F3711652}

Original:
{F3711653}

Reviewers: cedric, raster, #committers, kimcinoo, jsuya

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8788
---
 src/examples/evas/Makefile.examples|   1 +
 src/examples/evas/evas-images6.c   |  98 
 src/examples/evas/meson.build  |   1 +
 src/examples/evas/resources/images/scale_down.png  | Bin 0 -> 1650468 bytes
 .../evas/image_loaders/png/evas_image_load_png.c   |  99 ++---
 5 files changed, 168 insertions(+), 31 deletions(-)

diff --git a/src/examples/evas/Makefile.examples 
b/src/examples/evas/Makefile.examples
index 48173f91b6..7e3f7c2dd3 100644
--- a/src/examples/evas/Makefile.examples
+++ b/src/examples/evas/Makefile.examples
@@ -16,6 +16,7 @@ EXAMPLES= evas-aspect-hints \
   evas-images3 \
   evas-images4 \
   evas-images5 \
+  evas-images6 \
   evas-init-shutdown \
   evas-map-utils \
   evas-object-manipulation \
diff --git a/src/examples/evas/evas-images6.c b/src/examples/evas/evas-images6.c
new file mode 100644
index 00..ac09b4486e
--- /dev/null
+++ b/src/examples/evas/evas-images6.c
@@ -0,0 +1,98 @@
+/**
+ * Example of handling events for image objects in Evas.
+ *
+ * You'll need at least one engine built for it (excluding the buffer
+ * one) and the png image loader/saver also built. See stdout/stderr
+ * for output.
+ *
+ * @verbatim
+ * gcc -o evas-images6 evas-images6.c `pkg-config --libs --cflags evas ecore 
ecore-evas`
+ * @endverbatim
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#else
+#define PACKAGE_EXAMPLES_DIR "."
+#endif
+
+#include 
+#include 
+#include 
+#include 
+#include "evas-common.h"
+
+#define WIDTH  (960)
+#define HEIGHT (540)
+
+static const char *img_path = PACKAGE_EXAMPLES_DIR EVAS_IMAGE_FOLDER 
"/scale_down.png";
+
+struct test_data
+{
+   Ecore_Evas  *ee;
+   Evas*evas;
+   Evas_Object *bg, *img;
+};
+
+static struct test_data d = {0};
+
+
+static void
+_on_destroy(Ecore_Evas *ee EINA_UNUSED)
+{
+   ecore_main_loop_quit();
+}
+
+/* Keep the example's window size in sync with the background image's size */
+static void
+_canvas_resize_cb(Ecore_Evas *ee)
+{
+   int w, h;
+
+   ecore_evas_geometry_get(ee, NULL, NULL, , );
+   evas_object_resize(d.bg, w, h);
+}
+
+int
+main(void)
+{
+   if (!ecore_evas_init())
+ return EXIT_FAILURE;
+
+   /* this will give you a window with an Evas canvas under the first
+* engine available */
+   d.ee = ecore_evas_new(NULL, 10, 10, WIDTH, HEIGHT, NULL);
+   if (!d.ee)
+ goto error;
+
+   ecore_evas_callback_destroy_set(d.ee, _on_destroy);
+   ecore_evas_callback_resize_set(d.ee, _canvas_resize_cb);
+   ecore_evas_show(d.ee);
+
+   /* the canvas pointer, de facto */
+   d.evas = ecore_evas_get(d.ee);
+
+   d.bg = evas_object_rectangle_add(d.evas);
+   evas_object_color_set(d.bg, 255, 255, 255, 255); /* white bg */
+   evas_object_move(d.bg, 0, 0); /* at canvas' origin */
+   evas_object_resize(d.bg, WIDTH, HEIGHT); /* covers full canvas */
+   evas_object_show(d.bg);
+
+   d.img = evas_object_image_filled_add(d.evas);
+   evas_object_image_file_set(d.img, img_path, NULL);
+   evas_object_image_load_scale_down_set(d.img, 2);
+   evas_object_resize(d.img, WIDTH, HEIGHT);
+   evas_object_show(d.img);
+
+   ecore_main_loop_begin();
+
+   ecore_evas_free(d.ee);
+   ecore_evas_shutdown();
+   return 0;
+
+error:
+   fprintf(stderr, "error: Requires at least one Evas engine built and linked"
+   " to ecore-evas for this example to run properly.\n");
+   ecore_evas_shutdown();
+   return -1;
+}
diff --git a/src/examples/evas/meson.build b/src/examples/evas/meson.build
index 34c8bd3463..9a9bd1fe2f 100644
--- a/src/examples/evas/meson.build
+++ b/src/examples/evas/meson.build
@@ -29,6 +29,7 @@ examples = [
   'evas-images3',
   'evas-images4',
   'evas-images5',
+  'evas-images6',
  

[EGIT] [core/efl] master 02/02: edje doc: fix corrupted grouping.

2019-05-02 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=53455d8352f98881ee3790b19627368b2d3454f0

commit 53455d8352f98881ee3790b19627368b2d3454f0
Author: Hermet Park 
Date:   Thu May 2 18:37:38 2019 +0900

edje doc: fix corrupted grouping.

there were some corrupted pair of group scopes,
Edje class size, text were under the both Edje Object and Edje Part
Edje Communication Interface Message, Edje Perspective were wrongly same.
Swallow, Box, Tabe were under the Edje Text Part.

This fixes all of them.
---
 src/lib/edje/Edje_Common.h | 807 +++--
 src/lib/edje/Edje_Legacy.h | 111 +++
 2 files changed, 456 insertions(+), 462 deletions(-)

diff --git a/src/lib/edje/Edje_Common.h b/src/lib/edje/Edje_Common.h
index 66b8216dda..aa6b66267f 100644
--- a/src/lib/edje/Edje_Common.h
+++ b/src/lib/edje/Edje_Common.h
@@ -80,6 +80,39 @@ struct _Edje_Size_Class
Evas_Coordmaxh;
 };
 
+/**
+ * @defgroup Edje_Object_Communication_Interface_Message Edje Communication 
Interface: Message
+ * @ingroup Edje_Object_Group
+ *
+ * @brief Functions that deal with messages.
+ *
+ * Edje has two communication interfaces between @b code and @b theme.
+ * Signals and messages.
+ *
+ * Edje messages are one of the communication interfaces between
+ * @b code and a given Edje object's @b theme. With messages, one can
+ * communicate values like strings, float numbers and integer
+ * numbers. Moreover, messages can be identified by integer
+ * numbers. See #Edje_Message_Type for the full list of message types.
+ *
+ * @note Messages must be handled by scripts.
+ *
+ * @{
+ */
+
+/**
+ * @brief Processes all queued up edje messages.
+ *
+ * This function triggers the processing of messages addressed to any
+ * (alive) edje objects.
+ *
+ */
+EAPI void edje_message_signal_process (void);
+
+/**
+ * @}
+ */
+
 /**
  * @defgroup Edje_Object_Communication_Interface_Signal Edje Communication 
Interface: Signal
  * @ingroup Edje_Object_Group
@@ -112,6 +145,98 @@ typedef Efl_Signal_Cb Edje_Signal_Cb;
  */
 EAPI void *   edje_object_signal_callback_extra_data_get(void);
 
+
+#ifdef EFL_BETA_API_SUPPORT
+/**
+ * @brief Gets seat data passed to callbacks.
+ *
+ * @return The seat data for that callback.
+ *
+ * When a callback is initiated by an input event from a seat, we try to
+ * provide seat information with it.
+ *
+ * Signals fired as programmed responses to these signals will also try
+ * to carry the seat data along.
+ *
+ * This returns an opaque pointer to the seat data.
+ *
+ * @see edje_object_signal_callback_add() for more on Edje signals.
+ * @since 1.21
+ */
+EAPI void *edje_object_signal_callback_seat_data_get(void);
+#endif
+
+
+
+/**
+ * @}
+ */
+
+/**
+ * @defgroup Edje_Audio Edje Audio
+ * @ingroup Edje
+ *
+ * @brief Functions to manipulate audio abilities in edje.
+ *
+ * Perspective is a graphical tool that makes objects represented in 2D
+ * look like they have a 3D appearance.
+ *
+ * Edje allows us to use perspective on any edje object. This group of
+ * functions deal with the use of perspective, by creating and configuring
+ * a perspective object that must set to a edje object or a canvas,
+ * affecting all the objects inside that have no particular perspective
+ * set already.
+ *
+ * @{
+ */
+
+/**
+ * Identifiers of Edje message types, which can be sent back and forth
+ * code and a given Edje object's theme file/group.
+ *
+ * @see edje_audio_channel_mute_set()
+ * @see edje_audio_channel_mute_get()
+ *
+ * @since 1.9
+ */
+typedef enum _Edje_Channel
+{
+   EDJE_CHANNEL_EFFECT = 0, /**< Standard audio effects */
+   EDJE_CHANNEL_BACKGROUND = 1, /**< Background audio sounds  */
+   EDJE_CHANNEL_MUSIC = 2, /**< Music audio */
+   EDJE_CHANNEL_FOREGROUND = 3, /**< Foreground audio sounds */
+   EDJE_CHANNEL_INTERFACE = 4, /**< Sounds related to the interface */
+   EDJE_CHANNEL_INPUT = 5, /**< Sounds related to regular input */
+   EDJE_CHANNEL_ALERT = 6, /**< Sounds for major alerts */
+   EDJE_CHANNEL_ALL = 7 /**< All audio channels (convenience) */
+} Edje_Channel;
+
+/**
+ * @brief Sets the mute state of audio for the process as a whole.
+ *
+ * @param channel The channel to set the mute state of
+ * @param mute The mute state
+ *
+ * This sets the mute (no output) state of audio for the given channel.
+ *
+ * @see edje_audio_channel_mute_get()
+ *
+ * @since 1.9
+ */
+EAPI void edje_audio_channel_mute_set(Edje_Channel channel, Eina_Bool mute);
+
+/**
+ * @brief Gets the mute state of the given channel.
+ *
+ * @param channel The channel to get the mute state of
+ * @return The mute state of the channel
+ *
+ * @see edje_audio_channel_mute_set()
+ *
+ * @since 1.9
+ */
+EAPI Eina_Bool edje_audio_channel_mute_get(Edje_Channel channel);
+
 /**
  * @}
  */
@@ -917,6 +1042,48 @@ EAPI const Edje_External_Type   
*edje_external_type

[EGIT] [core/efl] efl-1.22 72/84: evas png loader: optimize scale down logic.

2019-05-01 Thread Hermet Park
zmike pushed a commit to branch efl-1.22.

http://git.enlightenment.org/core/efl.git/commit/?id=b04569f93a2e4afb262ce758c0a37e2a9a6f5b27

commit b04569f93a2e4afb262ce758c0a37e2a9a6f5b27
Author: Hermet Park 
Date:   Mon Apr 29 19:55:38 2019 +0900

evas png loader: optimize scale down logic.

Previously, mannual scale down logic was too primitive,
it copied pixel data each channels. Obviously, it's ineffective.

We know the general case - 4 bytes channel which is the most usage,
If loader copies data per four bytes, instructions could be reduced.

When I load scale-downed image(original 8k), about 0.02 secs was reduced by 
this.
---
 .../evas/image_loaders/png/evas_image_load_png.c   | 88 +-
 1 file changed, 69 insertions(+), 19 deletions(-)

diff --git a/src/modules/evas/image_loaders/png/evas_image_load_png.c 
b/src/modules/evas/image_loaders/png/evas_image_load_png.c
index e7ac88bdd3..9e47d0dc98 100644
--- a/src/modules/evas/image_loaders/png/evas_image_load_png.c
+++ b/src/modules/evas/image_loaders/png/evas_image_load_png.c
@@ -223,7 +223,7 @@ static Eina_Bool
 evas_image_load_file_data_png(void *loader_data,
   Evas_Image_Property *prop,
   void *pixels,
- int *error)
+  int *error)
 {
Evas_Loader_Internal *loader = loader_data;
Evas_Image_Load_Opts *opts;
@@ -395,9 +395,8 @@ evas_image_load_file_data_png(void *loader_data,
  }
else
  {
-unsigned char *src_ptr, *dst_ptr;
+unsigned char *src_ptr;
 int skip_row = 0, region_x = 0, region_y = 0;
-dst_ptr = surface;
 
 if (region_set)
   {
@@ -412,20 +411,49 @@ evas_image_load_file_data_png(void *loader_data,
  for (skip_row = 0; skip_row < region_y; skip_row++)
png_read_row(png_ptr, tmp_line, NULL);
 
- for (i = 0; i < h; i++)
+ //general case: 4 bytes pixel.
+ if (pack_offset == sizeof(DATA32))
{
-  png_read_row(png_ptr, tmp_line, NULL);
-  src_ptr = tmp_line + region_x * pack_offset;
-  for (j = 0; j < w; j++)
+  DATA32 *dst_ptr = (DATA32 *) surface;
+  DATA32 *src_ptr2;
+
+  for (i = 0; i < h; i++)
 {
-   for (k = 0; k < (int)pack_offset; k++)
- dst_ptr[k] = src_ptr[k];
-   dst_ptr += pack_offset;
-   src_ptr += scale_ratio * pack_offset;
+   png_read_row(png_ptr, tmp_line, NULL);
+   src_ptr2 = (DATA32 *) (tmp_line + region_x * 
pack_offset);
+
+   for (j = 0; j < w; j++)
+ {
+*dst_ptr = *src_ptr2;
+++dst_ptr;
+src_ptr2 += scale_ratio;
+ }
+   for (j = 0; j < (scale_ratio - 1); j++)
+ png_read_row(png_ptr, tmp_line, NULL);
+}
+   }
+ else
+   {
+  unsigned char *dst_ptr = surface;
+
+  for (i = 0; i < h; i++)
+{
+   png_read_row(png_ptr, tmp_line, NULL);
+   src_ptr = tmp_line + region_x * pack_offset;
+
+   for (j = 0; j < w; j++)
+ {
+for (k = 0; k < (int) pack_offset; k++)
+  dst_ptr[k] = src_ptr[k];
+
+dst_ptr += pack_offset;
+src_ptr += scale_ratio * pack_offset;
+ }
+   for (j = 0; j < (scale_ratio - 1); j++)
+ png_read_row(png_ptr, tmp_line, NULL);
 }
-  for (j = 0; j < (scale_ratio - 1); j++)
-png_read_row(png_ptr, tmp_line, NULL);
}
+
  for (skip_row = region_y + h * scale_ratio; skip_row < image_h; 
skip_row++)
png_read_row(png_ptr, tmp_line, NULL);
   }
@@ -443,15 +471,37 @@ evas_image_load_file_data_png(void *loader_data,
 
   src_ptr = pixels2 + (region_y * image_w * pack_offset) + 
region_x * pack_offset;
 
-  for (i = 0; i < h; i++)
+  //general case: 4 bytes pixel.
+  if (pack_offset == sizeof(DATA32))
 {
-   for (j = 0; j < w; j++)
+   DATA32 *dst_ptr = (DATA32 *) surface;
+   DATA32 *src_ptr2 = (DATA32 *) src_ptr;
+
+   for (i = 0; i < h; i++)
  {
-   

[EGIT] [core/efl] efl-1.22 06/84: evas common: small optimization.

2019-05-01 Thread Hermet Park
zmike pushed a commit to branch efl-1.22.

http://git.enlightenment.org/core/efl.git/commit/?id=d7967b8395f556fa54dfe9bab8b2e83862de8204

commit d7967b8395f556fa54dfe9bab8b2e83862de8204
Author: Hermet Park 
Date:   Thu Apr 18 18:51:16 2019 +0900

evas common: small optimization.

don't repeat computing every iteration.
---
 src/lib/evas/common/evas_convert_yuv.c | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/lib/evas/common/evas_convert_yuv.c 
b/src/lib/evas/common/evas_convert_yuv.c
index d199ec5aa5..ee753d1961 100644
--- a/src/lib/evas/common/evas_convert_yuv.c
+++ b/src/lib/evas/common/evas_convert_yuv.c
@@ -1622,9 +1622,10 @@ _evas_nv12torgb_raster(unsigned char **yuv, unsigned 
char *rgb, int w, int h)
unsigned char *yp1, *yp2, *up, *vp;
unsigned char *dp1;
unsigned char *dp2;
+   int stride = sizeof(DATA32) * w;
 
dp1 = rgb;
-   dp2 = dp1 + sizeof (int) * w;
+   dp2 = dp1 + stride;
 
for (yy = 0; yy < h; yy++)
  {
@@ -1646,8 +1647,8 @@ _evas_nv12torgb_raster(unsigned char **yuv, unsigned char 
*rgb, int w, int h)
   }
 
 /* jump one line */
-dp1 += sizeof (int) * w;
-dp2 += sizeof (int) * w;
+dp1 += stride;
+dp2 += stride;
  }
 }
 

-- 




[EGIT] [core/efl] efl-1.22 07/84: canvas map: remove the workaround code.

2019-05-01 Thread Hermet Park
zmike pushed a commit to branch efl-1.22.

http://git.enlightenment.org/core/efl.git/commit/?id=6df5d038dcf009ceb48cd5e39bb7d698c3474a05

commit 6df5d038dcf009ceb48cd5e39bb7d698c3474a05
Author: Hermet Park 
Date:   Thu Apr 18 19:21:18 2019 +0900

canvas map: remove the workaround code.

Summary:
the perspective could be handled in the gl backend,
Here map coordinates don't need to get perspective ones but
local coordinates instead as it does same to integer coordinates.

I have no idea origin issues exactly,
but this changed fx, fy values are working correctly in client side.

Reviewers: devilhorns, #committers

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8563
---
 src/lib/evas/canvas/evas_map.c | 8 ++--
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/src/lib/evas/canvas/evas_map.c b/src/lib/evas/canvas/evas_map.c
index e633ccd883..1f576fcf84 100644
--- a/src/lib/evas/canvas/evas_map.c
+++ b/src/lib/evas/canvas/evas_map.c
@@ -1381,12 +1381,8 @@ evas_object_map_update(Evas_Object *eo_obj,
 pt->x = (lround(p->x) + x) * FP1;
 pt->y = (lround(p->y) + y) * FP1;
 pt->z = (lround(p->z)) * FP1;
-/* FIXME: Adding the framespace is a workaround for a bug on the EGL
- * wayland backend, which does not affect other ports. Remove this when
- * it is correctly handled inside the GL rendering code, which handles
- * maps with perspective set. */
-pt->fx = p->px + obj->layer->evas->framespace.x;
-pt->fy = p->py + obj->layer->evas->framespace.y;
+pt->fx = p->x + (float) x;
+pt->fy = p->y + (float) y;
 pt->fz = p->z;
 if ((uvw == 0) || (imagew == 0)) pt->u = 0;
 else pt->u = ((lround(p->u) * imagew) / uvw) * FP1;

-- 




[EGIT] [core/efl] efl-1.22 44/84: evas wbmp: fix wrong calc order.

2019-05-01 Thread Hermet Park
zmike pushed a commit to branch efl-1.22.

http://git.enlightenment.org/core/efl.git/commit/?id=1fc732a1ecf5c3d7161d2b59c95793cbe99304b6

commit 1fc732a1ecf5c3d7161d2b59c95793cbe99304b6
Author: Hermet Park 
Date:   Wed Apr 24 14:01:06 2019 +0900

evas wbmp: fix wrong calc order.

Double check patch again, since my wrong logical thinking,
Every width must be considered to rounding up fiting 8 bits.
this new compuation must be correct.
---
 src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c 
b/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c
index 181b14fa90..4a3ae77a32 100644
--- a/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c
+++ b/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c
@@ -76,7 +76,7 @@ evas_image_load_file_head_wbmp(void *loader_data,
 
/* Wbmp header identifier is too weak
   Here checks size validation whether it's acutal wbmp or not. */
-   if w * h) + 7) >> 3) + position != length)
+   if w + 7) >> 3) * h) + position != length)
  {
 *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
 goto bail;
@@ -138,7 +138,7 @@ evas_image_load_file_data_wbmp(void *loader_data,
 
/* Wbmp header identifier is too weak
   Here checks size validation whether it's acutal wbmp or not. */
-   if w * h) + 7) >> 3) + position != length)
+   if w + 7) >> 3) * h) + position != length)
  {
 *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
 goto bail;

-- 




[EGIT] [core/efl] efl-1.22 48/84: evas x: code refactoring.

2019-05-01 Thread Hermet Park
zmike pushed a commit to branch efl-1.22.

http://git.enlightenment.org/core/efl.git/commit/?id=77fc0d9b83658755cf454babaaee6449d3c09b23

commit 77fc0d9b83658755cf454babaaee6449d3c09b23
Author: Hermet Park 
Date:   Wed Apr 24 16:39:23 2019 +0900

evas x: code refactoring.

keep simple code as possible.
---
 src/modules/evas/engines/gl_x11/evas_x_main.c | 12 ++--
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/src/modules/evas/engines/gl_x11/evas_x_main.c 
b/src/modules/evas/engines/gl_x11/evas_x_main.c
index 3996f510d0..5b8282c31f 100644
--- a/src/modules/evas/engines/gl_x11/evas_x_main.c
+++ b/src/modules/evas/engines/gl_x11/evas_x_main.c
@@ -971,16 +971,8 @@ try_again:
config_attrs[n++] = 1;
// FIXME: end n900 breakage
 # endif
-   if (alpha)
- {
-config_attrs[i++] = EGL_ALPHA_SIZE;
-config_attrs[i++] = 1;
- }
-   else
- {
-config_attrs[i++] = EGL_ALPHA_SIZE;
-config_attrs[i++] = 0;
- }
+   config_attrs[i++] = EGL_ALPHA_SIZE;
+   config_attrs[i++] = (alpha ? 1 : 0);
 
if (depth_bits)
  {

-- 




[EGIT] [core/efl] efl-1.22 42/84: Revert "evas-wbmp: revert previous two patches"

2019-05-01 Thread Hermet Park
zmike pushed a commit to branch efl-1.22.

http://git.enlightenment.org/core/efl.git/commit/?id=50ed660f2787774fa5d3c187629f6269c97a7ee7

commit 50ed660f2787774fa5d3c187629f6269c97a7ee7
Author: Hermet Park 
Date:   Wed Apr 24 10:10:36 2019 +0900

Revert "evas-wbmp: revert previous two patches"

This reverts commit 0ebf41c003ea89f10c45ae7a2e53c68302c05103.
---
 .../evas/image_loaders/wbmp/evas_image_load_wbmp.c  | 21 +++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c 
b/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c
index 633afe9567..7f56da6d02 100644
--- a/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c
+++ b/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c
@@ -73,6 +73,15 @@ evas_image_load_file_head_wbmp(void *loader_data,
position++; /* skipping one byte */
if (read_mb(, map, length, ) < 0) goto bail;
if (read_mb(, map, length, ) < 0) goto bail;
+
+   /* Wbmp header identifier is too weak
+  Here checks size validation whether it's acutal wbmp or not. */
+   if (((w * h) >> 3) + position != length)
+ {
+*error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
+goto bail;
+ }
+
if ((w < 1) || (h < 1) || (w > IMG_MAX_SIZE) || (h > IMG_MAX_SIZE) ||
IMG_TOO_BIG(w, h))
  {
@@ -116,11 +125,20 @@ evas_image_load_file_data_wbmp(void *loader_data,
if (!map) goto bail;
 
if (read_mb(, map, length, ) < 0) goto bail;
+
+   if (type != 0)
+ {
+*error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
+goto bail;
+ }
+
position++; /* skipping one byte */
if (read_mb(, map, length, ) < 0) goto bail;
if (read_mb(, map, length, ) < 0) goto bail;
 
-   if (type != 0)
+   /* Wbmp header identifier is too weak
+  Here checks size validation whether it's acutal wbmp or not. */
+   if (((w * h) >> 3) + position != length)
  {
 *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
 goto bail;
@@ -145,7 +163,6 @@ evas_image_load_file_data_wbmp(void *loader_data,
 
for (y = 0; y < (int)prop->h; y++)
  {
-if (position + line_length > length) goto bail;
 line = ((unsigned char*) map) + position;
 position += line_length;
 for (x = 0; x < (int)prop->w; x++)

-- 




[EGIT] [core/efl] efl-1.22 43/84: evas wbmp loader: coming previous patch with fixing wrong calc.

2019-05-01 Thread Hermet Park
zmike pushed a commit to branch efl-1.22.

http://git.enlightenment.org/core/efl.git/commit/?id=c32e0e2ff3751e1694659b468af4a7cbb24fd857

commit c32e0e2ff3751e1694659b468af4a7cbb24fd857
Author: Hermet Park 
Date:   Wed Apr 24 10:18:57 2019 +0900

evas wbmp loader: coming previous patch with fixing wrong calc.

Those bits must be rounded if they are not fit to 8 bits.

see: 68fe9ec6bf60b4730ad7fdbf2698dc7aa130b94d
---
 src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c 
b/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c
index 7f56da6d02..181b14fa90 100644
--- a/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c
+++ b/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c
@@ -76,7 +76,7 @@ evas_image_load_file_head_wbmp(void *loader_data,
 
/* Wbmp header identifier is too weak
   Here checks size validation whether it's acutal wbmp or not. */
-   if (((w * h) >> 3) + position != length)
+   if w * h) + 7) >> 3) + position != length)
  {
 *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
 goto bail;
@@ -138,7 +138,7 @@ evas_image_load_file_data_wbmp(void *loader_data,
 
/* Wbmp header identifier is too weak
   Here checks size validation whether it's acutal wbmp or not. */
-   if (((w * h) >> 3) + position != length)
+   if w * h) + 7) >> 3) + position != length)
  {
 *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
 goto bail;

-- 




[EGIT] [core/efl] master 01/01: evas engine: convert data without any possible loss.

2019-04-30 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=0fda181e0aab862522ca7b9c145dd08b692b4662

commit 0fda181e0aab862522ca7b9c145dd08b692b4662
Author: Hermet Park 
Date:   Tue Apr 30 17:13:32 2019 +0900

evas engine: convert data without any possible loss.
---
 src/modules/evas/engines/gl_x11/evas_x_main.c   | 2 +-
 src/modules/evas/engines/wayland_egl/evas_wl_main.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/modules/evas/engines/gl_x11/evas_x_main.c 
b/src/modules/evas/engines/gl_x11/evas_x_main.c
index 2d621fcda5..6bf74af556 100644
--- a/src/modules/evas/engines/gl_x11/evas_x_main.c
+++ b/src/modules/evas/engines/gl_x11/evas_x_main.c
@@ -632,7 +632,7 @@ try_gles2:
glXGetFBConfigAttrib(gw->disp, evis->config, GLX_FBCONFIG_ID, 
>gl_context->glxcfg_rgb);
glXGetFBConfigAttrib(gw->disp, evis2->config, GLX_FBCONFIG_ID, 
>gl_context->glxcfg_rgba);
 #endif
-   gw->gl_context->msaa = (Eina_Bool) msaa_bits;
+   gw->gl_context->msaa = (Eina_Bool) !!msaa_bits;
eng_window_use(gw);
glsym_evas_gl_common_context_resize(gw->gl_context, w, h, rot);
gw->surf = 1;
diff --git a/src/modules/evas/engines/wayland_egl/evas_wl_main.c 
b/src/modules/evas/engines/wayland_egl/evas_wl_main.c
index cf0d627ca8..ff78e72cca 100644
--- a/src/modules/evas/engines/wayland_egl/evas_wl_main.c
+++ b/src/modules/evas/engines/wayland_egl/evas_wl_main.c
@@ -212,7 +212,7 @@ try_again:
  }
if (w && h)
  eng_window_resurf(gw);
-   gw->gl_context->msaa = (Eina_Bool) gw->msaa_bits;
+   gw->gl_context->msaa = (Eina_Bool) !!gw->msaa_bits;
return gw;
 }
 

-- 




[EGIT] [core/efl] master 01/01: evas png loader: optimize scale down logic.

2019-04-29 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=1f438bd1f0b5ef8ef5d5178c6be8c70b66b84393

commit 1f438bd1f0b5ef8ef5d5178c6be8c70b66b84393
Author: Hermet Park 
Date:   Mon Apr 29 19:55:38 2019 +0900

evas png loader: optimize scale down logic.

Previously, mannual scale down logic was too primitive,
it copied pixel data each channels. Obviously, it's ineffective.

We know the general case - 4 bytes channel which is the most usage,
If loader copies data per four bytes, instructions could be reduced.

When I load scale-downed image(original 8k), about 0.02 secs was reduced by 
this.
---
 .../evas/image_loaders/png/evas_image_load_png.c   | 88 +-
 1 file changed, 69 insertions(+), 19 deletions(-)

diff --git a/src/modules/evas/image_loaders/png/evas_image_load_png.c 
b/src/modules/evas/image_loaders/png/evas_image_load_png.c
index e7ac88bdd3..9e47d0dc98 100644
--- a/src/modules/evas/image_loaders/png/evas_image_load_png.c
+++ b/src/modules/evas/image_loaders/png/evas_image_load_png.c
@@ -223,7 +223,7 @@ static Eina_Bool
 evas_image_load_file_data_png(void *loader_data,
   Evas_Image_Property *prop,
   void *pixels,
- int *error)
+  int *error)
 {
Evas_Loader_Internal *loader = loader_data;
Evas_Image_Load_Opts *opts;
@@ -395,9 +395,8 @@ evas_image_load_file_data_png(void *loader_data,
  }
else
  {
-unsigned char *src_ptr, *dst_ptr;
+unsigned char *src_ptr;
 int skip_row = 0, region_x = 0, region_y = 0;
-dst_ptr = surface;
 
 if (region_set)
   {
@@ -412,20 +411,49 @@ evas_image_load_file_data_png(void *loader_data,
  for (skip_row = 0; skip_row < region_y; skip_row++)
png_read_row(png_ptr, tmp_line, NULL);
 
- for (i = 0; i < h; i++)
+ //general case: 4 bytes pixel.
+ if (pack_offset == sizeof(DATA32))
{
-  png_read_row(png_ptr, tmp_line, NULL);
-  src_ptr = tmp_line + region_x * pack_offset;
-  for (j = 0; j < w; j++)
+  DATA32 *dst_ptr = (DATA32 *) surface;
+  DATA32 *src_ptr2;
+
+  for (i = 0; i < h; i++)
 {
-   for (k = 0; k < (int)pack_offset; k++)
- dst_ptr[k] = src_ptr[k];
-   dst_ptr += pack_offset;
-   src_ptr += scale_ratio * pack_offset;
+   png_read_row(png_ptr, tmp_line, NULL);
+   src_ptr2 = (DATA32 *) (tmp_line + region_x * 
pack_offset);
+
+   for (j = 0; j < w; j++)
+ {
+*dst_ptr = *src_ptr2;
+++dst_ptr;
+src_ptr2 += scale_ratio;
+ }
+   for (j = 0; j < (scale_ratio - 1); j++)
+ png_read_row(png_ptr, tmp_line, NULL);
+}
+   }
+ else
+   {
+  unsigned char *dst_ptr = surface;
+
+  for (i = 0; i < h; i++)
+{
+   png_read_row(png_ptr, tmp_line, NULL);
+   src_ptr = tmp_line + region_x * pack_offset;
+
+   for (j = 0; j < w; j++)
+ {
+for (k = 0; k < (int) pack_offset; k++)
+  dst_ptr[k] = src_ptr[k];
+
+dst_ptr += pack_offset;
+src_ptr += scale_ratio * pack_offset;
+ }
+   for (j = 0; j < (scale_ratio - 1); j++)
+ png_read_row(png_ptr, tmp_line, NULL);
 }
-  for (j = 0; j < (scale_ratio - 1); j++)
-png_read_row(png_ptr, tmp_line, NULL);
}
+
  for (skip_row = region_y + h * scale_ratio; skip_row < image_h; 
skip_row++)
png_read_row(png_ptr, tmp_line, NULL);
   }
@@ -443,15 +471,37 @@ evas_image_load_file_data_png(void *loader_data,
 
   src_ptr = pixels2 + (region_y * image_w * pack_offset) + 
region_x * pack_offset;
 
-  for (i = 0; i < h; i++)
+  //general case: 4 bytes pixel.
+  if (pack_offset == sizeof(DATA32))
 {
-   for (j = 0; j < w; j++)
+   DATA32 *dst_ptr = (DATA32 *) surface;
+   DATA32 *src_ptr2 = (DATA32 *) src_ptr;
+
+   for (i = 0; i < h; i++)
  {
-   

[EGIT] [core/efl] master 01/01: evas waylang_egl: flag on msaa to optimize map drawing.

2019-04-26 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=25aec3ba7b25e4f557c684ad4a79e0b616f064c9

commit 25aec3ba7b25e4f557c684ad4a79e0b616f064c9
Author: Hermet Park 
Date:   Fri Apr 26 16:58:52 2019 +0900

evas waylang_egl: flag on msaa to optimize map drawing.

This msaa flag could help map drawing by avoiding unnecessary framebuffer 
mapping.
---
 src/modules/evas/engines/wayland_egl/evas_wl_main.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/modules/evas/engines/wayland_egl/evas_wl_main.c 
b/src/modules/evas/engines/wayland_egl/evas_wl_main.c
index 49b97d3d40..cf0d627ca8 100644
--- a/src/modules/evas/engines/wayland_egl/evas_wl_main.c
+++ b/src/modules/evas/engines/wayland_egl/evas_wl_main.c
@@ -212,6 +212,7 @@ try_again:
  }
if (w && h)
  eng_window_resurf(gw);
+   gw->gl_context->msaa = (Eina_Bool) gw->msaa_bits;
return gw;
 }
 

-- 




[EGIT] [core/efl] master 01/01: ecore_evas wayland: fix a build break.

2019-04-25 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=1c974289e4506a9eb82a7fdcfc147fa870ff34e3

commit 1c974289e4506a9eb82a7fdcfc147fa870ff34e3
Author: Hermet Park 
Date:   Thu Apr 25 18:55:55 2019 +0900

ecore_evas wayland: fix a build break.

Summary: missed changing here.

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8712
---
 src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c
index c722a07ab6..6e644b36f2 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c
@@ -35,6 +35,7 @@ ecore_evas_wayland_shm_new_internal(const char *disp_name, 
Ecore_Window parent,
 
return _ecore_evas_wl_common_new_internal(disp_name, parent,
  x, y, w, h, frame,
+ NULL,
  "wayland_shm");
 }
 

-- 




[EGIT] [core/efl] master 01/01: evas wayland_egl: set up config depth/stencil/msaa properly.

2019-04-25 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=7324164a635a6f0d354d84d9e505e43af52f4691

commit 7324164a635a6f0d354d84d9e505e43af52f4691
Author: Hermet Park 
Date:   Thu Apr 25 18:41:43 2019 +0900

evas wayland_egl: set up config depth/stencil/msaa properly.
---
 .../engines/wayland_common/Evas_Engine_Wayland.h   |  5 ++
 src/modules/evas/engines/wayland_egl/evas_engine.h | 12 ++-
 .../evas/engines/wayland_egl/evas_wl_main.c| 92 --
 3 files changed, 86 insertions(+), 23 deletions(-)

diff --git a/src/modules/evas/engines/wayland_common/Evas_Engine_Wayland.h 
b/src/modules/evas/engines/wayland_common/Evas_Engine_Wayland.h
index 95934e9208..45c0d91821 100644
--- a/src/modules/evas/engines/wayland_common/Evas_Engine_Wayland.h
+++ b/src/modules/evas/engines/wayland_common/Evas_Engine_Wayland.h
@@ -31,6 +31,11 @@ struct _Evas_Engine_Info_Wayland
int x_cursor, y_cursor;
int resizing;
uint32_t timestamp;
+   /* window surface should be made with these config */
+   int depth_bits;
+   int stencil_bits;
+   int msaa_bits;
+
Eina_Bool dragging : 1;
Eina_Bool drag_start : 1;
Eina_Bool drag_stop : 1;
diff --git a/src/modules/evas/engines/wayland_egl/evas_engine.h 
b/src/modules/evas/engines/wayland_egl/evas_engine.h
index 89c39fb3e4..f1d81fbd4e 100644
--- a/src/modules/evas/engines/wayland_egl/evas_engine.h
+++ b/src/modules/evas/engines/wayland_egl/evas_engine.h
@@ -69,7 +69,7 @@ struct _Outbuf
int vsync;
int frame_cnt;
 
-   struct 
+   struct
  {
 Eina_Bool drew : 1;
  } draw;
@@ -79,6 +79,16 @@ struct _Outbuf
EGLConfig egl_config;
EGLDisplay egl_disp;
 
+   struct {
+  unsigned char depth_buffer_size;
+  unsigned char stencil_buffer_size;
+  unsigned char msaa;
+   } detected;
+
+   int depth_bits;
+   int stencil_bits;
+   int msaa_bits;
+
Eina_Bool lost_back : 1;
Eina_Bool surf : 1;
 };
diff --git a/src/modules/evas/engines/wayland_egl/evas_wl_main.c 
b/src/modules/evas/engines/wayland_egl/evas_wl_main.c
index c3f2001c58..49b97d3d40 100644
--- a/src/modules/evas/engines/wayland_egl/evas_wl_main.c
+++ b/src/modules/evas/engines/wayland_egl/evas_wl_main.c
@@ -15,10 +15,11 @@ eng_window_new(Evas_Engine_Info_Wayland *einfo, int w, int 
h, Render_Output_Swap
int context_attrs[3];
int config_attrs[40];
int major_version, minor_version;
-   int num_config, n = 0;
+   int num_config, n;
const GLubyte *vendor, *renderer, *version;
Eina_Bool blacklist = EINA_FALSE;
struct wl_display *wl_disp;
+   int val = 0;
 
/* try to allocate space for our window */
if (!(gw = calloc(1, sizeof(Outbuf
@@ -37,31 +38,14 @@ eng_window_new(Evas_Engine_Info_Wayland *einfo, int w, int 
h, Render_Output_Swap
gw->depth = einfo->info.depth;
gw->alpha = einfo->info.destination_alpha;
gw->rot = einfo->info.rotation;
+   gw->depth_bits = einfo->depth_bits;
+   gw->stencil_bits = einfo->stencil_bits;
+   gw->msaa_bits = einfo->msaa_bits;
 
context_attrs[0] = EGL_CONTEXT_CLIENT_VERSION;
context_attrs[1] = 2;
context_attrs[2] = EGL_NONE;
 
-   config_attrs[n++] = EGL_SURFACE_TYPE;
-   config_attrs[n++] = EGL_WINDOW_BIT;
-   config_attrs[n++] = EGL_RENDERABLE_TYPE;
-   config_attrs[n++] = EGL_OPENGL_ES2_BIT;
-
-   config_attrs[n++] = EGL_RED_SIZE;
-   config_attrs[n++] = 1;
-   config_attrs[n++] = EGL_GREEN_SIZE;
-   config_attrs[n++] = 1;
-   config_attrs[n++] = EGL_BLUE_SIZE;
-   config_attrs[n++] = 1;
-
-   config_attrs[n++] = EGL_ALPHA_SIZE;
-   config_attrs[n++] = 8 * !!gw->alpha;
-   config_attrs[n++] = EGL_DEPTH_SIZE;
-   config_attrs[n++] = 0;
-   config_attrs[n++] = EGL_STENCIL_SIZE;
-   config_attrs[n++] = 0;
-   config_attrs[n++] = EGL_NONE;
-
/* FIXME: Remove this line as soon as eglGetDisplay() autodetection
 * gets fixed. Currently it is incorrectly detecting wl_display and
 * returning _EGL_PLATFORM_X11 instead of _EGL_PLATFORM_WAYLAND.
@@ -91,11 +75,65 @@ eng_window_new(Evas_Engine_Info_Wayland *einfo, int w, int 
h, Render_Output_Swap
 return NULL;
  }
 
+try_again:
+   n = 0;
+   config_attrs[n++] = EGL_SURFACE_TYPE;
+   config_attrs[n++] = EGL_WINDOW_BIT;
+   config_attrs[n++] = EGL_RENDERABLE_TYPE;
+   config_attrs[n++] = EGL_OPENGL_ES2_BIT;
+
+   config_attrs[n++] = EGL_RED_SIZE;
+   config_attrs[n++] = 1;
+   config_attrs[n++] = EGL_GREEN_SIZE;
+   config_attrs[n++] = 1;
+   config_attrs[n++] = EGL_BLUE_SIZE;
+   config_attrs[n++] = 1;
+
+   config_attrs[n++] = EGL_ALPHA_SIZE;
+   config_attrs[n++] = 8 * !!gw->alpha;
+   config_attrs[n++] = EGL_DEPTH_SIZE;
+   config_attrs[n++] = gw->depth_bits;
+   config_attrs[n++] = EGL_STENCIL_SIZE;
+   config_attrs[n++] = gw->stencil_bits;
+   if (gw->msaa_bits > 0)
+ {
+config_attrs[n++] = EGL_SAMPLE_BUFFERS;
+config_attrs[n++] = 1;
+config_attrs[n++] = E

[EGIT] [core/efl] master 01/01: elementry win: support msaa, stencil and depth bits for wayland.

2019-04-25 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=b37e6a4df6d01dc2fd7e96dee3a7c3b4ed4ce78d

commit b37e6a4df6d01dc2fd7e96dee3a7c3b4ed4ce78d
Author: Hermet Park 
Date:   Thu Apr 25 17:25:52 2019 +0900

elementry win: support msaa, stencil and depth bits for wayland.
---
 src/lib/elementary/efl_ui_win.c | 49 +
 1 file changed, 25 insertions(+), 24 deletions(-)

diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 1434ea0ed2..9091e56e73 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -5409,33 +5409,34 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data 
*sd, const char *name, Efl_U
 if (parent) parent_id = elm_win_window_id_get(parent);
 for (i = 0; i < p; i++)
   {
+ int opt[20], opt_i = 0;
+
+ if (_elm_config->vsync)
+   {
+  opt[opt_i++] = ECORE_EVAS_OPT_VSYNC;
+  opt[opt_i++] = 1;
+   }
+ if (gl_depth)
+   {
+  opt[opt_i++] = ECORE_EVAS_OPT_GL_DEPTH;
+  opt[opt_i++] = gl_depth;
+   }
+ if (gl_stencil)
+   {
+  opt[opt_i++] = ECORE_EVAS_OPT_GL_STENCIL;
+  opt[opt_i++] = gl_stencil;
+   }
+ if (gl_msaa)
+   {
+  opt[opt_i++] = ECORE_EVAS_OPT_GL_MSAA;
+  opt[opt_i++] = gl_msaa;
+   }
+ opt[opt_i] = 0;
+
  if (!strcmp(enginelist[i], ELM_SOFTWARE_X11))
tmp_sd.ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, 0, 0);
  else if (!strcmp(enginelist[i], ELM_OPENGL_X11))
{
-  int opt[20], opt_i = 0;
-
-  if (_elm_config->vsync)
-{
-   opt[opt_i++] = ECORE_EVAS_GL_X11_OPT_VSYNC;
-   opt[opt_i++] = 1;
-}
-  if (gl_depth)
-{
-   opt[opt_i++] = ECORE_EVAS_GL_X11_OPT_GL_DEPTH;
-   opt[opt_i++] = gl_depth;
-}
-  if (gl_stencil)
-{
-   opt[opt_i++] = ECORE_EVAS_GL_X11_OPT_GL_STENCIL;
-   opt[opt_i++] = gl_stencil;
-}
-  if (gl_msaa)
-{
-   opt[opt_i++] = ECORE_EVAS_GL_X11_OPT_GL_MSAA;
-   opt[opt_i++] = gl_msaa;
-}
-  opt[opt_i] = 0;
   if (opt_i > 0)
 tmp_sd.ee = ecore_evas_gl_x11_options_new(NULL, 0, 0, 0, 
0, 0, opt);
   else
@@ -5444,7 +5445,7 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, 
const char *name, Efl_U
  else if (!strcmp(enginelist[i], ELM_WAYLAND_SHM))
tmp_sd.ee = _wayland_shm_new(NULL, parent_id, 0, 0, 0, 0, 0);
  else if (!strcmp(enginelist[i], ELM_WAYLAND_EGL))
-   tmp_sd.ee = _wayland_egl_new(NULL, parent_id, 0, 0, 0, 0, 0, 
NULL);
+   tmp_sd.ee = _wayland_egl_new(NULL, parent_id, 0, 0, 0, 0, 0, 
(opt_i > 0) ? opt : NULL);
  else if (!strcmp(enginelist[i], ELM_SOFTWARE_WIN32))
tmp_sd.ee = ecore_evas_software_gdi_new(NULL, 0, 0, 1, 1);
  else if (!strcmp(enginelist[i], ELM_SOFTWARE_DDRAW))

-- 




[EGIT] [core/efl] master 01/01: ecore_evas: generalize option defines.

2019-04-25 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=815535eebe25b5cec95a7ee676d345c4d7c4ff61

commit 815535eebe25b5cec95a7ee676d345c4d7c4ff61
Author: Hermet Park 
Date:   Thu Apr 25 17:08:37 2019 +0900

ecore_evas: generalize option defines.

There some engine option defines could be generalized from the window system
since those options could be used through wayland, x11 both, and probably 
so on.
---
 src/lib/ecore_evas/Ecore_Evas.h | 44 -
 1 file changed, 30 insertions(+), 14 deletions(-)

diff --git a/src/lib/ecore_evas/Ecore_Evas.h b/src/lib/ecore_evas/Ecore_Evas.h
index b9cb439f51..d59900d788 100644
--- a/src/lib/ecore_evas/Ecore_Evas.h
+++ b/src/lib/ecore_evas/Ecore_Evas.h
@@ -133,6 +133,22 @@ typedef enum _Ecore_Evas_Engine_Type
ECORE_EVAS_ENGINE_OPENGL_DRM
 } Ecore_Evas_Engine_Type;
 
+#define ECORE_EVAS_OPT_NONE 0
+#define ECORE_EVAS_OPT_INDIRECT 1
+#define ECORE_EVAS_OPT_VSYNC2
+#define ECORE_EVAS_OPT_SWAP_MODE3
+#define ECORE_EVAS_OPT_GL_DEPTH 4
+#define ECORE_EVAS_OPT_GL_STENCIL   5
+#define ECORE_EVAS_OPT_GL_MSAA  6
+#define ECORE_EVAS_OPT_LAST 7
+
+#define ECORE_EVAS_SWAP_MODE_AUTO   0
+#define ECORE_EVAS_SWAP_MODE_FULL   1
+#define ECORE_EVAS_SWAP_MODE_COPY   2
+#define ECORE_EVAS_SWAP_MODE_DOUBLE 3
+#define ECORE_EVAS_SWAP_MODE_TRIPLE 4
+
+
 /**
  * @enum _Ecore_Evas_Avoid_Damage_Type
  * This option causes updates of the Ecore_Evas to be done on a pixmap, and
@@ -1310,20 +1326,20 @@ EAPI Ecore_Evas 
*ecore_evas_software_x11_pixmap_new(const char *disp_name, E
  */
 EAPI Ecore_X_Pixmap ecore_evas_software_x11_pixmap_get(const Ecore_Evas *ee);
 
-#define ECORE_EVAS_GL_X11_OPT_NONE 0
-#define ECORE_EVAS_GL_X11_OPT_INDIRECT 1
-#define ECORE_EVAS_GL_X11_OPT_VSYNC2
-#define ECORE_EVAS_GL_X11_OPT_SWAP_MODE3
-#define ECORE_EVAS_GL_X11_OPT_GL_DEPTH 4
-#define ECORE_EVAS_GL_X11_OPT_GL_STENCIL   5
-#define ECORE_EVAS_GL_X11_OPT_GL_MSAA  6
-#define ECORE_EVAS_GL_X11_OPT_LAST 7
-
-#define ECORE_EVAS_GL_X11_SWAP_MODE_AUTO   0
-#define ECORE_EVAS_GL_X11_SWAP_MODE_FULL   1
-#define ECORE_EVAS_GL_X11_SWAP_MODE_COPY   2
-#define ECORE_EVAS_GL_X11_SWAP_MODE_DOUBLE 3
-#define ECORE_EVAS_GL_X11_SWAP_MODE_TRIPLE 4
+#define ECORE_EVAS_GL_X11_OPT_NONE ECORE_EVAS_OPT_NONE
+#define ECORE_EVAS_GL_X11_OPT_INDIRECT ECORE_EVAS_OPT_INDIRECT
+#define ECORE_EVAS_GL_X11_OPT_VSYNCECORE_EVAS_OPT_VSYNC
+#define ECORE_EVAS_GL_X11_OPT_SWAP_MODEECORE_EVAS_OPT_SWAP_MODE
+#define ECORE_EVAS_GL_X11_OPT_GL_DEPTH ECORE_EVAS_OPT_GL_DEPTH
+#define ECORE_EVAS_GL_X11_OPT_GL_STENCIL   ECORE_EVAS_OPT_GL_STENCIL
+#define ECORE_EVAS_GL_X11_OPT_GL_MSAA  ECORE_EVAS_OPT_GL_MSAA
+#define ECORE_EVAS_GL_X11_OPT_LAST ECORE_EVAS_OPT_LAST
+
+#define ECORE_EVAS_GL_X11_SWAP_MODE_AUTO   ECORE_EVAS_SWAP_MODE_AUTO
+#define ECORE_EVAS_GL_X11_SWAP_MODE_FULL   ECORE_EVAS_SWAP_MODE_FULL
+#define ECORE_EVAS_GL_X11_SWAP_MODE_COPY   ECORE_EVAS_SWAP_MODE_COPY
+#define ECORE_EVAS_GL_X11_SWAP_MODE_DOUBLE ECORE_EVAS_SWAP_MODE_DOUBLE
+#define ECORE_EVAS_GL_X11_SWAP_MODE_TRIPLE ECORE_EVAS_SWAP_MODE_TRIPLE
 
 /**
  * @brief Creates Ecore_Evas using opengl x11.

-- 




[EGIT] [core/efl] master 01/01: ecore wayland: expand internal interface to pass engine option list.

2019-04-25 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=53599a8d399c21b467316033dd57907188339623

commit 53599a8d399c21b467316033dd57907188339623
Author: Hermet Park 
Date:   Thu Apr 25 16:56:40 2019 +0900

ecore wayland: expand internal interface to pass engine option list.

This is a prepartion patch to support msaa in wayland.
ui window needs to deliver engine options (stencil, depth, msaa bits)
to evas engine side, ecore_evas_wayland_egl should have the argument to 
pass.
---
 src/lib/ecore_evas/ecore_evas.c| 10 -
 src/lib/ecore_evas/ecore_evas_private.h|  2 +-
 src/lib/elementary/efl_ui_win.c|  4 ++--
 .../engines/wayland/ecore_evas_wayland_common.c| 25 +-
 .../engines/wayland/ecore_evas_wayland_egl.c   |  4 ++--
 .../engines/wayland/ecore_evas_wayland_private.h   |  3 ++-
 6 files changed, 36 insertions(+), 12 deletions(-)

diff --git a/src/lib/ecore_evas/ecore_evas.c b/src/lib/ecore_evas/ecore_evas.c
index 8f8a0241b6..86020876ef 100644
--- a/src/lib/ecore_evas/ecore_evas.c
+++ b/src/lib/ecore_evas/ecore_evas.c
@@ -4462,7 +4462,7 @@ ecore_evas_wayland_egl_new(const char *disp_name, 
unsigned int parent,
   int x, int y, int w, int h, Eina_Bool frame)
 {
Ecore_Evas *ee;
-   Ecore_Evas *(*new)(const char *, Ecore_Window, int, int, int, int, 
Eina_Bool);
+   Ecore_Evas *(*new)(const char *, Ecore_Window, int, int, int, int, 
Eina_Bool, const int*);
Eina_Module *m = _ecore_evas_engine_load("wayland");
EINA_SAFETY_ON_NULL_RETURN_VAL(m, NULL);
 
@@ -4471,7 +4471,7 @@ ecore_evas_wayland_egl_new(const char *disp_name, 
unsigned int parent,
 
if (parent) ERR("Wayland windows with parents not supported through legacy 
API");
 
-   ee = new(disp_name, 0, x, y, w, h, frame);
+   ee = new(disp_name, 0, x, y, w, h, frame, NULL);
if (!_ecore_evas_cursors_init(ee))
  {
 ecore_evas_free(ee);
@@ -4503,17 +4503,17 @@ _wayland_shm_new(const char *disp_name, Ecore_Window 
parent,
 
 Ecore_Evas *
 _wayland_egl_new(const char *disp_name, Ecore_Window parent,
- int x, int y, int w, int h, Eina_Bool frame)
+ int x, int y, int w, int h, Eina_Bool frame, const int *opt)
 {
Ecore_Evas *ee;
-   Ecore_Evas *(*new)(const char *, Ecore_Window, int, int, int, int, 
Eina_Bool);
+   Ecore_Evas *(*new)(const char *, Ecore_Window, int, int, int, int, 
Eina_Bool, const int *);
Eina_Module *m = _ecore_evas_engine_load("wayland");
EINA_SAFETY_ON_NULL_RETURN_VAL(m, NULL);
 
new = eina_module_symbol_get(m, "ecore_evas_wayland_egl_new_internal");
EINA_SAFETY_ON_NULL_RETURN_VAL(new, NULL);
 
-   ee = new(disp_name, parent, x, y, w, h, frame);
+   ee = new(disp_name, parent, x, y, w, h, frame, opt);
if (!_ecore_evas_cursors_init(ee))
  {
 ecore_evas_free(ee);
diff --git a/src/lib/ecore_evas/ecore_evas_private.h 
b/src/lib/ecore_evas/ecore_evas_private.h
index 9149c3e937..cfbb367e2b 100644
--- a/src/lib/ecore_evas/ecore_evas_private.h
+++ b/src/lib/ecore_evas/ecore_evas_private.h
@@ -499,7 +499,7 @@ EAPI void ecore_evas_done(Ecore_Evas *ee, Eina_Bool 
single_window);
 
 #ifdef IPA_YLNO_ESU_LANRETNI_MLE
 EAPI Ecore_Evas *_wayland_shm_new(const char *disp_name, Ecore_Window parent, 
int x, int y, int w, int h, Eina_Bool frame);
-EAPI Ecore_Evas *_wayland_egl_new(const char *disp_name, Ecore_Window parent, 
int x, int y, int w, int h, Eina_Bool frame);
+EAPI Ecore_Evas *_wayland_egl_new(const char *disp_name, Ecore_Window parent, 
int x, int y, int w, int h, Eina_Bool frame, const int *opt);
 #else
 #define _wayland_shm_new DONT_USE_INTERNAL_API
 #define _wayland_egl_new DONT_USE_INTERNAL_API
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index d69e734083..1434ea0ed2 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -44,7 +44,7 @@
 #define FRAME_OBJ_THEME_MIN_VERSION 119
 
 Ecore_Evas *_wayland_shm_new(const char *disp_name, Ecore_Window parent, int 
x, int y, int w, int h, Eina_Bool frame);
-Ecore_Evas *_wayland_egl_new(const char *disp_name, Ecore_Window parent, int 
x, int y, int w, int h, Eina_Bool frame);
+Ecore_Evas *_wayland_egl_new(const char *disp_name, Ecore_Window parent, int 
x, int y, int w, int h, Eina_Bool frame, const int *opt);
 
 static const Elm_Win_Trap *trap = NULL;
 
@@ -5444,7 +5444,7 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, 
const char *name, Efl_U
  else if (!strcmp(enginelist[i], ELM_WAYLAND_SHM))
tmp_sd.ee = _wayland_shm_new(NULL, parent_id, 0, 0, 0, 0, 0);
  else if (!strcmp(enginelist[i], ELM_WAYLAND_EGL))
-   tmp_sd.ee = _wayland_egl_new(NULL, parent_id, 0, 0, 0, 0, 0);
+   tmp_sd.ee = _wayland_egl_new(NULL, parent_id, 0, 0, 0, 0, 0, 
NULL);
   

[EGIT] [core/enlightenment] master 01/01: background: contribute a scenary wallpaper photo.

2019-04-24 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=203e70e6c682577934a9a152fff9996022729e17

commit 203e70e6c682577934a9a152fff9996022729e17
Author: Hermet Park 
Date:   Wed Apr 24 19:52:37 2019 +0900

background: contribute a scenary wallpaper photo.

It's a free photo which was taken by me.
---
 data/backgrounds/Ocean_Beach.edj | Bin 0 -> 1377094 bytes
 data/backgrounds/meson.build |   1 +
 2 files changed, 1 insertion(+)

diff --git a/data/backgrounds/Ocean_Beach.edj b/data/backgrounds/Ocean_Beach.edj
new file mode 100644
index 0..e40cedf17
Binary files /dev/null and b/data/backgrounds/Ocean_Beach.edj differ
diff --git a/data/backgrounds/meson.build b/data/backgrounds/meson.build
index 36ce329ae..2af46cd36 100644
--- a/data/backgrounds/meson.build
+++ b/data/backgrounds/meson.build
@@ -9,6 +9,7 @@ install_data([ 'Brown_Rock_Hi.edj',
'Mossstring.edj',
'Motleyrock.edj',
'Newgrowth.edj',
+   'Ocean_Beach.edj',
'Orange_Roses.edj',
'Pattern_Radial.edj',
'Pattern_Vertical.edj',

-- 




[EGIT] [core/efl] master 01/01: evas x: code refactoring.

2019-04-24 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=3bd57c2c66af09b40aa60f17c09b07fadc78befb

commit 3bd57c2c66af09b40aa60f17c09b07fadc78befb
Author: Hermet Park 
Date:   Wed Apr 24 16:39:23 2019 +0900

evas x: code refactoring.

keep simple code as possible.
---
 src/modules/evas/engines/gl_x11/evas_x_main.c | 12 ++--
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/src/modules/evas/engines/gl_x11/evas_x_main.c 
b/src/modules/evas/engines/gl_x11/evas_x_main.c
index 3543d9390b..2d621fcda5 100644
--- a/src/modules/evas/engines/gl_x11/evas_x_main.c
+++ b/src/modules/evas/engines/gl_x11/evas_x_main.c
@@ -972,16 +972,8 @@ try_again:
config_attrs[n++] = 1;
// FIXME: end n900 breakage
 # endif
-   if (alpha)
- {
-config_attrs[i++] = EGL_ALPHA_SIZE;
-config_attrs[i++] = 1;
- }
-   else
- {
-config_attrs[i++] = EGL_ALPHA_SIZE;
-config_attrs[i++] = 0;
- }
+   config_attrs[i++] = EGL_ALPHA_SIZE;
+   config_attrs[i++] = (alpha ? 1 : 0);
 
if (depth_bits)
  {

-- 




  1   2   3   4   5   6   >