[EGIT] [tools/enventor] master 01/01: set spacer image transparency to avoid additional color multiply.

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

http://git.enlightenment.org/tools/enventor.git/commit/?id=e2b895a28d9ed401ad899a2b32937d3d592e9215

commit e2b895a28d9ed401ad899a2b32937d3d592e9215
Author: Hermet Park 
Date:   Thu Dec 24 09:01:40 2015 +0900

set spacer image transparency to avoid additional color multiply.
---
 data/themes/default/content.edc|   1 -
 data/themes/default/images/live_spacer.png | Bin 278 -> 216 bytes
 data/themes/default/live_edit.edc  |   1 -
 3 files changed, 2 deletions(-)

diff --git a/data/themes/default/content.edc b/data/themes/default/content.edc
index 20c17a9..879e482 100644
--- a/data/themes/default/content.edc
+++ b/data/themes/default/content.edc
@@ -83,7 +83,6 @@ group { name: "spacer";
  description { state: "default" 0.0;
 image.normal: "live_spacer.png";
 fill.type: TILE;
-color: 255 255 255 50;
 aspect: 0 0;
 aspect_preference: NONE;
  }
diff --git a/data/themes/default/images/live_spacer.png 
b/data/themes/default/images/live_spacer.png
index 2bc30fb..865837e 100644
Binary files a/data/themes/default/images/live_spacer.png and 
b/data/themes/default/images/live_spacer.png differ
diff --git a/data/themes/default/live_edit.edc 
b/data/themes/default/live_edit.edc
index 3a91da8..5abe70c 100644
--- a/data/themes/default/live_edit.edc
+++ b/data/themes/default/live_edit.edc
@@ -79,7 +79,6 @@ group { name: "SPACER_bg";
  description { state: "default" 0.0;
 image.normal: "live_spacer.png";
 fill.type: TILE;
-color: 255 255 255 50;
  }
   }
}

-- 




[EGIT] [tools/enventor] master 01/01: rename author

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

http://git.enlightenment.org/tools/enventor.git/commit/?id=a41671c11ae8db976153a956002dddf32018f6a6

commit a41671c11ae8db976153a956002dddf32018f6a6
Author: Hermet Park 
Date:   Thu Dec 24 09:18:04 2015 +0900

rename author
---
 AUTHORS  | 2 +-
 COPYING  | 2 +-
 data/about/ABOUT | 2 +-
 src/include/common.h | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/AUTHORS b/AUTHORS
index 2748fbe..82fccb2 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,4 +1,4 @@
-Hermet (Chuneon Park) 
+Hermet Park 
 Cedric Bail 
 Raoul Hecky 
 Daniel Juyung Seo 
diff --git a/COPYING b/COPYING
index 25a7a32..a9c233c 100644
--- a/COPYING
+++ b/COPYING
@@ -1,6 +1,6 @@
 Copyright notice for Enventor:
 
-Copyright (C) 2013-2015 ChunEon Park and various contributors (see AUTHORS)
+Copyright (C) 2013-2015 Hermet Park and various contributors (see AUTHORS)
 
 All rights reserved.
 
diff --git a/data/about/ABOUT b/data/about/ABOUT
index 1950df0..af11995 100644
--- a/data/about/ABOUT
+++ b/data/about/ABOUT
@@ -94,7 +94,7 @@ Many developers have contributed to the Enventor project. The 
following names ar
  
 Copyright (C) 2013 - 2015 by:
  
-Hermet (Chuneon Park)
+Hermet Park
 Jaehyun Cho
 Mykyta Biliavskyi
 Kateryna Fesyna
diff --git a/src/include/common.h b/src/include/common.h
index 5982c36..545f5fd 100644
--- a/src/include/common.h
+++ b/src/include/common.h
@@ -25,7 +25,7 @@ https://phab.enlightenment.org/w/projects/enventor/ \n \
 http://www.openhub.net/p/enventor\n";
 
 #define ENVENTOR_COPYRIGHT \
-"Copyright (C) 2013-2015 ChunEon Park and various contributors (see AUTHORS)\n 
\
+"Copyright (C) 2013-2015 Hermet Park and various contributors (see AUTHORS)\n \
 \nAll rights reserved.\n \
 \nRedistribution and use in source and binary forms, with or without\n \
 modification, are permitted provided that the following conditions are met:\n \

-- 




[EGIT] [core/efl] master 01/01: rename an author.

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

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

commit b757b30bae332d39ade2f1d60253ef6e03155b0d
Author: Hermet Park 
Date:   Thu Dec 24 09:22:00 2015 +0900

rename an author.
---
 AUTHORS  | 8 
 doc/main.dox | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/AUTHORS b/AUTHORS
index f714c39..0ee154e 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -49,7 +49,7 @@ Mike Blumenkrantz 
 Patryk Kaczmarek 
 Igor Murzov 
 Vladislav Brovko 
-ChunEon Park (Hermet) 
+Hermet Park 
 Rajeev Ranjan (Rajeev)  
 Subodh Kumar 
 Michelle Legrand 
@@ -119,7 +119,7 @@ Jiyoun Park 
 Myoungwoon Roy Kim(roy_kim)  
 Thierry el Borgi 
 Shilpa Singh  
-ChunEon Park 
+Hermet Park 
 Christopher 'devilhorns' Michael 
 Seungsoo Woo 
 Youness Alaoui 
@@ -195,7 +195,7 @@ Jihoon Kim  
 PnB 
 Daniel Juyung Seo  
 Christopher 'devilhorns' Michael 
-ChunEon Park (Hermet) 
+Hermet Park 
 xlo...@igalia.com
 Rafael Antognolli 
 Kim Yunhan 
@@ -310,7 +310,7 @@ David Seikel 
 Mikael Sans 
 Jérôme Pinot 
 Rajeev Ranjan (Rajeev)  
-ChunEon Park (Hermet) 
+Hermet Park 
 Kim Shinwoo 
 Michael Bouchaud (yoz) 
 WooHyun Jung (woohyun) 
diff --git a/doc/main.dox b/doc/main.dox
index 6ab3071..5d62e2f 100644
--- a/doc/main.dox
+++ b/doc/main.dox
@@ -52,7 +52,7 @@
  * @author Chris Ross 
  * @author Christophe Dumez 
  * @author Christopher 'devilhorns' Michael 
- * @author ChunEon Park (Hermet) 
+ * @author Hermet Park 
  * @author Corey "atmos" Donohoe 
  * @author dan sinclair 
  * @author Daniel Juyung Seo  

-- 




[EGIT] [core/elementary] master 01/01: rename an author

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

http://git.enlightenment.org/core/elementary.git/commit/?id=b2ad8058c7e56dc2f0942b5291a630ea03a3202d

commit b2ad8058c7e56dc2f0942b5291a630ea03a3202d
Author: Hermet Park 
Date:   Thu Dec 24 09:19:47 2015 +0900

rename an author
---
 AUTHORS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/AUTHORS b/AUTHORS
index 1c8b979..0e2457b 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -16,7 +16,7 @@ Samsung SAIT 
 Brett Nash 
 Bruno Dilly 
 Rafael Fonseca 
-Hermet (Chuneon Park) 
+Hermet Park 
 Woohyun Jung 
 Jaehwan Kim 
 Wonguk Jeong 

-- 




[EGIT] [admin/devs] master 01/01: update hermet's info.

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

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

commit cf77847ff511a6eec3b7bac54fc16e48469d13ac
Author: Hermet Park 
Date:   Thu Dec 24 09:23:36 2015 +0900

update hermet's info.
---
 developers/hermet/info.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/developers/hermet/info.txt b/developers/hermet/info.txt
index fb04b3d..7251b0d 100644
--- a/developers/hermet/info.txt
+++ b/developers/hermet/info.txt
@@ -1,6 +1,6 @@
 Login:hermet
 IRC Nick: Hermet
-Name: ChunEon Park
+Name: Hermet Park
 Location: Seongnam, Korea
 E-Mail:   her...@hermet.pe.kr
 WWW:  http://www.hermet.pe.kr

-- 




[EGIT] [tools/enventor] master 01/01: improve a autocomplete feature.

2016-01-02 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=3f7e523d392c85180e03b08de83cd329a00e4c67

commit 3f7e523d392c85180e03b08de83cd329a00e4c67
Author: Hermet Park 
Date:   Sun Jan 3 03:56:25 2016 +0900

improve a autocomplete feature.

it should not blow the string queue up.

@fix T2982
---
 src/lib/auto_comp.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/lib/auto_comp.c b/src/lib/auto_comp.c
index 72b4d62..83acb08 100644
--- a/src/lib/auto_comp.c
+++ b/src/lib/auto_comp.c
@@ -441,8 +441,7 @@ push_char(autocomp_data *ad, char c)
 ad->queue_pos = 0;
  }
ad->queue[ad->queue_pos] = c;
-
-  ad->queue_pos++;
+   ad->queue_pos++;
 }
 
 static void
@@ -772,7 +771,7 @@ anchor_key_down_cb(void *data, Evas *evas EINA_UNUSED,
//Cancel the auto complete.
if (!strcmp(ev->key, "BackSpace"))
  {
-queue_reset(ad);
+entry_anchor_off(ad);
 ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
 return;
  }

-- 




[EGIT] [tools/enventor] master 01/01: highlight categories to be more notable.

2016-01-02 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=08f68802e859edc7c6bb94a0c690e6848340c411

commit 08f68802e859edc7c6bb94a0c690e6848340c411
Author: Hermet Park 
Date:   Sun Jan 3 15:26:08 2016 +0900

highlight categories to be more notable.

sorry stehpen, but i have no idea why you moved them.
---
 data/about/ABOUT | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/data/about/ABOUT b/data/about/ABOUT
index e0529b9..3475339 100644
--- a/data/about/ABOUT
+++ b/data/about/ABOUT
@@ -1,4 +1,4 @@
-[Enventor v0.7.0]
+[Enventor v0.7.0]
  
 This is an EDC editor with some convenient functions. It was started near the 
begining of June 2013, so expecting it to do everything a mature script editor 
does is a bit premature.  However, considering its young age, it does a lot.
  
@@ -9,7 +9,7 @@ https://phab.enlightenment.org/w/projects/enventor/
 http://www.openhub.net/p/enventor 
   
  
-[Short Cut Keys]
+[Short Cut Keys]
  
 Esc - Open/Close Menu
 F1 - About
@@ -51,7 +51,7 @@ Ctrl+End - Go to the Bottom line
 Ctrl+Space - Search candidate keywords in the context
  
  
-[Command Line Usage]
+[Command Line Usage]
  
 enventor --help
 enventor [input file] [output file] [-t] [-i image path] [-s sound path] [-f 
font path] [-d data path]
@@ -71,7 +71,7 @@ $ enventor newfile.edc -t
 $ enventor sample.edc output.edj -i ./images -s ./sounds
  
  
-[Developers]
+[Developers]
   
 Many developers have contributed to Enventor project. The following names are 
dedicated Enventor developers' names but there are more people who've gladly 
contributed for Enventor. For a complete list of contributors, See AUTHORS file.
  

-- 




[EGIT] [tools/enventor] master 01/01: updated NEWS for enventor v0.7.0

2016-01-02 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=54850ad58152b1b2b927b8356ffda86ddeb55684

commit 54850ad58152b1b2b927b8356ffda86ddeb55684
Author: Hermet Park 
Date:   Sun Jan 3 15:45:10 2016 +0900

updated NEWS for enventor v0.7.0
---
 NEWS | 54 +-
 1 file changed, 53 insertions(+), 1 deletion(-)

diff --git a/NEWS b/NEWS
index 8b3ced9..336e4e5 100644
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,59 @@
 ==
-Enventor 0.6.0
+Enventor 0.7.0
 ==
 
+Changes since Enventor 0.6.0:
+-
+
+Additions:
+   * Tracking image resources for realtime live view updation.
+   * Marking lines which contains errors in edc editor.
+   * Support localization (English, Russian)
+   * Smart redo/undo function which applies coding convention for undo texts.
+   * Support dummy spacer.
+   * Jumping on to the code related with the current clicked part in live view.
+
+Removes:
+   * Get rid of ELM_ENGINE environment.
+
+Improvements:
+   * Focus shouldn't move on to ctxpopup when its moving.
+   * File Saving contains .edc extension automatically.
+   * Migrate on to lazy edc fully (syntax color, template code, etc..)
+   * Support realtime live view updation for the slider in ctxpoup.
+   * Renamed syntax color data file from color.src to edc.src.
+   * More compatible with ms windows platform.
+   * Add "base_scale" into template code.
+   * Improve auto completion for more correct and useful candidate keywords.
+   * Support ELM_ACCEL environment.
+   * Move the editor cursor at the end of the attributes after dismissing 
candidate list.
+   * Rename a temporary output file name to be different with input file name 
so that multiple enventors could modify same input file at the same time.
+   * Support more auto complete keywords.
+- effect, anti_alias, mask_flags, limit, clip_to, domain
+   * Improve live edit icons quality.
+
+Fixes:
+   * Fix key modifiers to work short cut keys correctly.
+   * Correct incorrect syntax color.
+   * Enventor_Path_Type interface is updated.
+   * Fix missing edc updation if it is modified by other processes.
+   * Fix some memory leaks.
+   * Recognize part descriptions properly in the editor even though they don't 
have names.
+   * Create a config home folder properly if it's not existed.
+   * Fix eo build break on the latest efl(1.16)
+   * Fix a broken redo/undo function after replacing the text with 
search/replace feature.
+   * Fix to be avaiable to choose the last item on the candidate list.
+   * Fix to work part highlighting out for all groups in one edc.
+   * Fix to close goto window while it's toggled with a toolbar button.
+   * Fix a wierd behavior which changes edc source when ctxpopup is going to 
be closed.
+   * Fix to move scroller bar to correct position for find function.
+   * Fix the issue that ctxpopup preview images are remained when mouse wheel 
works quickly.
+   * Reset console box error messages when new or open file is performed.
+   * Let the editor have focus after live edit is done.
+   * Dismiss ctxpopup when edc build error.
+   * Dismiss ctxpopup when warning box is shown up at window exit.
+   * Fix incorrect size displaying of the live object.
+
 Changes since Enventor 0.5.0:
 -
 

-- 




[EGIT] [tools/enventor] master 01/01: update authors

2016-01-02 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=709ec8d24d5cbc724627644143eb05dc161defb2

commit 709ec8d24d5cbc724627644143eb05dc161defb2
Author: Hermet Park 
Date:   Sun Jan 3 15:47:38 2016 +0900

update authors
---
 AUTHORS | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/AUTHORS b/AUTHORS
index 82fccb2..0bb2342 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -20,3 +20,5 @@ Michelle Legrand 
 Jerome Pinot 
 Jean-Phillippe Andre 
 Vincent Torri 
+Stephen Houston 
+Jee-Yong Um 

-- 




[EGIT] [tools/enventor] master 01/01: ++ enventor config version

2016-01-02 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=e3b5d85e08746acf1f9387146685945c1df38db0

commit e3b5d85e08746acf1f9387146685945c1df38db0
Author: Hermet Park 
Date:   Sun Jan 3 15:51:38 2016 +0900

++ enventor config version
---
 src/include/common.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/include/common.h b/src/include/common.h
index 545f5fd..be6a06c 100644
--- a/src/include/common.h
+++ b/src/include/common.h
@@ -55,7 +55,7 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
 #define REL2_X 0.75f
 #define REL2_Y 0.75f
 
-#define ENVENTOR_CONFIG_VERSION 2
+#define ENVENTOR_CONFIG_VERSION 3
 
 #define EVENT_KEY_MODIFIER_CHECK(NAME, MASK) \
   ((MASK & ECORE_EVENT_MODIFIER_##NAME) && \

-- 




[EGIT] [website/www-content] master 01/01: Recover a enventor download.

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

http://git.enlightenment.org/website/www-content.git/commit/?id=fa5c761e5cf51c05ef90e1a6af7e63a810af4927

commit fa5c761e5cf51c05ef90e1a6af7e63a810af4927
Author: Hermet Park 
Date:   Mon Jan 4 10:21:38 2016 +0900

Recover a enventor download.

. it's a revenant, enventor.
---
 pages/download-latest.txt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pages/download-latest.txt b/pages/download-latest.txt
index de6a488..613950b 100644
--- a/pages/download-latest.txt
+++ b/pages/download-latest.txt
@@ -11,7 +11,7 @@ rage_v= 0.1.4
 econnman_v= 1.1
 epour_v   = 0.6.0
 
-enventor_v= 0.6.0
+enventor_v= 0.7.0
 eflete_v  = 0.5.0
 
 extn  = .tar.gz
@@ -33,6 +33,6 @@ dlbase= 
http://download.enlightenment.org/rel/
 |[[%%dlbase%%apps/epour/epour-%%epour_vextn%%|Epour]]|%%epour_v%%|
 
 ^Development Tool^Version^
-
+|[[%%dlbase%%apps/enventor/enventor-%%enventor_vextn%%|Enventor]]|%%enventor_v%%|
 
 Go to the [[https://phab.enlightenment.org/w/packaging_status/|package status 
of distributions]] for information on what distributions have packages and how 
up to date they are.

-- 




[EGIT] [games/etypers] master 01/01: updated authors

2017-11-20 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/games/etypers.git/commit/?id=e0ef4bb0b2507964e3e235d275ec6c547af63405

commit e0ef4bb0b2507964e3e235d275ec6c547af63405
Author: Hermet Park 
Date:   Tue Nov 21 01:11:54 2017 +0800

updated authors
---
 AUTHORS  | 2 +-
 configure.ac | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/AUTHORS b/AUTHORS
index 04e88c3..a791417 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1 +1 @@
-Hermet Park 
+Hermet Park 
diff --git a/configure.ac b/configure.ac
index cdf634b..0cf741e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -17,7 +17,7 @@ m4_define([lt_age], v_min)
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 
-AC_INIT(etypers, [v_ver], her...@hermet.pe.kr)
+AC_INIT(etypers, [v_ver], hermetp...@gmail.com)
 AC_PREREQ(2.52)
 AC_CONFIG_SRCDIR(configure.ac)
 AC_CONFIG_MACRO_DIR([m4])

-- 




[EGIT] [tools/enventor] master 01/01: updated AUTHORS

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

http://git.enlightenment.org/tools/enventor.git/commit/?id=76f437e8bab70370cf15fe18b191b4c2eed8d301

commit 76f437e8bab70370cf15fe18b191b4c2eed8d301
Author: Hermet Park 
Date:   Fri Nov 24 20:51:47 2017 +0800

updated AUTHORS
---
 AUTHORS | 1 +
 1 file changed, 1 insertion(+)

diff --git a/AUTHORS b/AUTHORS
index f88bd41..932982f 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -31,3 +31,4 @@ Jean Guyomarc'h 
 Thiep Ha 
 YeongJong Lee 
 Massimo Maiurana 
+Amitesh Singh 

-- 




[EGIT] [core/efl] master 03/07: evas vg: avoid integral division not to loss precision.

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

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

commit 63e11e1b18f0af3c491f3d793fc683e2eb7e9f08
Author: Hermet Park 
Date:   Mon Feb 18 14:53:09 2019 +0900

evas vg: avoid integral division not to loss precision.
---
 src/static_libs/vg_common/vg_common_svg.c | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/static_libs/vg_common/vg_common_svg.c 
b/src/static_libs/vg_common/vg_common_svg.c
index eba876e160..703ebde7d8 100644
--- a/src/static_libs/vg_common/vg_common_svg.c
+++ b/src/static_libs/vg_common/vg_common_svg.c
@@ -608,10 +608,10 @@ _apply_gradient_property(Svg_Style_Gradient *g, Efl_VG 
*vg, Efl_VG *parent, Vg_F
 
  efl_gfx_path_bounds_get(grad_obj, &grad_geom);
 
- double cy = (grad_geom.h / 2) + grad_geom.y;
- double cy_scaled = (grad_geom.h / 2) * scale_reversed_Y;
- double cx = grad_geom.w / 2 + grad_geom.x;
- double cx_scaled = (grad_geom.w / 2) * scale_reversed_X;
+ double cy = ((double) grad_geom.h) * 0.5 + grad_geom.y;
+ double cy_scaled = (((double) grad_geom.h) * 0.5) * 
scale_reversed_Y;
+ double cx = ((double) grad_geom.w) * 0.5 + grad_geom.x;
+ double cx_scaled = (((double) grad_geom.w) * 0.5) * 
scale_reversed_X;
 
  /* matrix tranformation of gradient figure:
   * 0. we remember size of gradient and it's center point

-- 




[EGIT] [core/efl] master 01/07: evas main: check for OOM when calloc().

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

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

commit 3967e1f3543435cb95e0208330845c6b7995d876
Author: Hermet Park 
Date:   Mon Feb 18 14:35:27 2019 +0900

evas main: check for OOM when calloc().
---
 src/lib/evas/canvas/evas_object_main.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/evas/canvas/evas_object_main.c 
b/src/lib/evas/canvas/evas_object_main.c
index aa0ac8359a..fa44327564 100644
--- a/src/lib/evas/canvas/evas_object_main.c
+++ b/src/lib/evas/canvas/evas_object_main.c
@@ -2674,6 +2674,7 @@ _efl_canvas_object_event_animation_set(Eo *eo_obj,
if (!animation) return;
 
event_anim = calloc(1, sizeof(Event_Animation));
+   EINA_SAFETY_ON_NULL_RETURN(event_anim);
 
//Set callback for Hide event
if (desc == EFL_GFX_ENTITY_EVENT_HIDE)

-- 




[EGIT] [core/efl] master 07/07: evas vg: check for OOM when calloc()

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

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

commit 9a5dacdb3684c7b0e4bc939ef1920f69e82aeaa2
Author: Hermet Park 
Date:   Mon Feb 18 15:17:41 2019 +0900

evas vg: check for OOM when calloc()
---
 src/static_libs/vg_common/vg_common_svg.c | 8 
 1 file changed, 8 insertions(+)

diff --git a/src/static_libs/vg_common/vg_common_svg.c 
b/src/static_libs/vg_common/vg_common_svg.c
index 9c69b14b89..6b18a0e5b3 100644
--- a/src/static_libs/vg_common/vg_common_svg.c
+++ b/src/static_libs/vg_common/vg_common_svg.c
@@ -899,6 +899,7 @@ _create_gradient_node(Efl_VG *vg)
for (i = 0; i < count; i++)
  {
 new_stop = calloc(1, sizeof(Efl_Gfx_Gradient_Stop));
+if (!new_stop) goto oom_error;
 memcpy(new_stop, stops, sizeof(Efl_Gfx_Gradient_Stop));
 grad->stops = eina_list_append(grad->stops, new_stop);
 stops++;
@@ -907,6 +908,7 @@ _create_gradient_node(Efl_VG *vg)
  {
 grad->type = SVG_LINEAR_GRADIENT;
 grad->linear = calloc(1, sizeof(Svg_Linear_Gradient));
+if (!grad->linear) goto oom_error;
 evas_vg_gradient_linear_start_get(vg, &grad->linear->x1, 
&grad->linear->y1);
 evas_vg_gradient_linear_end_get(vg, &grad->linear->x2, 
&grad->linear->y2);
  }
@@ -914,12 +916,18 @@ _create_gradient_node(Efl_VG *vg)
  {
 grad->type = SVG_RADIAL_GRADIENT;
 grad->radial = calloc(1, sizeof(Svg_Radial_Gradient));
+if (!grad->radial) goto oom_error;
 evas_vg_gradient_radial_center_get(vg, &grad->radial->cx, 
&grad->radial->cy);
 evas_vg_gradient_radial_focal_get(vg, &grad->radial->fx, 
&grad->radial->fy);
 grad->radial->r = evas_vg_gradient_radial_radius_get(vg);
  }
 
return grad;
+
+oom_error:
+   ERR("OOM: Failed calloc()");
+   return grad;
+
 }
 
 static void

-- 




[EGIT] [core/efl] master 06/07: evas vg: check for OOM when calloc()

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

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

commit 0a47a0ef3274b37508f0ddc31d0153d4a244d1f2
Author: Hermet Park 
Date:   Mon Feb 18 15:09:44 2019 +0900

evas vg: check for OOM when calloc()
---
 src/static_libs/vg_common/vg_common_svg.c | 5 +
 1 file changed, 5 insertions(+)

diff --git a/src/static_libs/vg_common/vg_common_svg.c 
b/src/static_libs/vg_common/vg_common_svg.c
index 396c4dba17..9c69b14b89 100644
--- a/src/static_libs/vg_common/vg_common_svg.c
+++ b/src/static_libs/vg_common/vg_common_svg.c
@@ -844,6 +844,11 @@ _create_node(Svg_Node *parent, Svg_Node_Type type)
 
// default fill property
node->style = calloc(1, sizeof(Svg_Style_Property));
+   if (!node->style)
+ {
+free(node);
+EINA_SAFETY_ON_NULL_RETURN_VAL(node->style, NULL);
+ }
 
// update the default value of stroke and fill
//https://www.w3.org/TR/SVGTiny12/painting.html#SpecifyingPaint

-- 




[EGIT] [core/efl] master 02/07: evas vg: use strncpy() instead of strcpy() for better security.

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

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

commit a8d5f275c780692df8a63897601a0c05e48678ac
Author: Hermet Park 
Date:   Mon Feb 18 14:47:14 2019 +0900

evas vg: use strncpy() instead of strcpy() for better security.
---
 src/lib/evas/vg/evas_vg_cache.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/lib/evas/vg/evas_vg_cache.c b/src/lib/evas/vg/evas_vg_cache.c
index ec5fc6b0be..9833ef65ae 100644
--- a/src/lib/evas/vg/evas_vg_cache.c
+++ b/src/lib/evas/vg/evas_vg_cache.c
@@ -181,8 +181,9 @@ _vg_file_save(Vg_File_Data *vfd, const char *file, const 
char *key, const char *
 char *p, *pp;
 char *tflags;
 
-tflags = alloca(strlen(flags) + 1);
-strcpy(tflags, flags);
+int len = strlen(flags);
+tflags = alloca(len) + 1;
+strncpy(tflags, flags, len);
 p = tflags;
 while (p)
   {

-- 




[EGIT] [core/efl] master 04/07: evas vg: check for OOM when calloc()

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

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

commit 1442690680d8d2b0e93d432b32a71db3c161e22d
Author: Hermet Park 
Date:   Mon Feb 18 15:02:47 2019 +0900

evas vg: check for OOM when calloc()
---
 src/static_libs/vg_common/vg_common_svg.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/static_libs/vg_common/vg_common_svg.c 
b/src/static_libs/vg_common/vg_common_svg.c
index 703ebde7d8..c17b0246bb 100644
--- a/src/static_libs/vg_common/vg_common_svg.c
+++ b/src/static_libs/vg_common/vg_common_svg.c
@@ -884,6 +884,7 @@ _create_gradient_node(Efl_VG *vg)
unsigned int count = 0, i;
 
Svg_Style_Gradient *grad = calloc(1, sizeof(Svg_Style_Gradient));
+   EINA_SAFETY_ON_NULL_RETURN_VAL(grad, NULL);
 
grad->spread = evas_vg_gradient_spread_get(vg);
evas_vg_gradient_stop_get(vg, &stops, &count);

-- 




[EGIT] [core/efl] master 05/07: evas vg: check for OOM when calloc()

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

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

commit a921040743aece335cd8040d3f28084c6932958c
Author: Hermet Park 
Date:   Mon Feb 18 15:07:01 2019 +0900

evas vg: check for OOM when calloc()
---
 src/static_libs/vg_common/vg_common_svg.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/static_libs/vg_common/vg_common_svg.c 
b/src/static_libs/vg_common/vg_common_svg.c
index c17b0246bb..396c4dba17 100644
--- a/src/static_libs/vg_common/vg_common_svg.c
+++ b/src/static_libs/vg_common/vg_common_svg.c
@@ -823,6 +823,8 @@ vg_common_svg_create_vg_node(Svg_Node *node)
if (!node || (node->type != SVG_NODE_DOC)) return NULL;
 
vg_data = calloc(1, sizeof(Vg_File_Data));
+   EINA_SAFETY_ON_NULL_RETURN_VAL(vg_data, NULL);
+
vg_data->view_box.x = node->node.doc.vx;
vg_data->view_box.y = node->node.doc.vy;
vg_data->view_box.w = node->node.doc.vw;
@@ -838,6 +840,7 @@ static Svg_Node *
 _create_node(Svg_Node *parent, Svg_Node_Type type)
 {
Svg_Node *node = calloc(1, sizeof(Svg_Node));
+   EINA_SAFETY_ON_NULL_RETURN_VAL(node, NULL);
 
// default fill property
node->style = calloc(1, sizeof(Svg_Style_Property));

-- 




[EGIT] [core/efl] master 01/01: elementary meson: fix script typo.

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

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

commit 6c948931235e4a0ef65763e048b87cbc1f24ca23
Author: Hermet Park 
Date:   Fri Feb 22 20:16:09 2019 +0900

elementary meson: fix script typo.
---
 src/lib/elementary/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/elementary/meson.build b/src/lib/elementary/meson.build
index 1db7752473..159d5005b0 100644
--- a/src/lib/elementary/meson.build
+++ b/src/lib/elementary/meson.build
@@ -913,7 +913,7 @@ elementary_src = [
   'efl_ui_size_model.c',
   'efl_ui_homogeneous_model.c',
   'efl_ui_exact_model.c',
-  'efl_ui_average_model.c'
+  'efl_ui_average_model.c',
   'efl_ui_relative_layout.c'
 ]
 

-- 




[EGIT] [core/efl] master 01/01: evas vg: don't access a dangling pointer.

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

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

commit 7c8210d8a678461b3f0fab7b273474bc5e0fb191
Author: Hermet Park 
Date:   Wed Feb 27 19:13:18 2019 +0900

evas vg: don't access a dangling pointer.
---
 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 6b18a0e5b3..c55a05775b 100644
--- a/src/static_libs/vg_common/vg_common_svg.c
+++ b/src/static_libs/vg_common/vg_common_svg.c
@@ -847,7 +847,8 @@ _create_node(Svg_Node *parent, Svg_Node_Type type)
if (!node->style)
  {
 free(node);
-EINA_SAFETY_ON_NULL_RETURN_VAL(node->style, NULL);
+ERR("OOM: Failed calloc()");
+return NULL;
  }
 
// update the default value of stroke and fill

-- 




[EGIT] [core/efl] master 01/01: eio: fix not to overflow data by performing arithmetic.

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

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

commit 25470a56d371b12877b461f4af06a86d2022a05a
Author: Hermet Park 
Date:   Wed Feb 27 19:20:29 2019 +0900

eio: fix not to overflow data by performing arithmetic.
---
 src/lib/eio/eio_dir.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/eio/eio_dir.c b/src/lib/eio/eio_dir.c
index af2125a735..68412b6f8a 100644
--- a/src/lib/eio/eio_dir.c
+++ b/src/lib/eio/eio_dir.c
@@ -667,7 +667,7 @@ _eio_dir_rmrf_heavy(void *data, Ecore_Thread *thread)
 
/* init counter */
step = 0;
-   count = eina_list_count(rmrf->files) + eina_list_count(rmrf->dirs) + 1;
+   count = ((long long) eina_list_count(rmrf->files)) + ((long long) 
eina_list_count(rmrf->dirs)) + 1;
 
EINA_LIST_FREE(rmrf->files, file)
  {

-- 




[EGIT] [tools/enventor] master 01/01: fix build breaks.

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

http://git.enlightenment.org/tools/enventor.git/commit/?id=5e87363560e15b497e6705a03cf4e698ac6fb909

commit 5e87363560e15b497e6705a03cf4e698ac6fb909
Author: Hermet Park 
Date:   Thu Feb 28 13:17:26 2019 +0900

fix build breaks.

Now it's compilable again.
---
 data/templates/Watchface2.edc | 13 -
 data/themes/default/theme_ext.edc | 18 ++
 src/bin/statusbar.c   |  2 +-
 src/lib/enventor_object.eo|  4 ++--
 src/lib/enventor_smart.c  | 21 +
 5 files changed, 18 insertions(+), 40 deletions(-)

diff --git a/data/templates/Watchface2.edc b/data/templates/Watchface2.edc
index c77c767..f33daae 100644
--- a/data/templates/Watchface2.edc
+++ b/data/templates/Watchface2.edc
@@ -142,19 +142,6 @@ collections {
  }
   }
   programs {
- program { "load";
-signal: "load";
-source: "";
-action: STATE_SET "rotated";
-target: "bg";
-transition: LINEAR 30;
-after: "reset";
- }
- program { "reset";
-action: STATE_SET "default";
-target: "bg";
-after: "load";
- }
  program { "hour_begin";
 signal: "load";
 source: "";
diff --git a/data/themes/default/theme_ext.edc 
b/data/themes/default/theme_ext.edc
index 5735153..3cfb2fb 100644
--- a/data/themes/default/theme_ext.edc
+++ b/data/themes/default/theme_ext.edc
@@ -160,14 +160,14 @@ group { name: "elm/list/h_item/enventor";
 color: 64 64 64 255;
 color_class: "list_item_base";
  }
- description { state: "odd" 0.0;
+ description { state: "odd";
 color: 56 56 56 255;
 color_class: "list_item_base_odd";
  }
   }
   program {
  signal: "elm,state,odd"; source: "elm";
- action: STATE_SET "odd" 1.0;
+ action: STATE_SET "odd";
  target: "base";
   }
   program {
@@ -603,7 +603,6 @@ group { name: "elm/scroller/base/enventor";
   program {
  signal: "mouse,down,1*"; source: "sb_vbar_a1";
  action: STATE_SET "clicked" 0.0;
- target: "sb_vbar_a1";
  target: "arrow1_vbar";
   }
   program {
@@ -614,13 +613,11 @@ group { name: "elm/scroller/base/enventor";
   program {
  signal: "mouse,up,1"; source: "sb_vbar_a1";
  action: STATE_SET "default" 0.0;
- target: "sb_vbar_a1";
  target: "arrow1_vbar";
   }
   program {
  signal: "mouse,down,1*"; source: "sb_vbar_a2";
  action: STATE_SET "clicked" 0.0;
- target: "sb_vbar_a2";
  target: "arrow2_vbar";
   }
   program {
@@ -631,7 +628,6 @@ group { name: "elm/scroller/base/enventor";
   program {
  signal: "mouse,up,1"; source: "sb_vbar_a2";
  action: STATE_SET "default" 0.0;
- target: "sb_vbar_a2";
  target: "arrow2_vbar";
   }
   program {
@@ -763,7 +759,6 @@ group { name: "elm/scroller/base/enventor";
   program {
  signal: "mouse,down,1*"; source: "sb_hbar_a1";
  action: STATE_SET "clicked" 0.0;
- target: "sb_hbar_a1";
  target: "arrow1_hbar";
   }
   program {
@@ -774,13 +769,11 @@ group { name: "elm/scroller/base/enventor";
   program {
  signal: "mouse,up,1"; source: "sb_hbar_a1";
  action: STATE_SET "default" 0.0;
- target: "sb_hbar_a1";
  target: "arrow1_hbar";
   }
   program {
  signal: "mouse,down,1*"; source: "sb_hbar_a2";
  action: STATE_SET "clicked" 0.0;
- target: "sb_hbar_a2";
  target: "arrow2_hbar";
   }
   program {
@@ -791,7 +784,6 @@ group { name: "elm/scroller/base/enventor";
   program {
  signal: "mouse,up,1"; source: "sb_hbar_a2";
  action: STATE_SET "default" 0.0;
- target: "sb_hbar_a2";
  target: "arrow2_hbar";
   }
   program {
@@ -1146,7 +1138,6 @@ group { name: "elm/scroller/base/enventor";
   program {
  signal: "mouse,down,1*"; source: "elm.dragable.vbar";
  action: STATE_SET "clicked"

[EGIT] [tools/enventor] master 01/02: edc_editor: don't access the danling edit object.

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

http://git.enlightenment.org/tools/enventor.git/commit/?id=60e51fccbe73d9b865c268f4aac51d6ad4771028

commit 60e51fccbe73d9b865c268f4aac51d6ad4771028
Author: Hermet Park 
Date:   Thu Feb 28 13:26:59 2019 +0900

edc_editor: don't access the danling edit object.
---
 src/lib/auto_comp.c  | 21 -
 src/lib/edc_editor.c |  8 
 2 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/src/lib/auto_comp.c b/src/lib/auto_comp.c
index 46a89de..e69968c 100644
--- a/src/lib/auto_comp.c
+++ b/src/lib/auto_comp.c
@@ -897,15 +897,18 @@ autocomp_target_set(edit_data *ed)
if (ad->ed)
  {
 entry = edit_entry_get(ad->ed);
-evas_object_smart_callback_del(entry, "changed,user", 
entry_changed_cb);
-evas_object_smart_callback_del(entry, "cursor,changed",
-   entry_cursor_changed_cb);
-evas_object_smart_callback_del(entry, "cursor,changed,manual",
-   entry_cursor_changed_manual_cb);
-evas_object_smart_callback_del(entry, "unfocused", 
anchor_unfocused_cb);
-evas_object_smart_callback_del(entry, "press", entry_press_cb);
-evas_object_event_callback_del(entry, EVAS_CALLBACK_MOVE,
-   entry_move_cb);
+if (entry)
+  {
+ evas_object_smart_callback_del(entry, "changed,user", 
entry_changed_cb);
+ evas_object_smart_callback_del(entry, "cursor,changed",
+entry_cursor_changed_cb);
+ evas_object_smart_callback_del(entry, "cursor,changed,manual",
+entry_cursor_changed_manual_cb);
+ evas_object_smart_callback_del(entry, "unfocused", 
anchor_unfocused_cb);
+ evas_object_smart_callback_del(entry, "press", entry_press_cb);
+ evas_object_event_callback_del(entry, EVAS_CALLBACK_MOVE,
+entry_move_cb);
+  }
 evas_object_del(ad->anchor);
 ad->anchor = NULL;
 ad->ed = NULL;
diff --git a/src/lib/edc_editor.c b/src/lib/edc_editor.c
index ee15a94..4fc888b 100644
--- a/src/lib/edc_editor.c
+++ b/src/lib/edc_editor.c
@@ -1480,6 +1480,13 @@ edit_cur_indent_depth_get(edit_data *ed)
return indent_space_get(syntax_indent_data_get(ed->sh));
 }
 
+static void
+edit_obj_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+   edit_data *ed = data;
+   ed->en_edit = NULL;
+}
+
 edit_data *
 edit_init(Enventor_Object *enventor, Enventor_Item *it)
 {
@@ -1571,6 +1578,7 @@ edit_init(Enventor_Object *enventor, Enventor_Item *it)
   edit_selection_cleared_cb, ed);
evas_object_smart_callback_add(en_edit, "selection,start",
   edit_selection_start_cb, ed);
+   evas_object_event_callback_add(en_edit, EVAS_CALLBACK_DEL, edit_obj_del_cb, 
ed);
evas_object_size_hint_weight_set(en_edit, EVAS_HINT_EXPAND,
 EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(en_edit, EVAS_HINT_FILL, EVAS_HINT_FILL);

-- 




[EGIT] [tools/enventor] master 02/02: edc_editor: polishing code.

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

http://git.enlightenment.org/tools/enventor.git/commit/?id=42dec185faf4a22d11bdc7cc6373b98355b34a3e

commit 42dec185faf4a22d11bdc7cc6373b98355b34a3e
Author: Hermet Park 
Date:   Thu Feb 28 13:28:49 2019 +0900

edc_editor: polishing code.

put EINA_UNUSED flags for unused parameters.
---
 src/lib/edc_editor.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/lib/edc_editor.c b/src/lib/edc_editor.c
index 4fc888b..040fb8f 100644
--- a/src/lib/edc_editor.c
+++ b/src/lib/edc_editor.c
@@ -1481,7 +1481,8 @@ edit_cur_indent_depth_get(edit_data *ed)
 }
 
 static void
-edit_obj_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+edit_obj_del_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+void *event_info EINA_UNUSED)
 {
edit_data *ed = data;
ed->en_edit = NULL;

-- 




[EGIT] [tools/enventor] master 01/01: templates: remove white-trailings.

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

http://git.enlightenment.org/tools/enventor.git/commit/?id=230d2f8adaaacd9154571a9ad6e26faa36bc8eb9

commit 230d2f8adaaacd9154571a9ad6e26faa36bc8eb9
Author: Hermet Park 
Date:   Thu Feb 28 13:38:48 2019 +0900

templates: remove white-trailings.
---
 data/templates/Watchface.edc  | 2 +-
 data/templates/Watchface2.edc | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/data/templates/Watchface.edc b/data/templates/Watchface.edc
index 0ac3186..f28de5b 100644
--- a/data/templates/Watchface.edc
+++ b/data/templates/Watchface.edc
@@ -159,7 +159,7 @@ collections {
rel1.relative: 0.5 0.0;
rel2.relative: 0.5 1.0;
min: 35 0;
-   fixed: 1 0;   
+   fixed: 1 0;
/* TODO: Please replace embedded image files to your 
application image files. */
image.normal: "ENVENTOR_EMBEDDED_NEEDLE_MINUTE.png";
map.on: 1;
diff --git a/data/templates/Watchface2.edc b/data/templates/Watchface2.edc
index f33daae..15e91e0 100644
--- a/data/templates/Watchface2.edc
+++ b/data/templates/Watchface2.edc
@@ -50,7 +50,7 @@ collections {
text {
   size: 20;
   font: "Mono";
-  text: "AM";  
+  text: "AM";
}
min: 150 0;
fixed: 1 0;
@@ -69,7 +69,7 @@ collections {
text {
   size: 20;
   font: "Mono";
-  text: "12:00";  
+  text: "12:00";
}
min: 150 0;
fixed: 1 0;
@@ -109,7 +109,7 @@ collections {
rel1.relative: 0.5 0.0;
rel2.relative: 0.5 1.0;
min: 30 0;
-   fixed: 1 0;   
+   fixed: 1 0;
/* TODO: Please replace embedded image files to your 
application image files. */
image.normal: "ENVENTOR_EMBEDDED_NEEDLE_MINUTE_RECT.png";
map.on: 1;

-- 




[EGIT] [tools/enventor] master 01/01: edc_editor: fix compile warnings.

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

http://git.enlightenment.org/tools/enventor.git/commit/?id=08a9678c1b6bee32ba8adc46fd01bb7522a19924

commit 08a9678c1b6bee32ba8adc46fd01bb7522a19924
Author: Hermet Park 
Date:   Thu Feb 28 13:45:09 2019 +0900

edc_editor: fix compile warnings.

rearrange data size to avoid possible data overflow.
---
 src/lib/edc_editor.c | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/lib/edc_editor.c b/src/lib/edc_editor.c
index 040fb8f..3a9766d 100644
--- a/src/lib/edc_editor.c
+++ b/src/lib/edc_editor.c
@@ -9,7 +9,7 @@
 #include "enventor_private.h"
 
 //FIXME: Make flexible
-const int MAX_LINE_DIGIT_CNT = 10;
+const int MAX_LINE_DIGIT_CNT = 12;
 const int SYNTAX_COLOR_SPARE_LINES = 42;
 const double SYNTAX_COLOR_DEFAULT_TIME = 0.25;
 const double SYNTAX_COLOR_SHORT_TIME = 0.025;
@@ -1745,7 +1745,6 @@ edit_entry_get(edit_data *ed)
 static void
 error_line_num_highlight(edit_data *ed)
 {
-#define LINE_NUM_SIZE 5
Evas_Object *tb = elm_entry_textblock_get(ed->en_line);
char *text = (char *) evas_object_textblock_text_markup_get(tb);
 
@@ -1767,8 +1766,8 @@ error_line_num_highlight(edit_data *ed)
 return;
  }
 
-   char line_str[LINE_NUM_SIZE];
-   snprintf(line_str, LINE_NUM_SIZE, "%d", ed->error_line + 1);
+   char line_str[MAX_LINE_DIGIT_CNT];
+   snprintf(line_str, MAX_LINE_DIGIT_CNT, "%d", ed->error_line + 1);
char *ptr = strstr(utf8, line_str);
if (!ptr) return;
 

-- 




[EGIT] [tools/enventor] master 01/01: enventor: return error properly when failed open a file.

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

http://git.enlightenment.org/tools/enventor.git/commit/?id=c4e1cab2c0861ab3854547a5c35128aad329fd39

commit c4e1cab2c0861ab3854547a5c35128aad329fd39
Author: Hermet Park 
Date:   Thu Feb 28 14:07:25 2019 +0900

enventor: return error properly when failed open a file.
---
 src/lib/enventor_smart.c | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/lib/enventor_smart.c b/src/lib/enventor_smart.c
index fc19c9f..13c45a1 100644
--- a/src/lib/enventor_smart.c
+++ b/src/lib/enventor_smart.c
@@ -397,14 +397,12 @@ _enventor_object_efl_file_file_set(Eo *obj EINA_UNUSED,
build_edc_path_set(file);
if (!file) goto err;
 
-   if (!edit_load(pd->main_it->ed, file)) return EINA_FALSE;
+   if (!edit_load(pd->main_it->ed, file)) goto err;
build_edc();
edit_changed_set(pd->main_it->ed, EINA_FALSE);
-
return 0;
-
 err:
-   eina_error_set( ENVENTOR_FILE_SET_ERROR_GENERIC);
+   eina_error_set(ENVENTOR_FILE_SET_ERROR_GENERIC);
build_edc_path_set(NULL);
return 1;
 }

-- 




[EGIT] [core/efl] master 01/01: evas map: fine-tune a case by anti-aliasing quality.

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

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

commit edbce35967942c12545c30f211465736c2cc7624
Author: Hermet Park 
Date:   Mon Mar 4 19:22:16 2019 +0900

evas map: fine-tune a case by anti-aliasing quality.
---
 src/lib/evas/common/evas_map_image_aa.c | 5 +
 1 file changed, 5 insertions(+)

diff --git a/src/lib/evas/common/evas_map_image_aa.c 
b/src/lib/evas/common/evas_map_image_aa.c
index 3a99c1e6c5..4a741ea3ca 100644
--- a/src/lib/evas/common/evas_map_image_aa.c
+++ b/src/lib/evas/common/evas_map_image_aa.c
@@ -167,6 +167,11 @@ _calc_aa_edges_internal(Line *spans, int eidx, int ystart, 
int yend)
   Outside Vertical -> Outside Horizontal */
if (prev_dir == DirOutVer)
  calc_horiz_coverage(spans, eidx, p_edge.y, ptx[0], ptx[1]);
+
+   //Tricky case by fine tuning.
+   if (y == 1)
+ calc_horiz_coverage(spans, eidx, p_edge.y, tx[0], tx[1]);
+
PUSH_EDGE_POINT();
 }
   break;

-- 




[EGIT] [core/efl] master 01/01: evas map: fix wrong range in anti-aliasing processing.

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

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

commit 057db36423a60f56bc911d3000dfba631e64484a
Author: Hermet Park 
Date:   Mon Mar 4 20:35:31 2019 +0900

evas map: fix wrong range in anti-aliasing processing.

alpha value must be in 0 - 255.
---
 src/lib/evas/common/evas_map_image_aa.c | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/lib/evas/common/evas_map_image_aa.c 
b/src/lib/evas/common/evas_map_image_aa.c
index 4a741ea3ca..6c829eac17 100644
--- a/src/lib/evas/common/evas_map_image_aa.c
+++ b/src/lib/evas/common/evas_map_image_aa.c
@@ -12,14 +12,14 @@ calc_irregular_coverage(Line* spans, int eidx, int y, int 
diagonal,
int edge_dist, Eina_Bool reverse)
 {
if (eidx == 1) reverse = !reverse;
-   int coverage = (256 / (diagonal + 2));
+   int coverage = (255 / (diagonal + 2));
int tmp;
for (int ry = 0; ry < (diagonal + 2); ry++)
  {
 tmp = y - ry - edge_dist;
 if (tmp < 0) return;
 spans[tmp].aa_len[eidx] = 1;
-if (reverse) spans[tmp].aa_cov[eidx] = 256 - (coverage * ry);
+if (reverse) spans[tmp].aa_cov[eidx] = 255 - (coverage * ry);
 else spans[tmp].aa_cov[eidx] = (coverage * ry);
  }
 }
@@ -28,14 +28,14 @@ static void
 calc_vert_coverage(Line *spans, int eidx, int y, int rewind, Eina_Bool reverse)
 {
if (eidx == 1) reverse = !reverse;
-   int coverage = (256 / (rewind + 1));
+   int coverage = (255 / (rewind + 1));
int tmp;
for (int ry = 1; ry < (rewind + 1); ry++)
  {
 tmp = y - ry;
 if (tmp < 0 ) return;
 spans[tmp].aa_len[eidx] = 1;
-if (reverse) spans[tmp].aa_cov[eidx] = (256 - (coverage * ry));
+if (reverse) spans[tmp].aa_cov[eidx] = (255 - (coverage * ry));
 else spans[tmp].aa_cov[eidx] = (coverage * ry);
  }
 }
@@ -46,7 +46,7 @@ calc_horiz_coverage(Line *spans, int eidx, int y, int x, int 
x2)
if (spans[y].aa_len[eidx] < abs(x - x2))
  {
 spans[y].aa_len[eidx] = abs(x - x2);
-spans[y].aa_cov[eidx] = (256 / (spans[y].aa_len[eidx] + 1));
+spans[y].aa_cov[eidx] = (255 / (spans[y].aa_len[eidx] + 1));
  }
 }
 
@@ -61,7 +61,7 @@ _aa_coverage_apply(Line *line, int ww, int w, DATA32 val, 
Eina_Bool src_alpha)
//Right Edge Anti Aliasing
if (line->aa_len[1] >= ww)
  {
-return MUL_256(256 - (line->aa_cov[1] * (line->aa_len[1] - ww + 1)),
+return MUL_256(255 - (line->aa_cov[1] * (line->aa_len[1] - ww + 1)),
val);
  }
//Remove Transparency if src image alpha is off.

-- 




[EGIT] [core/efl] master 01/01: evas map: ++safety anti-aliasing processing.

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

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

commit 40bc81ae2ba30c371439fde3381cba16bf2b0677
Author: Hermet Park 
Date:   Tue Mar 5 17:11:20 2019 +0900

evas map: ++safety anti-aliasing processing.

there was a potential case that overflow range.
here it kicks it out.
---
 src/lib/evas/common/evas_map_image_aa.c | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/lib/evas/common/evas_map_image_aa.c 
b/src/lib/evas/common/evas_map_image_aa.c
index 6c829eac17..247ccc2367 100644
--- a/src/lib/evas/common/evas_map_image_aa.c
+++ b/src/lib/evas/common/evas_map_image_aa.c
@@ -234,8 +234,12 @@ _calc_aa_edges_internal(Line *spans, int eidx, int ystart, 
int yend)
 calc_horiz_coverage(spans, eidx, y, tx[0], tx[1]);
  }
else
- calc_vert_coverage(spans, eidx, (y + 1), (edge_diff.y + 2),
-(prev_dir & 0x0001));
+ {
+++y;
+if (y > yend) y = yend;
+calc_vert_coverage(spans, eidx, y, (edge_diff.y + 2),
+   (prev_dir & 0x0001));
+ }
 }
 
 static void

-- 




[EGIT] [core/efl] master 01/01: canvas vg: prevent vector rendering corruption.

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

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

commit 88b4646ea7bbe003f337a0ea0536b11eccf3a3c5
Author: Hermet Park 
Date:   Thu Mar 7 21:27:51 2019 +0900

canvas vg: prevent vector rendering corruption.

It may occur some threading corruption, since ector raster uses thread
internally. Unfortunately the issue is rarely occured, hardly catch
the exact point. But I guess this ector drawing range may be the root cause.
Commented out them as it did before, until we could make the issue sure.
---
 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 e40fe78f78..63609dc0b0 100644
--- a/src/lib/evas/canvas/efl_canvas_vg_object.c
+++ b/src/lib/evas/canvas/efl_canvas_vg_object.c
@@ -421,9 +421,9 @@ _render_to_buffer(Evas_Object_Protected_Data *obj, 
Efl_Canvas_Vg_Object_Data *pd
evas_common_draw_context_set_color(context, 255, 255, 255, 255);
 
//ector begin - end for drawing mask images.
-   ENFN->ector_begin(engine, buffer, context, ector, 0, 0, EINA_FALSE, 
EINA_FALSE);
+   //ENFN->ector_begin(engine, buffer, context, ector, 0, 0, EINA_FALSE, 
EINA_FALSE);
_evas_vg_render_pre(obj, root, engine, buffer, context, ector, NULL, NULL, 
0);
-   ENFN->ector_end(engine, buffer, context, ector, EINA_FALSE);
+   //ENFN->ector_end(engine, buffer, context, ector, EINA_FALSE);
 
//Actual content drawing
ENFN->ector_begin(engine, buffer, context, ector, 0, 0, EINA_TRUE, 
do_async);

-- 




[EGIT] [core/efl] master 01/01: elementary: replace deprecated api usage with correct one.

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

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

commit 5ecbc1bfea1109bf90e2d9663f1da34632f80d13
Author: Hermet Park 
Date:   Fri Mar 8 13:38:32 2019 +0900

elementary: replace deprecated api usage with correct one.
---
 src/examples/elementary/inwin_example.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/examples/elementary/inwin_example.c 
b/src/examples/elementary/inwin_example.c
index 48b9820246..76dbffa2ee 100644
--- a/src/examples/elementary/inwin_example.c
+++ b/src/examples/elementary/inwin_example.c
@@ -134,7 +134,7 @@ elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
 
evas_object_smart_callback_add(o, "clicked", _btn_click_cb, NULL);
 
-   if (!strncmp(elm_config_engine_get(), "shot", 4))
+   if (!strncmp(elm_config_preferred_engine_get(), "shot", 4))
  ecore_timer_add(0.1, _screenshot_hack_cb, o);
 
evas_object_resize(win, 400, 400);

-- 




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

2019-05-12 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: evas svg: replace internal vg legacy calls with interfaces.

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

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

commit 2fdbc21c030e0cafd3ea85f4f6a9d728ce4d5a6d
Author: Hermet Park 
Date:   Mon Mar 11 16:23:27 2019 +0900

evas svg: replace internal vg legacy calls with interfaces.
---
 src/static_libs/vg_common/vg_common_svg.c | 134 +++---
 1 file changed, 66 insertions(+), 68 deletions(-)

diff --git a/src/static_libs/vg_common/vg_common_svg.c 
b/src/static_libs/vg_common/vg_common_svg.c
index c55a05775b..d960d9d042 100644
--- a/src/static_libs/vg_common/vg_common_svg.c
+++ b/src/static_libs/vg_common/vg_common_svg.c
@@ -566,9 +566,9 @@ _apply_gradient_property(Svg_Style_Gradient *g, Efl_VG *vg, 
Efl_VG *parent, Vg_F
 
if (g->type == SVG_LINEAR_GRADIENT)
  {
-grad_obj = evas_vg_gradient_linear_add(parent);
-evas_vg_gradient_linear_start_set(grad_obj, g->linear->x1 * r.w + r.x, 
g->linear->y1 * r.h + r.y);
-evas_vg_gradient_linear_end_set(grad_obj, g->linear->x2 * r.w + r.x, 
g->linear->y2 * r.h + r.y);
+grad_obj = efl_add(EFL_CANVAS_VG_GRADIENT_LINEAR_CLASS, parent);
+efl_gfx_gradient_linear_start_set(grad_obj, g->linear->x1 * r.w + r.x, 
g->linear->y1 * r.h + r.y);
+efl_gfx_gradient_linear_end_set(grad_obj, g->linear->x2 * r.w + r.x, 
g->linear->y2 * r.h + r.y);
  }
else if (g->type == SVG_RADIAL_GRADIENT)
  {
@@ -583,10 +583,10 @@ _apply_gradient_property(Svg_Style_Gradient *g, Efl_VG 
*vg, Efl_VG *parent, Vg_F
  int min = (r.h > r.w) ? r.w : r.h;
  radius = sqrt(pow(min, 2) + pow(min, 2)) / sqrt(2.0);
   }
-grad_obj = evas_vg_gradient_radial_add(parent);
-evas_vg_gradient_radial_center_set(grad_obj, g->radial->cx * r.w + 
r.x, g->radial->cy * r.h + r.y);
-evas_vg_gradient_radial_radius_set(grad_obj, g->radial->r * radius);
-evas_vg_gradient_radial_focal_set(grad_obj, g->radial->fx * r.w + r.x, 
g->radial->fy * r.h + r.y);
+grad_obj = efl_add(EFL_CANVAS_VG_GRADIENT_RADIAL_CLASS, parent);
+efl_gfx_gradient_radial_center_set(grad_obj, g->radial->cx * r.w + 
r.x, g->radial->cy * r.h + r.y);
+efl_gfx_gradient_radial_radius_set(grad_obj, g->radial->r * radius);
+efl_gfx_gradient_radial_focal_set(grad_obj, g->radial->fx * r.w + r.x, 
g->radial->fy * r.h + r.y);
 
 /* in case of objectBoundingBox it need proper scaling */
 if (!g->user_space)
@@ -635,7 +635,7 @@ _apply_gradient_property(Svg_Style_Gradient *g, Efl_VG *vg, 
Efl_VG *parent, Vg_F
 return NULL;
  }
// apply common prperty
-   evas_vg_gradient_spread_set(grad_obj, g->spread);
+   efl_gfx_gradient_spread_set(grad_obj, g->spread);
// update the stops
stop_count = eina_list_count(g->stops);
if (stop_count)
@@ -651,7 +651,7 @@ _apply_gradient_property(Svg_Style_Gradient *g, Efl_VG *vg, 
Efl_VG *parent, Vg_F
  stops[i].offset = stop->offset;
  i++;
   }
-evas_vg_gradient_stop_set(grad_obj, stops, stop_count);
+efl_gfx_gradient_stop_set(grad_obj, stops, stop_count);
 free(stops);
  }
return grad_obj;
@@ -669,7 +669,7 @@ _apply_vg_property(Svg_Node *node, Efl_VG *vg, Efl_VG 
*parent, Vg_File_Data *vg_
 
// apply the transformation
if (node->transform)
- evas_vg_node_transformation_set(vg, node->transform);
+ efl_canvas_vg_node_transformation_set(vg, node->transform);
 
if ((node->type == SVG_NODE_G) || (node->type == SVG_NODE_DOC)) return;
 
@@ -683,25 +683,25 @@ _apply_vg_property(Svg_Node *node, Efl_VG *vg, Efl_VG 
*parent, Vg_File_Data *vg_
else if (style->fill.paint.gradient)
  {
 // if the fill has gradient then apply.
-evas_vg_shape_fill_set(vg, 
_apply_gradient_property(style->fill.paint.gradient, vg, parent, vg_data));
+efl_canvas_vg_shape_fill_set(vg, 
_apply_gradient_property(style->fill.paint.gradient, vg, parent, vg_data));
  }
else if (style->fill.paint.cur_color)
  {
 // apply the current style color
-evas_vg_node_color_set(vg, style->r, style->g,
-   style->b, style->fill.opacity);
+efl_gfx_color_set(vg, style->r, style->g,
+  style->b, style->fill.opacity);
  }
else
  {
 // apply the fill color
-evas_vg_node_color_set(vg, style->fill.paint.r, style->fill.paint.g,
-   style->fill.paint.b, style->fill.opacity);
+efl_gfx_color_set(vg, style->fill.paint.r, style->fill.paint.g,
+  style->fill.paint.b, style->fill.opacity);
  }
 
-   evas_vg_shape_stroke_width_set(vg, style->stroke.width);
-   

[EGIT] [core/efl] master 01/01: canvas vg: remove efl_file_loaded() overriding.

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

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

commit 6524589e861639710d84e9f76e3ea9ea60d571a2
Author: Hermet Park 
Date:   Mon Mar 11 20:05:20 2019 +0900

canvas vg: remove efl_file_loaded() overriding.

vg_entry ptr can't gurantee that new setting file is loaded or not.
---
 src/lib/evas/canvas/efl_canvas_vg_object.c  | 6 --
 src/lib/evas/canvas/efl_canvas_vg_object.eo | 1 -
 2 files changed, 7 deletions(-)

diff --git a/src/lib/evas/canvas/efl_canvas_vg_object.c 
b/src/lib/evas/canvas/efl_canvas_vg_object.c
index 63609dc0b0..abff8069aa 100644
--- a/src/lib/evas/canvas/efl_canvas_vg_object.c
+++ b/src/lib/evas/canvas/efl_canvas_vg_object.c
@@ -244,12 +244,6 @@ _efl_canvas_vg_object_viewbox_align_get(const Eo *obj 
EINA_UNUSED, Efl_Canvas_Vg
if (align_y) *align_y = pd->align_y;
 }
 
-EOLIAN static Eina_Bool
-_efl_canvas_vg_object_efl_file_loaded_get(const Eo *eo_obj EINA_UNUSED, 
Efl_Canvas_Vg_Object_Data *pd)
-{
-   return !!pd->vg_entry;
-}
-
 EOLIAN static Eina_Error
 _efl_canvas_vg_object_efl_file_load(Eo *eo_obj, Efl_Canvas_Vg_Object_Data *pd)
 {
diff --git a/src/lib/evas/canvas/efl_canvas_vg_object.eo 
b/src/lib/evas/canvas/efl_canvas_vg_object.eo
index b458edf70a..f46f32e20c 100644
--- a/src/lib/evas/canvas/efl_canvas_vg_object.eo
+++ b/src/lib/evas/canvas/efl_canvas_vg_object.eo
@@ -74,7 +74,6 @@ class @beta Efl.Canvas.Vg.Object extends Efl.Canvas.Object 
implements Efl.File,
   Efl.Object.destructor;
   Efl.File.load;
   Efl.File.unload;
-  Efl.File.loaded { get; }
   Efl.File_Save.save;
}
 }

-- 




[EGIT] [core/efl] master 01/01: evas vg: replace to eina_file instance caching by vg.

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

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

commit d45e3df689d39c572786385a79e8fceded2dfdc6
Author: Hermet Park 
Date:   Tue Mar 12 12:53:35 2019 +0900

evas vg: replace to eina_file instance caching by vg.

Here is a replacement to use eina_file from a vg obj instance
to map file data by vg loaders.

This brings a benefit that integrated access to load data
between vg object and vg loaders.
---
 src/lib/evas/canvas/efl_canvas_vg_object.c | 58 +++---
 src/lib/evas/canvas/efl_canvas_vg_object.eo|  1 +
 src/lib/evas/canvas/evas_vg_private.h  |  7 ++-
 src/lib/evas/include/evas_private.h|  2 +-
 src/lib/evas/vg/evas_vg_cache.c| 25 ++
 src/modules/evas/vg_loaders/eet/evas_vg_load_eet.c |  6 +--
 src/modules/evas/vg_loaders/svg/evas_vg_load_svg.c | 20 +++-
 7 files changed, 69 insertions(+), 50 deletions(-)

diff --git a/src/lib/evas/canvas/efl_canvas_vg_object.c 
b/src/lib/evas/canvas/efl_canvas_vg_object.c
index abff8069aa..9fc2d5e6f8 100644
--- a/src/lib/evas/canvas/efl_canvas_vg_object.c
+++ b/src/lib/evas/canvas/efl_canvas_vg_object.c
@@ -245,25 +245,54 @@ _efl_canvas_vg_object_viewbox_align_get(const Eo *obj 
EINA_UNUSED, Efl_Canvas_Vg
 }
 
 EOLIAN static Eina_Error
-_efl_canvas_vg_object_efl_file_load(Eo *eo_obj, Efl_Canvas_Vg_Object_Data *pd)
+_efl_canvas_vg_object_efl_file_file_set(Eo *eo_obj, Efl_Canvas_Vg_Object_Data 
*pd EINA_UNUSED, const char *file)
 {
-   Vg_Cache_Entry *old_entry;
-   const char *file;
+   /* Careful: delete previous vg entry.
+  When a new efl file is set, ex-file will be invalid.
+  Since vg cache hashes all file entries,
+  we must remove it from vg cache before we lost file handle. */
+   if (efl_file_loaded_get(eo_obj))
+ {
+const char *pname = efl_file_get(eo_obj);
+int pl = pname ? strlen(pname) : 0;
+int cl = file ? strlen(file) : 0;
+
+if ((pl != cl) || strcmp(pname, file))
+  {
+ Evas_Object_Protected_Data *obj;
+ obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS);
+ evas_cache_vg_entry_del(pd->vg_entry);
+ evas_object_change(eo_obj, obj);
+ pd->vg_entry = NULL;
+ evas_object_change(eo_obj, obj);
+  }
+ }
 
-   file = efl_file_get(eo_obj);
-   if (!file) return ENOENT;
+   Eina_Error err;
+   err = efl_file_set(efl_super(eo_obj, MY_CLASS), file);
+   if (err) return err;
 
-   old_entry = pd->vg_entry;
+   return 0;
+}
 
+EOLIAN static Eina_Error
+_efl_canvas_vg_object_efl_file_load(Eo *eo_obj, Efl_Canvas_Vg_Object_Data *pd)
+{
+   Eina_Error err;
+   if (efl_file_loaded_get(eo_obj)) return 0;
+
+   err = efl_file_load(efl_super(eo_obj, MY_CLASS));
+   if (err) return err;
+
+   const Eina_File *file = efl_file_mmap_get(eo_obj);
+   const char *key = efl_file_key_get(eo_obj);
Evas_Object_Protected_Data *obj;
-   obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS);
 
-   pd->vg_entry = evas_cache_vg_entry_create(file, efl_file_key_get(eo_obj),
+   obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS);
+   pd->vg_entry = evas_cache_vg_entry_create(file, key,
  obj->cur->geometry.w,
  obj->cur->geometry.h);
-
evas_object_change(eo_obj, obj);
-   evas_cache_vg_entry_del(old_entry);
 
return 0;
 }
@@ -271,18 +300,13 @@ _efl_canvas_vg_object_efl_file_load(Eo *eo_obj, 
Efl_Canvas_Vg_Object_Data *pd)
 EOLIAN static void
 _efl_canvas_vg_object_efl_file_unload(Eo *eo_obj, Efl_Canvas_Vg_Object_Data 
*pd)
 {
-   Vg_Cache_Entry *old_entry;
-
if (!efl_file_loaded_get(eo_obj)) return;
-   old_entry = pd->vg_entry;
 
Evas_Object_Protected_Data *obj;
obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS);
-
-   pd->vg_entry = NULL;
-
+   evas_cache_vg_entry_del(pd->vg_entry);
evas_object_change(eo_obj, obj);
-   evas_cache_vg_entry_del(old_entry);
+   pd->vg_entry = NULL;
 }
 
 EOLIAN static Eina_Bool
diff --git a/src/lib/evas/canvas/efl_canvas_vg_object.eo 
b/src/lib/evas/canvas/efl_canvas_vg_object.eo
index f46f32e20c..02562a4f56 100644
--- a/src/lib/evas/canvas/efl_canvas_vg_object.eo
+++ b/src/lib/evas/canvas/efl_canvas_vg_object.eo
@@ -74,6 +74,7 @@ class @beta Efl.Canvas.Vg.Object extends Efl.Canvas.Object 
implements Efl.File,
   Efl.Object.destructor;
   Efl.File.load;
   Efl.File.unload;
+  Efl.File.file { set; }
   Efl.File_Save.save;
}
 }
diff --git a/src/lib/evas/canvas/evas_vg_private.h 
b/src/lib/evas/canvas/evas_vg_private.h
index 7fb62d4827..f4c47de4bb 100644
--- a/src/lib/evas/canvas/evas_vg_private.h
+++ b/src/lib/evas/canvas/evas_vg_private.h
@@ -19,14 +19,13 @@ typedef struct _Vg_Cache
 typedef struct _Vg_Cache_Entr

[EGIT] [editors/vim-configs] master 01/01: vim: update edc syntax

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

http://git.enlightenment.org/editors/vim-configs.git/commit/?id=28f414ecb590789366140215fe3b6a583f8abe2d

commit 28f414ecb590789366140215fe3b6a583f8abe2d
Author: Hermet Park 
Date:   Fri Mar 15 19:57:32 2019 +0900

vim: update edc syntax

add "vector" keyword.
---
 syntax/edc.vim | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/syntax/edc.vim b/syntax/edc.vim
index 96edbe1..65519e4 100644
--- a/syntax/edc.vim
+++ b/syntax/edc.vim
@@ -33,7 +33,7 @@ syn keyword   edcLabeluse_alternate_font_metrics 
entry_mode contained
 syn keywordedcLabelsource source2 source3 source4 contained
 syn keywordedcLabelsource5 source6 multiline pointer_mode contained
 syn keywordedcLabelstate visible step aspect fixed middle contained
-syn keywordedcLabelaspect_preference ellipsis elipsis image 
contained
+syn keywordedcLabelaspect_preference ellipsis elipsis image vector 
contained
 syn keywordedcLabelrelative offset to to_x to_y contained
 syn keywordedcLabelsource_visible source_clip contained
 syn keywordedcLabelborder border_scale border_scale_by scale_hint 
color color2 color3 font size contained

-- 




[EGIT] [core/efl] master 01/01: efl_ui_image: remove job in sizing calc.

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

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

commit 620eb070f40f398ecb180181f98469fbb6ac9dd8
Author: Hermet Park 
Date:   Mon Mar 25 19:46:24 2019 +0900

efl_ui_image: remove job in sizing calc.

Originally, this job task was introduced for trick optimization to avoid
unnecessary duplicated compuation.

But this introduced a regression bug as well, image geometry updation was
delayed by this.

So, we remove the job here.

@fix T7360
---
 src/lib/elementary/efl_ui_image.c| 21 -
 src/lib/elementary/efl_ui_widget_image.h |  2 --
 2 files changed, 4 insertions(+), 19 deletions(-)

diff --git a/src/lib/elementary/efl_ui_image.c 
b/src/lib/elementary/efl_ui_image.c
index 56be05583e..a1bbe2f239 100644
--- a/src/lib/elementary/efl_ui_image.c
+++ b/src/lib/elementary/efl_ui_image.c
@@ -600,7 +600,6 @@ _efl_ui_image_efl_canvas_group_group_del(Eo *obj, 
Efl_Ui_Image_Data *sd)
if (elm_widget_is_legacy(obj))
  efl_event_callback_del(obj, EFL_GFX_ENTITY_EVENT_HINTS_CHANGED,
 _on_size_hints_changed, sd);
-   ecore_job_del(sd->sizing_job);
ecore_timer_del(sd->anim_timer);
evas_object_del(sd->img);
_prev_img_del(sd);
@@ -741,18 +740,15 @@ _key_action_activate(Evas_Object *obj, const char *params 
EINA_UNUSED)
return EINA_TRUE;
 }
 
-static void
-_sizing_eval_cb(void *data)
+void
+_efl_ui_image_sizing_eval(Evas_Object *obj)
 {
-   Evas_Object *obj = data;
+   EFL_UI_IMAGE_DATA_GET_OR_RETURN(obj, sd);
+
Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1;
Eina_Size2D sz;
double ts;
 
-   EFL_UI_IMAGE_DATA_GET_OR_RETURN(obj, sd);
-
-   sd->sizing_job = NULL;
-
// TODO: remove this function after using the widget's scale value instead 
of image's scale value,
if (sd->no_scale)
  sd->scale = 1.0;
@@ -812,15 +808,6 @@ _sizing_eval_cb(void *data)
}
 }
 
-void
-_efl_ui_image_sizing_eval(Evas_Object *obj)
-{
-   EFL_UI_IMAGE_DATA_GET_OR_RETURN(obj, sd);
-
-   if (sd->sizing_job) ecore_job_del(sd->sizing_job);
-   sd->sizing_job = ecore_job_add(_sizing_eval_cb, obj);
-}
-
 static void
 _efl_ui_image_load_size_set_internal(Evas_Object *obj, Efl_Ui_Image_Data *sd)
 {
diff --git a/src/lib/elementary/efl_ui_widget_image.h 
b/src/lib/elementary/efl_ui_widget_image.h
index 5bdb566add..7a959d4cc6 100644
--- a/src/lib/elementary/efl_ui_widget_image.h
+++ b/src/lib/elementary/efl_ui_widget_image.h
@@ -91,8 +91,6 @@ struct _Efl_Ui_Image_Data
   Eina_Bool use : 1;
} freedesktop;
 
-   Ecore_Job *sizing_job;
-
Eina_Bool aspect_fixed : 1;
Eina_Bool fill_inside : 1;
Eina_Bool no_scale : 1;

-- 




[EGIT] [core/efl] master 01/01: canvas vg: fix wrong key pass for caching surface.

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

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

commit 08c65ed50130ec49b6a420aeb7b3a4cfd7f55b8a
Author: Hermet Park 
Date:   Tue Apr 2 15:17:24 2019 +0900

canvas vg: fix wrong key pass for caching surface.

There is a wrong case that fails caching ector surfaces.
Those vector objects manually constructing shapes,
passed wrong pointer as the cacahing key instead of root node pointer.

This fixes it.
---
 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 db8ec4fdf4..5beb30332b 100644
--- a/src/lib/evas/canvas/efl_canvas_vg_object.c
+++ b/src/lib/evas/canvas/efl_canvas_vg_object.c
@@ -547,7 +547,7 @@ _user_vg_entry_render(Evas_Object_Protected_Data *obj,
  {
 // render to the buffer
 buffer = _render_to_buffer(obj, pd, engine, user_entry->root,
-   w, h, user_entry, buffer,
+   w, h, user_entry->root, buffer,
do_async);
  }
else
@@ -557,7 +557,7 @@ _user_vg_entry_render(Evas_Object_Protected_Data *obj,
   buffer = _render_to_buffer(obj, pd, engine,
  user_entry->root,
  w, h,
- user_entry,
+ user_entry->root,
  buffer,
  do_async);
 //cache reference was increased when we get the cache.

-- 




[EGIT] [admin/devs] master 01/01: + two probies - yohoho, jsuya

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

http://git.enlightenment.org/admin/devs.git/commit/?id=2344fd7be48c5947bb6b058f760444848d326676

commit 2344fd7be48c5947bb6b058f760444848d326676
Author: Hermet Park 
Date:   Tue Apr 2 20:58:34 2019 +0900

+ two probies - yohoho, jsuya

I believe these two probies will help to improve efl.
---
 probies/jsuya/id_rsa.pub  | 1 +
 probies/jsuya/info.txt| 9 +
 probies/yohoho/id_rsa.pub | 1 +
 probies/yohoho/info.txt   | 8 
 4 files changed, 19 insertions(+)

diff --git a/probies/jsuya/id_rsa.pub b/probies/jsuya/id_rsa.pub
new file mode 100644
index 000..ae54df7
--- /dev/null
+++ b/probies/jsuya/id_rsa.pub
@@ -0,0 +1 @@
+ssh-rsa 
B3NzaC1yc2EDAQABAAABAQCjkvYtTvbTwQpoyzWU8dQfaViztzDJkKGkomj3zc4veXcxQfmCfvY99TMUEIuwLYkaVi/xUXr5K0ZrZigOPVzejcANWnW4ZaJqadxlkGILkEj3T72Z97UkTcN4U+rSkrlbm45FUUBE/DS1Q+rcgDNSTe/mPxo63LPG3MJmLoh+pcvld0n3JGRdc51jTvAClsTLB/KwjdtCHzydpp7R8STjHeR7MB/3Ap5sbgsbOsmGiwuZWtjFGYyAZwxN/FDuhzktszCSTRxIpzLZ/MJvW3BQAXUKw5pdHKniZPWXVudkYu4CblY9O2lBTx1TiRtk1ZfBr1QTgdK0r33cXn5fM9JV
 jsuya.c...@samsung.com
diff --git a/probies/jsuya/info.txt b/probies/jsuya/info.txt
new file mode 100644
index 000..4db6925
--- /dev/null
+++ b/probies/jsuya/info.txt
@@ -0,0 +1,9 @@
+Login:jsuya
+IRC Nick: jsuya
+Name: Junsu Choi
+Location: Seoul, Republic of Korea
+E-Mail:   junduru...@gmail.com, jsuya.c...@samsung.com
+Contributing: efl, vector, accessibility, ea_gen
+Group:Libraries
+Platform: Ubuntu
+
diff --git a/probies/yohoho/id_rsa.pub b/probies/yohoho/id_rsa.pub
new file mode 100644
index 000..a8b9ef2
--- /dev/null
+++ b/probies/yohoho/id_rsa.pub
@@ -0,0 +1 @@
+ssh-rsa 
B3NzaC1yc2EDAQABAAABAQDfvguUX9PFoG0bY3xeaG/EYJYQxm67IEDDdMU37yit1ewdpl9bMtVjqHRD7J2a7cO+acFvCAB7UPTgWX43sjt43qo54y87UJQhJ+fPDxw1uPzXk+2Eh/uYKgmSfXc+y/ZEUHyr2Bc/X8vZwUWjldLm/qmPTgY/PihyPWc4JtWGHxdAUoiCPZof3KE4mewTs5LSHL0pUzzjUueEIeFEQGw0MNcpAUvX2e7D5gTH30VvJMTJ9NDGBkqHDN3+e+K6YksTAG2EZEnyrQvqFFuPgBdc1UezGZO8O1PgknASKrwIVM3k7cvCyZVoTbNDw9pEy+zdX85qbrmHb2c2FYp/N0PL
 yohoho@yohoho-pc
diff --git a/probies/yohoho/info.txt b/probies/yohoho/info.txt
new file mode 100644
index 000..82b105b
--- /dev/null
+++ b/probies/yohoho/info.txt
@@ -0,0 +1,8 @@
+Login:yohoho
+IRC Nick: YOhoho
+Name: Yeongjong Lee
+Location: Seoul, Republic of Korea
+E-Mail:   clean...@naver.com, yj34@samsung.com
+Contributing: efl
+Group:Libraries
+Platform: Ubuntu
\ No newline at end of file

-- 




[EGIT] [admin/devs] master 01/01: + two probies - bowonryu, akanad

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

http://git.enlightenment.org/admin/devs.git/commit/?id=40a0979d9735e61aacc6815140d2584aebb4

commit 40a0979d9735e61aacc6815140d2584aebb4
Author: Hermet Park 
Date:   Thu Apr 4 19:31:13 2019 +0900

+ two probies - bowonryu, akanad

Added two more develoeprs who have actively worked in
efl community for several years.
---
 probies/akanad/id_rsa.pub   | 1 +
 probies/akanad/info.txt | 8 
 probies/bowonryu/id_rsa.pub | 1 +
 probies/bowonryu/info.txt   | 8 
 4 files changed, 18 insertions(+)

diff --git a/probies/akanad/id_rsa.pub b/probies/akanad/id_rsa.pub
new file mode 100644
index 000..e979a4e
--- /dev/null
+++ b/probies/akanad/id_rsa.pub
@@ -0,0 +1 @@
+ssh-rsa 
B3NzaC1yc2EDAQABAAABAQDa3SEQwH+Ofxksv71GEriAeJFerSQslOFalXqhEGvRWgjbfuUcjaM7/CEl/schxv2Dqh05f8CB9PX4KrWApvjoRQP9b8PLFcFGP3gXqk9LztvJfkqbseJhCtZcwqS6LL5c+hZnhTljwWpsc/GJ6VKeHaTeKqR7YXq41YJyiPKhxTtflZNNx1PfBWXaBTceUFREwhLEs4ETehVmyAhZRyI0/E4poblqIgUjvJ70D47gbLxeqqJ+dGliCEMKG+sCx5/4b6G2qSFcZ+z74vPH6/Jmdz6V4r6TfYFmhjvFrXaBWutIgIgQx6R2MUH+YrHpRxeKIr1ZcIYzpmebTsRJzY1X
 wonki_@samsung.com
diff --git a/probies/akanad/info.txt b/probies/akanad/info.txt
new file mode 100644
index 000..3a7a371
--- /dev/null
+++ b/probies/akanad/info.txt
@@ -0,0 +1,8 @@
+Login:akanad
+IRC Nick: wonki
+Name: Wonki Kim
+Location: Seoul, Republic of Korea
+E-Mail:   aka...@gmail.com, wonki_@samsung.com
+Contributing: efl, ea_gen
+Group:Libraries
+Platform: Ubuntu
diff --git a/probies/bowonryu/id_rsa.pub b/probies/bowonryu/id_rsa.pub
new file mode 100644
index 000..699ef34
--- /dev/null
+++ b/probies/bowonryu/id_rsa.pub
@@ -0,0 +1 @@
+ssh-rsa 
B3NzaC1yc2EDAQABAAABAQCxZGrD/fzENBOf7JeCNXyqlle2CxCt6WcOI/Nr3h8EEGUEpBxc5p0z1NvG6wtMWUviUIskcq+8lcLFhyZLompenEkdcnEZcGrKZbKJQljGtonN8s8rD2VLDrCvowbXavfnLp+7LY6kmnpLosztW8KJ2/tGhkrHaJVvkLWh+NYsh/llBTM8oO2a3wsYDvtI/YTL//9v+RgbP8tOxK3pK03bJeBIFy2+UvqqG4ozJqkSDJmqI5eByXwnL5LWNTDBfZZXenMXRXotcs0eBsNADFSNC+MbkqC4jIJOMH/GlV1mLrafSTat+YJ7fIPzFmBb94H72wGfgUI+LpWXG2HyN6ZD
 bowon@bowon
diff --git a/probies/bowonryu/info.txt b/probies/bowonryu/info.txt
new file mode 100644
index 000..0924e5d
--- /dev/null
+++ b/probies/bowonryu/info.txt
@@ -0,0 +1,8 @@
+Login:bowonryu
+IRC Nick: wonrst
+Name: Bowon Ryu
+Location: Seoul, Republic of Korea
+E-Mail:   won...@gmail.com, bowon@samsung.com
+Contributing: efl, enventor, ea_gen
+Group:Libraries
+Platform: Ubuntu

-- 




[EGIT] [core/efl] master 01/01: canvas vg: code refactoring.

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

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

commit 6b4953b468d463119b175bc2331adeb1adf9bd55
Author: Hermet Park 
Date:   Mon Apr 8 13:15:45 2019 +0900

canvas vg: code refactoring.

Summary: Remove unnecessary argument of an internal function.

Reviewers: #committers, jsuya, cedric

Reviewed By: #committers, cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8530
---
 src/lib/evas/canvas/efl_canvas_vg_object.c | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/lib/evas/canvas/efl_canvas_vg_object.c 
b/src/lib/evas/canvas/efl_canvas_vg_object.c
index 5beb30332b..de21469c5c 100644
--- a/src/lib/evas/canvas/efl_canvas_vg_object.c
+++ b/src/lib/evas/canvas/efl_canvas_vg_object.c
@@ -414,8 +414,8 @@ _evas_vg_render(Evas_Object_Protected_Data *obj, 
Efl_Canvas_Vg_Object_Data *pd,
 //renders a vg_tree to an offscreen buffer and push it to the cache.
 static void *
 _render_to_buffer(Evas_Object_Protected_Data *obj, Efl_Canvas_Vg_Object_Data 
*pd,
-  void *engine, Efl_VG *root, int w, int h, void *key,
-  void *buffer, Eina_Bool do_async)
+  void *engine, Efl_VG *root, int w, int h, void *buffer,
+  Eina_Bool do_async)
 {
Ector_Surface *ector;
RGBA_Draw_Context *context;
@@ -458,7 +458,10 @@ _render_to_buffer(Evas_Object_Protected_Data *obj, 
Efl_Canvas_Vg_Object_Data *pd
evas_common_draw_context_free(context);
 
if (buffer_created)
- ENFN->ector_surface_cache_set(engine, key, buffer);
+ {
+//Use root as a cache key.
+ENFN->ector_surface_cache_set(engine, root, buffer);
+ }
 
return buffer;
 }
@@ -510,8 +513,7 @@ _cache_vg_entry_render(Evas_Object_Protected_Data *obj,
void *buffer = ENFN->ector_surface_cache_get(engine, root);
 
if (!buffer)
- buffer = _render_to_buffer(obj, pd, engine, root, w, h, root, NULL,
-do_async);
+ buffer = _render_to_buffer(obj, pd, engine, root, w, h, NULL, do_async);
else
  //cache reference was increased when we get the cache.
  ENFN->ector_surface_cache_drop(engine, root);
@@ -547,8 +549,7 @@ _user_vg_entry_render(Evas_Object_Protected_Data *obj,
  {
 // render to the buffer
 buffer = _render_to_buffer(obj, pd, engine, user_entry->root,
-   w, h, user_entry->root, buffer,
-   do_async);
+   w, h, buffer, do_async);
  }
else
  {
@@ -557,7 +558,6 @@ _user_vg_entry_render(Evas_Object_Protected_Data *obj,
   buffer = _render_to_buffer(obj, pd, engine,
  user_entry->root,
  w, h,
- user_entry->root,
  buffer,
  do_async);
 //cache reference was increased when we get the cache.

-- 




[EGIT] [core/efl] master 01/01: efl_ui_textpath : enable anti-alising for better quality.

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

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

commit 31cf281bdd5723ac9fc6b82a4f89790cad5abeb2
Author: Hermet Park 
Date:   Mon Apr 8 13:16:24 2019 +0900

efl_ui_textpath : enable anti-alising for better quality.

Summary:
Current textpath on sw rendering is too jiggled,
quaility is very poor to use.

This option uses better quality texture mapping logic
in order to improve the image quality.

Depends on D8106

Reviewers: #committers

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8465
---
 src/lib/elementary/efl_ui_textpath.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/elementary/efl_ui_textpath.c 
b/src/lib/elementary/efl_ui_textpath.c
index 483c8ffdeb..b602f6c9d7 100644
--- a/src/lib/elementary/efl_ui_textpath.c
+++ b/src/lib/elementary/efl_ui_textpath.c
@@ -390,6 +390,7 @@ _text_draw(void *data)
 remained_w -= seg->length;
  }
evas_object_map_enable_set(pd->text_obj, EINA_TRUE);
+   evas_object_anti_alias_set(pd->text_obj, EINA_TRUE);
evas_object_map_set(pd->text_obj, map);
evas_map_free(map);
 

-- 




[EGIT] [core/efl] master 01/01: canvas map: introduce a new texture mapping for better quality.

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

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

commit 84e162b01f542f31bc1c6dfc0f190eb965211229
Author: Hermet Park 
Date:   Mon Apr 8 13:21:07 2019 +0900

canvas map: introduce a new texture mapping for better quality.

Summary:
This new implementation of evas map texture mapping
 is designed for high quality rendering same level to GL.

If you use a high-end device, performance is not too bad, you can turn this 
on.
You might have practical image quality even in software rendering.

Since this implementation still have a few optimization points (+simd)
and stablizings, it may be useful in somewhat limited envrionments right 
now.
However the functionality definitely works fine, so please turn this on by
demand (anti_alias + smooth) for a while.

{F3667773} {F3667776} {F3667778}

Reviewers: #committers, devilhorns, raster

Reviewed By: #committers, raster

Subscribers: raster, devilhorns, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8106
---
 src/lib/evas/common/evas_map_image.c   |   67 +-
 src/lib/evas/common/evas_map_image_internal.c  |1 +
 src/lib/evas/common/evas_map_image_internal_high.c | 1061 
 3 files changed, 1120 insertions(+), 9 deletions(-)

diff --git a/src/lib/evas/common/evas_map_image.c 
b/src/lib/evas/common/evas_map_image.c
index 05c8e600f2..114cfa8050 100644
--- a/src/lib/evas/common/evas_map_image.c
+++ b/src/lib/evas/common/evas_map_image.c
@@ -653,6 +653,7 @@ evas_common_map_rgba_prepare(RGBA_Image *src, RGBA_Image 
*dst,
 #  undef SCALE_USING_NEON
 #endif
 
+#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)
@@ -684,6 +685,34 @@ void evas_common_map_rgba_internal_mmx(RGBA_Image *src, 
RGBA_Image *dst, RGBA_Dr
 }
 #endif
 
+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;
+   DATA32 mul_col;
+
+   if (dc->clip.use)
+ {
+clip_x = dc->clip.x;
+clip_y = dc->clip.y;
+clip_w = dc->clip.w;
+clip_h = dc->clip.h;
+ }
+   else
+ {
+clip_x = clip_y = 0;
+clip_w = dst->cache_entry.w;
+clip_h = dst->cache_entry.h;
+ }
+
+   mul_col = dc->mul.use ? dc->mul.col : 0x;
+
+   _evas_common_map_rgba_internal_high(src, dst,
+   clip_x, clip_y, clip_w, clip_h,
+   mul_col, dc->render_op,
+   p, smooth, dc->anti_alias, level,
+   dc->clip.mask, dc->clip.mask_x, 
dc->clip.mask_y);
+}
+
 void evas_common_map_rgba_internal(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;
@@ -836,20 +865,28 @@ evas_common_map_rgba(RGBA_Image *src, RGBA_Image *dst,
  int smooth, int level)
 {
Evas_Common_Map_RGBA_Cb cb;
-#ifdef BUILD_MMX
-   int mmx, sse, sse2;
 
-   evas_common_cpu_can_do(&mmx, &sse, &sse2);
-   if (mmx)
- cb = evas_common_map_rgba_internal_mmx;
+   if (dc->anti_alias && smooth)
+ {
+cb = evas_common_map_rgba_internal_high;
+ }
else
+ {
+#ifdef BUILD_MMX
+int mmx, sse, sse2;
+
+evas_common_cpu_can_do(&mmx, &sse, &sse2);
+if (mmx)
+  cb = evas_common_map_rgba_internal_mmx;
+else
 #endif
 #ifdef BUILD_NEON
-   if (evas_common_cpu_has_feature(CPU_FEATURE_NEON))
- cb = evas_common_map_rgba_internal_neon;
-   else
+  if (evas_common_cpu_has_feature(CPU_FEATURE_NEON))
+cb = evas_common_map_rgba_internal_neon;
+  else
 #endif
- cb = evas_common_map_rgba_internal;
+cb = evas_common_map_rgba_internal;
+ }
 
evas_common_map_rgba_cb(src, dst, dc, npoints, p, smooth, level, cb);
 }
@@ -857,6 +894,17 @@ evas_common_map_rgba(RGBA_Image *src, RGBA_Image *dst,
 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 (anti_alias && smooth)
+ {
+_evas_common_map_rgba_internal_high(src, dst,
+clip_x, clip_y, clip_w, clip_h,
+  

[EGIT] [core/efl] master 01/01: evas map: remove redundant code.

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

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

commit d5551bdda3cb72ea3209e9ef7a2f45c1ecdff59d
Author: Hermet Park 
Date:   Mon Apr 8 14:53:47 2019 +0900

evas map: remove redundant code.

Remove old anti-alias code since high quality map is replaced with new one.
New anti-aliasing is logically same but having a regression bug,
it should be stablized.
---
 src/lib/evas/common/evas_map_image.c   |  12 +-
 src/lib/evas/common/evas_map_image_aa.c| 254 -
 src/lib/evas/common/evas_map_image_internal.c  |  13 +-
 src/lib/evas/common/evas_map_image_internal_high.c | 161 -
 src/lib/evas/common/evas_map_image_loop.c  |   2 -
 5 files changed, 13 insertions(+), 429 deletions(-)

diff --git a/src/lib/evas/common/evas_map_image.c 
b/src/lib/evas/common/evas_map_image.c
index 114cfa8050..369ea059ed 100644
--- a/src/lib/evas/common/evas_map_image.c
+++ b/src/lib/evas/common/evas_map_image.c
@@ -84,8 +84,6 @@ _interpolated_clip_span(Span *s, int c1, int c2, Eina_Bool 
interp_col)
  }
 }
 
-#include "evas_map_image_aa.c"
-
 // 12.63 % of time - this can improve
 static void
 _calc_spans(RGBA_Map_Point *p, Line *spans, int ystart, int yend, int cx, int 
cy EINA_UNUSED, int cw, int ch EINA_UNUSED)
@@ -861,14 +859,18 @@ evas_common_map_thread_rgba_cb(RGBA_Image *src, 
RGBA_Image *dst, RGBA_Draw_Conte
 EAPI void
 evas_common_map_rgba(RGBA_Image *src, RGBA_Image *dst,
  RGBA_Draw_Context *dc,
- int npoints EINA_UNUSED, RGBA_Map_Point *p,
+ int npoints, RGBA_Map_Point *p,
  int smooth, int level)
 {
Evas_Common_Map_RGBA_Cb cb;
 
if (dc->anti_alias && smooth)
  {
+//FIXME: we cannot apply anti_aliasing per polygons.
+Eina_Bool aa = dc->anti_alias;
+if (npoints > 4) dc->anti_alias = EINA_FALSE;
 cb = evas_common_map_rgba_internal_high;
+if (npoints > 4) dc->anti_alias = aa;
  }
else
  {
@@ -892,11 +894,13 @@ evas_common_map_rgba(RGBA_Image *src, RGBA_Image *dst,
 }
 
 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)
+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, 
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 (anti_alias && smooth)
  {
+//FIXME: we cannot apply anti_aliasing per polygons.
+if (npoints > 4) anti_alias = EINA_FALSE;
 _evas_common_map_rgba_internal_high(src, dst,
 clip_x, clip_y, clip_w, clip_h,
 mul_col, render_op,
diff --git a/src/lib/evas/common/evas_map_image_aa.c 
b/src/lib/evas/common/evas_map_image_aa.c
deleted file mode 100644
index 247ccc2367..00
--- a/src/lib/evas/common/evas_map_image_aa.c
+++ /dev/null
@@ -1,254 +0,0 @@
-#define PUSH_EDGE_POINT() \
-do \
-{ \
-   p_edge.x = spans[y].span[0].x[eidx]; \
-   p_edge.y = y; \
-   ptx[0] = tx[0]; \
-   ptx[1] = tx[1]; \
-} while (0)
-
-static void
-calc_irregular_coverage(Line* spans, int eidx, int y, int diagonal,
-   int edge_dist, Eina_Bool reverse)
-{
-   if (eidx == 1) reverse = !reverse;
-   int coverage = (255 / (diagonal + 2));
-   int tmp;
-   for (int ry = 0; ry < (diagonal + 2); ry++)
- {
-tmp = y - ry - edge_dist;
-if (tmp < 0) return;
-spans[tmp].aa_len[eidx] = 1;
-if (reverse) spans[tmp].aa_cov[eidx] = 255 - (coverage * ry);
-else spans[tmp].aa_cov[eidx] = (coverage * ry);
- }
-}
-
-static void
-calc_vert_coverage(Line *spans, int eidx, int y, int rewind, Eina_Bool reverse)
-{
-   if (eidx == 1) reverse = !reverse;
-   int coverage = (255 / (rewind + 1));
-   int tmp;
-   for (int ry = 1; ry < (rewind + 1); ry++)
- {
-tmp = y - ry;
-if (tmp < 0 ) return;
-spans[tmp].aa_len[eidx] = 1;
-if (reverse) spans[tmp].aa_cov[eidx] = (255 - (coverage * ry));
-else spans[tmp].aa_cov[eidx] = (coverage * ry);
- }
-}
-
-static void
-calc_horiz_coverage(Line *spans, int eidx, int y, int x, int x2)
-{
-   if (spans[y].aa_len[eidx] < abs(x - x2))
- {
-spans[y].aa_len[eidx] = abs(x - x2);
-spans[y].aa_cov[eidx] = (255 / (spans[y].aa_len[eidx] + 1));
- }
-}
-
-static inline DATA32
-_aa_coverage_apply(Line *line, int ww, int w, DATA32 val, Eina_Bool src_alpha)
-{
-  

[EGIT] [core/efl] master 01/01: evas map: disable anti_aliasing.

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

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

commit dc1e1a652cfd0c867b175aa7e5c13c73796ad1bd
Author: Hermet Park 
Date:   Mon Apr 8 15:02:47 2019 +0900

evas map: disable anti_aliasing.

We need a proper interface to toggle high-quality mapping,
until that, we disable the anti_aliasing feature.
Since adjecent polygons(such as textpath) shouldn't get this aa feature.
---
 src/lib/evas/common/evas_map_image.c   | 6 --
 src/lib/evas/common/evas_map_image_internal_high.c | 3 +++
 2 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/src/lib/evas/common/evas_map_image.c 
b/src/lib/evas/common/evas_map_image.c
index 369ea059ed..5036841a98 100644
--- a/src/lib/evas/common/evas_map_image.c
+++ b/src/lib/evas/common/evas_map_image.c
@@ -866,11 +866,7 @@ evas_common_map_rgba(RGBA_Image *src, RGBA_Image *dst,
 
if (dc->anti_alias && smooth)
  {
-//FIXME: we cannot apply anti_aliasing per polygons.
-Eina_Bool aa = dc->anti_alias;
-if (npoints > 4) dc->anti_alias = EINA_FALSE;
 cb = evas_common_map_rgba_internal_high;
-if (npoints > 4) dc->anti_alias = aa;
  }
else
  {
@@ -899,8 +895,6 @@ evas_common_map_rgba_draw(RGBA_Image *src, RGBA_Image *dst, 
int clip_x, int clip
//The best quaility requsted.
if (anti_alias && smooth)
  {
-//FIXME: we cannot apply anti_aliasing per polygons.
-if (npoints > 4) anti_alias = EINA_FALSE;
 _evas_common_map_rgba_internal_high(src, dst,
 clip_x, clip_y, clip_w, clip_h,
 mul_col, render_op,
diff --git a/src/lib/evas/common/evas_map_image_internal_high.c 
b/src/lib/evas/common/evas_map_image_internal_high.c
index 7efe5ff0ed..f842c7455d 100644
--- a/src/lib/evas/common/evas_map_image_internal_high.c
+++ b/src/lib/evas/common/evas_map_image_internal_high.c
@@ -764,6 +764,9 @@ _evas_common_map_rgba_internal_high(RGBA_Image *src, 
RGBA_Image *dst,
Eina_Bool dst_alpha = dst->cache_entry.flags.alpha;
Eina_Bool col_blend = EINA_FALSE;   //Necessary blending vertex color?
 
+   //FIXME: we cannot apply anti_aliasing per polygons.
+   anti_alias = EINA_FALSE;
+
/* Prepare points data. 
   Convert to float, 
   shift XY coordinates to match the sub-pixeling technique.

-- 




[EGIT] [core/efl] master 01/01: evas map: shut up annoying compile warnings.

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

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

commit f10bd61c9ded30ce1a928964e81c8191e0a5aee2
Author: Hermet Park 
Date:   Thu Apr 18 15:08:35 2019 +0900

evas map: shut up annoying compile warnings.

These variables must be logically initialized,
but compiler couldn't catch it, prints warnings.
---
 src/lib/evas/common/evas_map_image_internal_high.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/lib/evas/common/evas_map_image_internal_high.c 
b/src/lib/evas/common/evas_map_image_internal_high.c
index f842c7455d..b3945f94df 100644
--- a/src/lib/evas/common/evas_map_image_internal_high.c
+++ b/src/lib/evas/common/evas_map_image_internal_high.c
@@ -354,7 +354,8 @@ _map_triangle_draw_linear(RGBA_Image *src, RGBA_Image *dst,
int dw = dst->cache_entry.w;
int x1, x2, x, y, uu, vv, ar, ab, iru, irv, px, ay;
float dx, u, v, iptr;
-   float _dcdx[4], _dcdya[4], _ca[4], c[4];
+   float _dcdx[4], _dcdya[4], _ca[4];
+   float c[4] = {0, 0, 0, 0};
DATA32 *buf, *tmp;
DATA8 *mbuf;
 

-- 




[EGIT] [core/efl] master 01/01: evas common: small optimization.

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

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

commit 77a9093af7329d19ca7d8e62e40ef05a7261ac9b
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] master 01/01: canvas map: remove the workaround code.

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

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

commit cb33853ee889f0d71525fda4bb3980585f71253f
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] master 01/01: evas map: move to floating point coordinate system in high-quality drawing.

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

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

commit 9c66a4751ce350d9fa5fce1207b596d21884d859
Author: Hermet Park 
Date:   Thu Apr 18 19:30:33 2019 +0900

evas map: move to floating point coordinate system in high-quality drawing.

evas map has used integer coodinate system since it's born,

since object's transition is jiggled, not perfectly smooth.

It's obvious because Positioning must be stepping with integer units
without any subpixel rendering.

Currently, this patch is a sort of preparatory to improve this,
only valid for high-quality evas map (smooth + anti-aliasing)
---
 src/lib/evas/common/evas_map_image_internal_high.c  | 4 ++--
 src/modules/evas/engines/software_generic/evas_engine.c | 3 ++-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/lib/evas/common/evas_map_image_internal_high.c 
b/src/lib/evas/common/evas_map_image_internal_high.c
index b3945f94df..0fd3ce40a7 100644
--- a/src/lib/evas/common/evas_map_image_internal_high.c
+++ b/src/lib/evas/common/evas_map_image_internal_high.c
@@ -774,8 +774,8 @@ _evas_common_map_rgba_internal_high(RGBA_Image *src, 
RGBA_Image *dst,
   Check alpha transparency. */
for (int i = 0; i < 4; i++)
  {
-x[i] = ((float) (p[i].x >> FP)) + 0.5;
-y[i] = ((float) (p[i].y >> FP)) + 0.5;
+x[i] = p[i].fx + 0.5;
+y[i] = p[i].fy + 0.5;
 u[i] = (p[i].u >> FP);
 v[i] = (p[i].v >> FP);
 c[i] = p[i].col;
diff --git a/src/modules/evas/engines/software_generic/evas_engine.c 
b/src/modules/evas/engines/software_generic/evas_engine.c
index 7007f3a2fd..1b9aeed1c3 100644
--- a/src/modules/evas/engines/software_generic/evas_engine.c
+++ b/src/modules/evas/engines/software_generic/evas_engine.c
@@ -2494,7 +2494,8 @@ _draw_thread_map_draw(void *data)
  continue;
   }
 
-if ((m->pts[0 + offset].x == m->pts[3 + offset].x) &&
+if (!(map->anti_alias && map->smooth) &&//For sub-pixel rendering
+(m->pts[0 + offset].x == m->pts[3 + offset].x) &&
 (m->pts[1 + offset].x == m->pts[2 + offset].x) &&
 (m->pts[0 + offset].y == m->pts[1 + offset].y) &&
 (m->pts[3 + offset].y == m->pts[2 + offset].y) &&

-- 




[EGIT] [core/efl] master 01/01: evas gl: move to floating point coordinate system.

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

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

commit 3856e1a0026ff2c917b963051949a528db179d13
Author: Hermet Park 
Date:   Thu Apr 18 20:08:16 2019 +0900

evas gl: move to floating point coordinate system.

Summary:
GL engine has used integer coordinates system since it's born though
OpenGL basically uses floating point vertex coordinates system.

There were many dissatisfaction, complaints about this
since object's transition is jiggled, not perfectly smooth.

It's obvious because Positioning must be stepping with integer units
without any subpixel rendering.

Our gl engine currently supports msaa options and evas map allows to
have double precivion coordinates system, our engine must do handle this 
over as well,
to work together.

If you don't like change,

We could switch behaviors optionally (turn on, only when msaa is enabled)
But I think it's pointless using integer coordinates system in GL thesedays.
It just make code complex to maintain.

There will be an additional patch coming for SW backend map behavior soon.

Left: before patch
Right: after patch

{F3694624}

Reviewers: #committers, raster

Reviewed By: #committers, raster

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8552
---
 .../evas/engines/gl_common/evas_gl_common.h|  7 +-
 .../evas/engines/gl_common/evas_gl_context.c   | 75 +++---
 src/modules/evas/engines/gl_generic/evas_engine.c  |  7 +-
 src/modules/evas/engines/gl_x11/evas_x_main.c  |  1 +
 4 files changed, 46 insertions(+), 44 deletions(-)

diff --git a/src/modules/evas/engines/gl_common/evas_gl_common.h 
b/src/modules/evas/engines/gl_common/evas_gl_common.h
index ab9a54948d..2c74423f26 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_common.h
+++ b/src/modules/evas/engines/gl_common/evas_gl_common.h
@@ -308,8 +308,6 @@ struct _Evas_Engine_GL_Context
   Eina_Bool  size   : 1;
} change;
 
-   Eina_Bool havestuff  : 1;
-
struct {
   struct {
  int  x, y, w, h;
@@ -335,7 +333,7 @@ struct _Evas_Engine_GL_Context
   } shader;
   struct {
  intnum, alloc;
- GLshort   *vertex;
+ GLfloat   *vertex;
  GLubyte   *color;
  GLfloat   *texuv;
  GLfloat   *texuv2;
@@ -380,6 +378,9 @@ struct _Evas_Engine_GL_Context
 
GLuint preserve_bit;
intgles_version;
+
+   Eina_Bool havestuff : 1;
+   Eina_Bool msaa : 1;
 };
 
 struct _Evas_GL_Texture_Pool
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 2877007f42..c1f7d985b6 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_context.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_context.c
@@ -1403,7 +1403,7 @@ array_alloc(Evas_Engine_GL_Context *gc, int n)
   gc->pipe[n].array.field = _pipebuf_resize(gc->pipe[n].array.field, \
 gc->pipe[n].array.alloc * 
sizeof(type) * size)
 
-   RALOC(vertex, GLshort, VERTEX_CNT);
+   RALOC(vertex, GLfloat, VERTEX_CNT);
RALOC(color,  GLubyte, COLOR_CNT);
RALOC(texuv,  GLfloat, TEX_CNT);
RALOC(texa,   GLfloat, TEX_CNT);
@@ -1778,14 +1778,21 @@ static int
 pipe_region_intersects(Evas_Engine_GL_Context *gc, int n,
int x, int y, int w, int h)
 {
-   int rx, ry, rw, rh, ii, end;
-   const GLshort *v;
-   
+#define SPANS_INTERSECT(x1, w1, x2, w2) \
+(!x2) + (w2)) <= (x1)) || ((x2) >= ((x1) + (w1)
+
+#define REGIONS_INTERSECT(x, y, w, h, xx, yy, ww, hh) \
+((SPANS_COMMON((x), (w), (xx), (ww))) && (SPANS_COMMON((y), (h), (yy), (hh
+
+   float rx, ry, rw, rh;
+   int ii, end;
+   const GLfloat *v;
+
rx = gc->pipe[n].region.x;
ry = gc->pipe[n].region.y;
rw = gc->pipe[n].region.w;
rh = gc->pipe[n].region.h;
-   if (!RECTS_INTERSECT(x, y, w, h, rx, ry, rw, rh)) return 0;
+   if (!REGIONS_INTERSECT(x, y, w, h, rx, ry, rw, rh)) return 0;
 
// a hack for now. map pipes use their whole bounding box for intersects
// which at worst case reduces to old pipeline flushes, but cheaper than
@@ -1803,7 +1810,7 @@ pipe_region_intersects(Evas_Engine_GL_Context *gc, int n,
 ry = v[ii + 1];
 rw = v[ii + 3] - rx;
 rh = v[ii + 7] - ry;
-if (RECTS_INTERSECT(x, y, w, h, rx, ry, rw, rh)) return 1;
+if (REGIONS_INTERSECT(x, y, w, h, rx, ry, rw, rh)) return 1;
  }
return 0;
 }
@@ -2930,16 +2937,14 @@ 
evas_gl_common_context_image_map_push(Evas_Engine_GL_Context *gc,
(A_VAL(&(p[2].col)) < 0xff) || (A_VAL(&(p[3].col

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

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

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

commit 29b65ccf88212b2fdee48776a5a155eb4c511804
Author: Hermet Park 
Date:   Fri Apr 19 15:21:07 2019 +0900

evas svg: code refactoring.

reorder data fields to packing memory fit.
---
 src/static_libs/vg_common/vg_common.h | 2 +-
 src/static_libs/vg_common/vg_common_svg.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/static_libs/vg_common/vg_common.h 
b/src/static_libs/vg_common/vg_common.h
index 3dc102c635..3484a7174f 100644
--- a/src/static_libs/vg_common/vg_common.h
+++ b/src/static_libs/vg_common/vg_common.h
@@ -202,11 +202,11 @@ struct _Svg_Style_Gradient
Eina_Stringshare  *id;
Eina_Stringshare  *ref;
Efl_Gfx_Gradient_Spread spread;
-   Eina_Bool user_space;
Eina_List   *stops; // Efl_Gfx_Gradient_Stop
Svg_Radial_Gradient *radial;
Svg_Linear_Gradient *linear;
Eina_Matrix3 *transform;
+   Eina_Bool user_space;
Eina_Bool use_percentage;
 };
 
diff --git a/src/static_libs/vg_common/vg_common_svg.c 
b/src/static_libs/vg_common/vg_common_svg.c
index 51f27bace4..9cb4b9e246 100644
--- a/src/static_libs/vg_common/vg_common_svg.c
+++ b/src/static_libs/vg_common/vg_common_svg.c
@@ -158,10 +158,10 @@ _eet_for_style_gradient(void)
EET_DATA_DESCRIPTOR_ADD_BASIC(_eet_style_gradient_node, Svg_Style_Gradient, 
"type", type, EET_T_INT);
EET_DATA_DESCRIPTOR_ADD_BASIC(_eet_style_gradient_node, Svg_Style_Gradient, 
"id", id, EET_T_STRING);
EET_DATA_DESCRIPTOR_ADD_BASIC(_eet_style_gradient_node, Svg_Style_Gradient, 
"spread", spread, EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_eet_style_gradient_node, Svg_Style_Gradient, 
"user_space", user_space, EET_T_INT);
EET_DATA_DESCRIPTOR_ADD_LIST(_eet_style_gradient_node, Svg_Style_Gradient, 
"stops", stops, _eet_gradient_stops_node);
EET_DATA_DESCRIPTOR_ADD_SUB(_eet_style_gradient_node, Svg_Style_Gradient, 
"radial", radial, _eet_radial_gradient_node);
EET_DATA_DESCRIPTOR_ADD_SUB(_eet_style_gradient_node, Svg_Style_Gradient, 
"linear", linear, _eet_linear_gradient_node);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_eet_style_gradient_node, Svg_Style_Gradient, 
"user_space", user_space, EET_T_INT);
 
return _eet_style_gradient_node;
 }

-- 




[EGIT] [core/efl] master 01/01: evas image: check format more strong way for wbmp.

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

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

commit 68fe9ec6bf60b4730ad7fdbf2698dc7aa130b94d
Author: Hermet Park 
Date:   Tue Apr 23 19:04:21 2019 +0900

evas image: check format more strong way for wbmp.

wbmp format doesn't have any tags for verifying file header,
It's easy to pass other format headers if they have the first 1 byte 0x0,

This ocassionally brings wrong result (= succeeed loading image),
if unknown file format is tried.

So, to make it sure, here verify the size of image additionally.
if the image size is not expected, It returns fail as the result.

This problem is actually happened in this scenario.

open any mpeg file with elm_image.
elm_image_file_set() will return true though it fails to read data.
since wbmp make it pass to succeed.

@fix
---
 .../evas/image_loaders/wbmp/evas_image_load_wbmp.c   | 20 +++-
 1 file changed, 19 insertions(+), 1 deletion(-)

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..00e67f3713 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(&w, map, length, &position) < 0) goto bail;
if (read_mb(&h, map, length, &position) < 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(&type, map, length, &position) < 0) goto bail;
+
+   if (type != 0)
+ {
+*error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
+goto bail;
+ }
+
position++; /* skipping one byte */
if (read_mb(&w, map, length, &position) < 0) goto bail;
if (read_mb(&h, map, length, &position) < 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;

-- 




[EGIT] [core/efl] master 01/01: evas wbmp: remove unnecessary size overflow.

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

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

commit 1061d0a75164111ef5dc8df21f446023438f39bc
Author: Hermet Park 
Date:   Tue Apr 23 21:31:06 2019 +0900

evas wbmp: remove unnecessary size overflow.

since this patch 68fe9ec6bf60b4730ad7fdbf2698dc7aa130b94d
it checks size validation earlier,
this varification doesn't need anymore...
---
 src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c | 1 -
 1 file changed, 1 deletion(-)

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 00e67f3713..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
@@ -163,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] master 01/02: Revert "evas-wbmp: revert previous two patches"

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

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

commit 54754ab8781f78cc2e768c6f067b1418f4066b8e
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(&w, map, length, &position) < 0) goto bail;
if (read_mb(&h, map, length, &position) < 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(&type, map, length, &position) < 0) goto bail;
+
+   if (type != 0)
+ {
+*error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
+goto bail;
+ }
+
position++; /* skipping one byte */
if (read_mb(&w, map, length, &position) < 0) goto bail;
if (read_mb(&h, map, length, &position) < 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] master 02/02: evas wbmp loader: coming previous patch with fixing wrong calc.

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

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

commit bffce65f9c719e7c82724ffb5c7557b6ee5e4966
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: eolian: remove unreachable code.

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

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

commit 79183150c7182af5b06cb2363f822cab433b4990
Author: Hermet Park 
Date:   Wed Apr 24 13:19:12 2019 +0900

eolian: remove unreachable code.
---
 src/lib/eolian/database_validate.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/lib/eolian/database_validate.c 
b/src/lib/eolian/database_validate.c
index d9ca18a755..285d19a692 100644
--- a/src/lib/eolian/database_validate.c
+++ b/src/lib/eolian/database_validate.c
@@ -198,8 +198,9 @@ _validate_typedecl(Validate_State *vals, Eolian_Typedecl 
*tp)
   default:
 return _reset_stable(vals, was_stable, EINA_FALSE);
  }
-   _reset_stable(vals, was_stable, EINA_TRUE);
-   return _validate(&tp->base);
+
+   //Unexpected case?
+   return EINA_FALSE;
 }
 
 static const char * const eo_complex_frees[] =

-- 




[EGIT] [core/efl] master 01/01: evas wbmp: fix wrong calc order.

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

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

commit 808df5ecc229455580685fbe2dac7ab100a092d1
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] 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)
  {

-- 




[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: 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/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: 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: 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: 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 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: 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 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, 
&gw->gl_context->glxcfg_rgb);
glXGetFBConfigAttrib(gw->disp, evis2->config, GLX_FBCONFIG_ID, 
&gw->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] 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] 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(&w, map, length, &position) < 0) goto bail;
if (read_mb(&h, map, length, &position) < 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(&type, map, length, &position) < 0) goto bail;
+
+   if (type != 0)
+ {
+*error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
+goto bail;
+ }
+
position++; /* skipping one byte */
if (read_mb(&w, map, length, &position) < 0) goto bail;
if (read_mb(&h, map, length, &position) < 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 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 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 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] 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_ext

[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, &w, &h);
+   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-

[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, &w, &h);
-   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/m

[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 "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 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, &ppixels, &px, &ph, &pstride);
  Efl_Gfx_Colorspace pcspace = ector_buffer_cspace_get(ector);
  ector_surface_reference_point_get(ector, &px, &py);
-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/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 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, &pw, &ph);

-- 




[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: 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, &w, &h);
+   int maxw = 0, maxh = 0;
+   evas_image_max_size_get(evas_object_evas_get(sd->img), &maxw, &maxh);
+
+   /* 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, &w, &h);
-
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: 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: 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: 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: evas vg: prevent invalid access.

2018-08-17 Thread Hermet Park
discomfitor pushed a commit to branch master.

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

commit c9a89158db020e69b1b74e86ceca0db2d6812c76
Author: Hermet Park 
Date:   Fri Aug 17 15:12:19 2018 -0400

evas vg: prevent invalid access.

Summary:
Canvas allows objects become zombies.
Even though they were deleted they could be accessed by canvas
for second frames.

Reviewers: #committers, zmike

Reviewed By: #committers, zmike

Subscribers: cedric, #reviewers, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6849
---
 src/lib/evas/canvas/efl_canvas_vg_object.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/lib/evas/canvas/efl_canvas_vg_object.c 
b/src/lib/evas/canvas/efl_canvas_vg_object.c
index f9decd0a21..a3634b83c2 100644
--- a/src/lib/evas/canvas/efl_canvas_vg_object.c
+++ b/src/lib/evas/canvas/efl_canvas_vg_object.c
@@ -324,9 +324,11 @@ _efl_canvas_vg_object_efl_object_destructor(Eo *eo_obj, 
Efl_Canvas_Vg_Object_Dat
efl_event_callback_del(e, EFL_CANVAS_SCENE_EVENT_RENDER_POST, 
_cleanup_reference, pd);
 
efl_unref(pd->root);
+   pd->root = NULL;
 
if (pd->user_entry)
  free(pd->user_entry);
+   pd->user_entry = NULL;
 
efl_destructor(efl_super(eo_obj, MY_CLASS));
 }

-- 




[EGIT] [core/efl] master 01/01: evas map: +comment for maintanance.

2018-08-19 Thread Hermet Park
hermet pushed a commit to branch master.

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

commit febeaab9ce4ae9dc9f019973000973d31a27ae70
Author: Hermet Park 
Date:   Mon Aug 20 14:39:37 2018 +0900

evas map: +comment for maintanance.
---
 src/lib/evas/common/evas_map_image_aa.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/src/lib/evas/common/evas_map_image_aa.c 
b/src/lib/evas/common/evas_map_image_aa.c
index 444755c333..3a99c1e6c5 100644
--- a/src/lib/evas/common/evas_map_image_aa.c
+++ b/src/lib/evas/common/evas_map_image_aa.c
@@ -73,6 +73,10 @@ _aa_coverage_apply(Line *line, int ww, int w, DATA32 val, 
Eina_Bool src_alpha)
return val;
 }
 
+/*
+ * To understand here AA main logic,
+ * Please refer this page: hermet.pe.kr/122?catgory=662934
+*/
 static void
 _calc_aa_edges_internal(Line *spans, int eidx, int ystart, int yend)
 {

-- 




[EGIT] [core/efl] master 01/01: ui_spin_button: avoid duplicated calls.

2018-08-20 Thread Hermet Park
hermet pushed a commit to branch master.

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

commit 8312a99a92c1d7ad535ce89ee49f0eb26123c8a3
Author: Hermet Park 
Date:   Tue Aug 21 14:04:58 2018 +0900

ui_spin_button: avoid duplicated calls.
---
 src/lib/elementary/efl_ui_spin_button.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/lib/elementary/efl_ui_spin_button.c 
b/src/lib/elementary/efl_ui_spin_button.c
index fa21913e75..02b5da6bbe 100644
--- a/src/lib/elementary/efl_ui_spin_button.c
+++ b/src/lib/elementary/efl_ui_spin_button.c
@@ -887,6 +887,8 @@ _efl_ui_spin_button_efl_object_constructor(Eo *obj, 
Efl_Ui_Spin_Button_Data *sd)
 EOLIAN static void
 _efl_ui_spin_button_efl_ui_direction_direction_set(Eo *obj, 
Efl_Ui_Spin_Button_Data *sd, Efl_Ui_Dir dir)
 {
+   if (sd->dir == dir) return;
+
sd->dir = dir;
 
efl_ui_widget_theme_apply(obj);

-- 




[EGIT] [core/efl] master 01/01: efl_ui_image: apply some image options as retained way.

2018-08-21 Thread Hermet Park
discomfitor pushed a commit to branch master.

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

commit c4124f8b3658a4f7dd8621d6b0bd86d758d445d8
Author: Hermet Park 
Date:   Tue Aug 21 10:38:54 2018 -0400

efl_ui_image: apply some image options as retained way.

Summary:
load_size will be applied when file is set,
orientation, flip would be applied when starting sizing calc.

These will gurantee applying options whether image is preset or not.

This is a regression bug by ae51c81a686ca47c93eedc99beaf3a84f8a9cb96

Reviewers: #committers, zmike

Reviewed By: #committers, zmike

Subscribers: cedric, #reviewers, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6855
---
 src/lib/elementary/efl_ui_image.c | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/lib/elementary/efl_ui_image.c 
b/src/lib/elementary/efl_ui_image.c
index 93664a254e..d440d1459a 100644
--- a/src/lib/elementary/efl_ui_image.c
+++ b/src/lib/elementary/efl_ui_image.c
@@ -85,7 +85,6 @@ _recover_status(Eo *obj, Efl_Ui_Image_Data *sd)
 
efl_gfx_color_get(obj, &r, &g, &b, &a);
efl_gfx_color_set(sd->img, r, g, b, a);
-
efl_gfx_entity_visible_set(sd->img, sd->show);
 }
 
@@ -798,6 +797,13 @@ _sizing_eval_cb(void *data)
evas_object_size_hint_min_set(obj, minw, minh);
evas_object_size_hint_max_set(obj, maxw, maxh);
 
+   //Retained way. Nothing does, if either way hasn't been changed.
+   if (!sd->edje)
+ {
+efl_orientation_set(sd->img, sd->orient);
+efl_orientation_flip_set(sd->img, sd->flip);
+ }
+
if (sd->img)
{
   _image_sizing_eval(sd, sd->img);
@@ -1306,9 +1312,6 @@ _efl_ui_image_efl_orientation_orientation_set(Eo *obj, 
Efl_Ui_Image_Data *sd, Ef
if (sd->edje) return;
if (sd->orient == orient) return;
 
-   if (!sd->img) return;
-   efl_orientation_set(sd->img, orient);
-
sd->orient = orient;
_efl_ui_image_sizing_eval(obj);
 }
@@ -1326,9 +1329,6 @@ _efl_ui_image_efl_orientation_flip_set(Eo *obj, 
Efl_Ui_Image_Data *sd, Efl_Flip
if (sd->edje) return;
if (sd->flip == flip) return;
 
-   if (!sd->img) return;
-   efl_orientation_flip_set(sd->img, flip);
-
sd->flip = flip;
_efl_ui_image_sizing_eval(obj);
 }

-- 




[EGIT] [core/efl] master 01/01: evas image: remove redundant code.

2018-08-23 Thread Hermet Park
hermet pushed a commit to branch master.

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

commit 541fe885ac7bb5917d4a9de19994848f3986eb4b
Author: Hermet Park 
Date:   Thu Aug 23 19:18:37 2018 +0900

evas image: remove redundant code.
---
 src/lib/evas/canvas/evas_image_private.h | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/lib/evas/canvas/evas_image_private.h 
b/src/lib/evas/canvas/evas_image_private.h
index 915e81eb45..a5af04a1fa 100644
--- a/src/lib/evas/canvas/evas_image_private.h
+++ b/src/lib/evas/canvas/evas_image_private.h
@@ -160,8 +160,6 @@ void _evas_image_fill_set(Eo *eo_obj, Evas_Image_Data *o, 
int x, int y, int w, i
 /* Efl.File */
 Eina_Bool _evas_image_mmap_set(Eo *eo_obj, const Eina_File *f, const char 
*key);
 void _evas_image_mmap_get(const Eo *eo_obj, const Eina_File **f, const char 
**key);
-Eina_Bool _evas_image_file_set(Eo *eo_obj, const char *file, const char *key);
-void _evas_image_file_get(const Eo *eo_obj, const char **file, const char 
**key);
 
 /* Efl.Image.Load */
 Efl_Gfx_Image_Load_Error _evas_image_load_error_get(const Eo *eo_obj);

-- 




[EGIT] [core/efl] master 01/01: ecore wl2: change logging level.

2018-08-23 Thread Hermet Park
devilhorns pushed a commit to branch master.

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

commit 568ddfe39757d997c304d70f51fb9a469ebecf74
Author: Hermet Park 
Date:   Thu Aug 23 07:29:35 2018 -0400

ecore wl2: change logging level.

Summary: ease the error message to warning because it's not serious one.

Reviewers: devilhorns, ManMower

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers, zmike

Tags: #efl

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

diff --git a/src/lib/ecore_wl2/ecore_wl2_window.c 
b/src/lib/ecore_wl2/ecore_wl2_window.c
index b1366291bc..a2171aa800 100644
--- a/src/lib/ecore_wl2/ecore_wl2_window.c
+++ b/src/lib/ecore_wl2/ecore_wl2_window.c
@@ -1586,7 +1586,7 @@ ecore_wl2_window_commit(Ecore_Wl2_Window *window, 
Eina_Bool flush)
 /* The elm mouse cursor bits do some harmless but weird stuff that
  * can hit this, silence the warning for that case only. */
 if (window->type != ECORE_WL2_WINDOW_TYPE_NONE)
-  ERR("Commit before previous commit processed");
+  WRN("Commit before previous commit processed");
  }
if (!window->pending.configure)
  {

-- 




[EGIT] [core/efl] master 03/04: elementary main: fix typo

2018-08-27 Thread Hermet Park
bu5hm4n pushed a commit to branch master.

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

commit 640596e68aca8e2ba5ee076d709707d8e88e527f
Author: Hermet Park 
Date:   Mon Aug 27 05:43:34 2018 +

elementary main: fix typo

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

diff --git a/src/lib/elementary/elm_main.c b/src/lib/elementary/elm_main.c
index fa38bf6dc9..a326fd56fe 100644
--- a/src/lib/elementary/elm_main.c
+++ b/src/lib/elementary/elm_main.c
@@ -661,7 +661,7 @@ _elm_unneed_elocation(void)
 #ifdef ELM_ELOCATION
if (!_elm_need_elocation) return;
_elm_need_elocation = EINA_FALSE;
-   eldbus_shutdown();
+   elocation_shutdown();
 #endif
 }
 

-- 




[EGIT] [core/efl] master 04/04: evas cache: code refactoring.

2018-08-27 Thread Hermet Park
bu5hm4n pushed a commit to branch master.

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

commit 43fcca4acdb1189fb7b4022b3be76a6f9d7d0363
Author: Hermet Park 
Date:   Mon Aug 27 07:39:22 2018 +

evas cache: code refactoring.

rename to proper internal variables.
Differential Revision: https://phab.enlightenment.org/D6911
---
 src/lib/evas/cache/evas_cache_image.c  | 4 ++--
 src/lib/evas/cache2/evas_cache2.c  | 4 ++--
 src/lib/evas/include/evas_common_private.h | 4 ++--
 src/modules/evas/engines/gl_common/evas_gl_image.c | 6 +++---
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/lib/evas/cache/evas_cache_image.c 
b/src/lib/evas/cache/evas_cache_image.c
index 11b9a1d64e..d209a1ad66 100644
--- a/src/lib/evas/cache/evas_cache_image.c
+++ b/src/lib/evas/cache/evas_cache_image.c
@@ -415,11 +415,11 @@ _evas_cache_image_preloaded_notify(Image_Entry *ie)
 ie->targets = (Evas_Cache_Target *)
   eina_inlist_remove(EINA_INLIST_GET(ie->targets),
  EINA_INLIST_GET(ie->targets));
-if (tmp->simple_cb)
+if (tmp->preloaded_cb)
   {
  if (!tmp->delete_me)
{
-  tmp->simple_cb(tmp->simple_data);
+  tmp->preloaded_cb(tmp->preloaded_data);
}
   }
 else
diff --git a/src/lib/evas/cache2/evas_cache2.c 
b/src/lib/evas/cache2/evas_cache2.c
index c791ed..893abe3205 100644
--- a/src/lib/evas/cache2/evas_cache2.c
+++ b/src/lib/evas/cache2/evas_cache2.c
@@ -314,11 +314,11 @@ _evas_cache2_image_preloaded_cb(void *data, Eina_Bool 
success)
   EINA_INLIST_GET(ie->targets));
 if (!ie->flags.delete_me)
   {
- if (tmp->simple_cb)
+ if (tmp->preloaded_cb)
{
   if (!tmp->delete_me)
 {
-   tmp->simple_cb(tmp->simple_data);
+   tmp->preloaded_cb(tmp->preloaded_data);
 }
}
  else
diff --git a/src/lib/evas/include/evas_common_private.h 
b/src/lib/evas/include/evas_common_private.h
index 6b1e15f25d..ec7f6382d8 100644
--- a/src/lib/evas/include/evas_common_private.h
+++ b/src/lib/evas/include/evas_common_private.h
@@ -561,8 +561,8 @@ struct _Evas_Cache_Target
EINA_INLIST;
const Eo *target;
void *data;
-   void (*simple_cb) (void *data);
-   void *simple_data;
+   void (*preloaded_cb) (void *data); //Call when preloading done.
+   void *preloaded_data;
Eina_Bool delete_me;
 };
 
diff --git a/src/modules/evas/engines/gl_common/evas_gl_image.c 
b/src/modules/evas/engines/gl_common/evas_gl_image.c
index c3a33e9b79..d93d296e67 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_image.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_image.c
@@ -204,8 +204,8 @@ evas_gl_common_image_preload_watch(Evas_GL_Image *im)
tg = calloc(1, sizeof(Evas_Cache_Target));
if (tg)
  {
-tg->simple_cb = preload_done;
-tg->simple_data = im;
+tg->preloaded_cb = preload_done;
+tg->preloaded_data = im;
 im->im->cache_entry.targets =  (Evas_Cache_Target *)
   eina_inlist_append(EINA_INLIST_GET(im->im->cache_entry.targets),
  EINA_INLIST_GET(tg));
@@ -221,7 +221,7 @@ evas_gl_common_image_preload_unwatch(Evas_GL_Image *im)
if (!im->im) return;
EINA_INLIST_FOREACH_SAFE(im->im->cache_entry.targets, l2, tg)
  {
-if ((tg->simple_cb != preload_done) || (tg->simple_data != im))
+if ((tg->preloaded_cb != preload_done) || (tg->preloaded_data != im))
   continue;
 tg->delete_me = EINA_TRUE;
 break;

-- 




[EGIT] [core/efl] efl-1.21 01/01: elementary main: fix typo

2018-08-28 Thread Hermet Park
bu5hm4n pushed a commit to branch efl-1.21.

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

commit 6c3eb40371909a004c5d0704c497bd3143a7c238
Author: Hermet Park 
Date:   Mon Aug 27 05:43:34 2018 +

elementary main: fix typo

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

diff --git a/src/lib/elementary/elm_main.c b/src/lib/elementary/elm_main.c
index fa38bf6dc9..a326fd56fe 100644
--- a/src/lib/elementary/elm_main.c
+++ b/src/lib/elementary/elm_main.c
@@ -661,7 +661,7 @@ _elm_unneed_elocation(void)
 #ifdef ELM_ELOCATION
if (!_elm_need_elocation) return;
_elm_need_elocation = EINA_FALSE;
-   eldbus_shutdown();
+   elocation_shutdown();
 #endif
 }
 

-- 




[EGIT] [core/efl] master 01/01: evas gl: remove redundant code.

2018-08-28 Thread Hermet Park
hermet pushed a commit to branch master.

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

commit 78fb9cf124e80d85e443a6bc5afe2819ee120e1a
Author: Hermet Park 
Date:   Wed Aug 29 13:57:45 2018 +0900

evas gl: remove redundant code.

Reviewers: devilhorns, #committers, raster

Subscribers: cedric, #reviewers, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6901
---
 src/modules/evas/engines/gl_common/evas_gl_image.c | 8 +---
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/src/modules/evas/engines/gl_common/evas_gl_image.c 
b/src/modules/evas/engines/gl_common/evas_gl_image.c
index d93d296e67..b908d044b4 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_image.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_image.c
@@ -941,8 +941,7 @@ evas_gl_common_image_update(Evas_Engine_GL_Context *gc, 
Evas_GL_Image *im)
}
   }
 im->dirty = 0;
-if (!im->tex) return;
-   break;
+break;
   case EVAS_COLORSPACE_ETC1_ALPHA:
 if ((im->tex) && (im->dirty))
   {
@@ -957,7 +956,6 @@ evas_gl_common_image_update(Evas_Engine_GL_Context *gc, 
Evas_GL_Image *im)
  evas_cache_image_unload_data(ie);
   }
 im->dirty = 0;
-if (!im->tex) return;
 break;
   case EVAS_COLORSPACE_YCBCR422P601_PL:
   case EVAS_COLORSPACE_YCBCR422P709_PL:
@@ -971,7 +969,6 @@ evas_gl_common_image_update(Evas_Engine_GL_Context *gc, 
Evas_GL_Image *im)
  im->tex = evas_gl_common_texture_yuv_new(gc, im->cs.data, ie->w, 
ie->h);
  im->dirty = 0;
   }
-if (!im->tex) return;
 break;
   case EVAS_COLORSPACE_YCBCR422601_PL:
 if ((im->tex) && (im->dirty))
@@ -984,7 +981,6 @@ evas_gl_common_image_update(Evas_Engine_GL_Context *gc, 
Evas_GL_Image *im)
  im->tex = evas_gl_common_texture_yuy2_new(gc, im->cs.data, ie->w, 
ie->h);
  im->dirty = 0;
   }
-if (!im->tex) return;
 break;
   case EVAS_COLORSPACE_YCBCR420NV12601_PL:
 if ((im->tex) && (im->dirty))
@@ -997,7 +993,6 @@ evas_gl_common_image_update(Evas_Engine_GL_Context *gc, 
Evas_GL_Image *im)
  im->tex = evas_gl_common_texture_nv12_new(gc, im->cs.data, ie->w, 
ie->h);
  im->dirty = 0;
   }
-if (!im->tex) return;
 break;
   case EVAS_COLORSPACE_YCBCR420TM12601_PL:
 if ((im->tex) && (im->dirty))
@@ -1010,7 +1005,6 @@ evas_gl_common_image_update(Evas_Engine_GL_Context *gc, 
Evas_GL_Image *im)
  im->tex = evas_gl_common_texture_nv12tiled_new(gc, im->cs.data, 
ie->w, ie->h);
  im->dirty = 0;
   }
-if (!im->tex) return;
 break;
   default:
 ERR("unhandled img format colorspace=%d", im->cs.space);

-- 




  1   2   3   4   5   6   7   >