[EGIT] [core/efl] master 01/02: efl_ui_position_manager_grid: avoid zero division case

2019-11-28 Thread WooHyun Jung
bu5hm4n pushed a commit to branch master.

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

commit 62e470130c7005e85f5e1c7e039c352f31bad8b3
Author: WooHyun Jung 
Date:   Fri Nov 29 04:15:48 2019 +

efl_ui_position_manager_grid: avoid zero division case

This fixes the issue of zero division when columns is zero.
Sometimes columns can be zero when "pd->viewport.w = 0".

Reviewed-by: Marcel Hollerbach 
Differential Revision: https://phab.enlightenment.org/D10768
---
 src/lib/elementary/efl_ui_position_manager_grid.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/elementary/efl_ui_position_manager_grid.c 
b/src/lib/elementary/efl_ui_position_manager_grid.c
index bc3124abdc..7b0ed303f5 100644
--- a/src/lib/elementary/efl_ui_position_manager_grid.c
+++ b/src/lib/elementary/efl_ui_position_manager_grid.c
@@ -706,6 +706,7 @@ 
_efl_ui_position_manager_grid_efl_ui_position_manager_entity_position_single_ite
  EINA_SAFETY_ON_FALSE_RETURN_VAL(group_consumed_ids == 0, EINA_RECT(0, 0, 
0, 0));
 
int columns = pd->viewport.w/pd->max_min_size.w;
+   if (columns == 0) return EINA_RECT(0, 0, 0, 0);
int sub_pos_id = idx - group_consumed_ids;
 
if (pd->dir == EFL_UI_LAYOUT_ORIENTATION_VERTICAL)

-- 




[EGIT] [core/efl] master 02/02: here comes a new example

2019-11-28 Thread Marcel Hollerbach
bu5hm4n pushed a commit to branch master.

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

commit 74b4b354f534c5d44514f4c5969259920be43719
Author: Marcel Hollerbach 
Date:   Wed Sep 18 21:47:08 2019 +0200

here comes a new example

Reviewed-by: Cedric BAIL 
Differential Revision: https://phab.enlightenment.org/D10733
---
 .../elementary/efl_ui_grid_view_example_1.c| 477 +
 src/examples/elementary/meson.build|   3 +-
 2 files changed, 479 insertions(+), 1 deletion(-)

diff --git a/src/examples/elementary/efl_ui_grid_view_example_1.c 
b/src/examples/elementary/efl_ui_grid_view_example_1.c
new file mode 100644
index 00..8ccf560f09
--- /dev/null
+++ b/src/examples/elementary/efl_ui_grid_view_example_1.c
@@ -0,0 +1,477 @@
+// gcc -o efl_ui_grid_view_example_1 efl_ui_grid_view_example_1.c `pkg-config 
--cflags --libs elementary`
+
+#define EFL_BETA_API_SUPPORT 1
+
+#include 
+#include 
+#include 
+#include "efl_ui_grid_view.eo.h"
+
+
+static Efl_Model*
+_make_model(Evas_Object *win)
+{
+   Eina_Value vtext;
+   Efl_Generic_Model *model, *child;
+
+   model = efl_add(EFL_GENERIC_MODEL_CLASS, win);
+   eina_value_setup(&vtext, EINA_VALUE_TYPE_STRING);
+
+#define IC(x) \
+child = efl_model_child_add(model); \
+eina_value_set(&vtext, x); \
+efl_model_property_set(child, "title", &vtext);
+
+   IC("user-home")
+   IC("user-bookmarks")
+   IC("user-desktop")
+   IC("user-trash")
+   IC("folder")
+   IC("folder-drag-accept")
+   IC("folder-remote")
+   IC("folder-open")
+   IC("folder-home")
+   IC("folder-download")
+   IC("folder-recent")
+   IC("folder-documents")
+   IC("folder-pictures")
+   IC("folder-music")
+   IC("folder-videos")
+   IC("folder-visiting")
+   IC("network-server")
+   IC("network-workgroup")
+   IC("start-here")
+   IC("emblem-default")
+   IC("emblem-documents")
+   IC("emblem-downloads")
+   IC("emblem-favorite")
+   IC("emblem-important")
+   IC("emblem-mail")
+   IC("emblem-photos")
+   IC("emblem-readonly")
+   IC("emblem-shared")
+   IC("emblem-symbolic-link")
+   IC("emblem-unreadable")
+   IC("emblem-system")
+   IC("emblem-synchronized")
+   IC("emblem-synchronizing")
+   IC("address-book-new")
+   IC("application-exit")
+   IC("appointment-new")
+   IC("call-start")
+   IC("call-stop")
+   IC("contact-new")
+   IC("document-open")
+   IC("document-open-recent")
+   IC("document-page-setup")
+   IC("document-properties")
+   IC("document-save")
+   IC("document-save-as")
+   IC("document-send")
+   IC("document-close")
+   IC("document-new")
+   IC("document-print")
+   IC("document-print-preview")
+   IC("document-revert")
+   IC("document-export")
+   IC("document-import")
+   IC("edit-clear")
+   IC("edit-copy")
+   IC("edit-cut")
+   IC("edit-delete")
+   IC("edit-find")
+   IC("edit-find-replace")
+   IC("edit-paste")
+   IC("edit-redo")
+   IC("edit-undo")
+   IC("edit-select-all")
+   IC("folder-copy")
+   IC("folder-move")
+   IC("folder-new")
+   IC("format-indent-less")
+   IC("format-indent-more")
+   IC("format-justify-center")
+   IC("format-justify-fill")
+   IC("format-justify-left")
+   IC("format-justify-right")
+   IC("format-text-direction-ltr")
+   IC("format-text-direction-rtl")
+   IC("format-text-bold")
+   IC("format-text-italic")
+   IC("format-text-underline")
+   IC("format-text-strikethrough")
+   IC("go-home")
+   IC("go-bottom")
+   IC("go-down")
+   IC("go-first")
+   IC("go-jump")
+   IC("go-last")
+   IC("go-next")
+   IC("go-previous")
+   IC("go-top")
+   IC("go-up")
+   IC("insert-image")
+   IC("insert-link")
+   IC("insert-object")
+   IC("insert-text")
+   IC("list-add")
+   IC("list-remove")
+   IC("mail-forward")
+   IC("mail-mark-important")
+   IC("mail-mark-junk")
+   IC("mail-mark-notjunk")
+   IC("mail-mark-read")
+   IC("mail-mark-unread")
+   IC("mail-message-new")
+   IC("mail-reply-all")
+   IC("mail-reply-sender")
+   IC("mail-send")
+   IC("mail-send-receive")
+   IC("media-eject")
+   IC("media-playback-pause")
+   IC("media-playback-start")
+   IC("media-playback-stop")
+   IC("media-record")
+   IC("media-seek-backward")
+   IC("media-seek-forward")
+   IC("media-skip-backward")
+   IC("media-skip-forward")
+   IC("object-flip-horizontal")
+   IC("object-flip-vertical")
+   IC("object-rotate-left")
+   IC("object-rotate-right")
+   IC("process-stop")
+   IC("tools-check-spelling")
+   IC("view-list-compact")
+   IC("view-list-details")
+   IC("view-list-icons")
+   IC("view-fullscreen")
+   IC("view-refresh")
+   IC("view-restore")
+   IC("view-sort-ascending")
+   IC("view-sort-descending")
+   IC("view-close")
+   IC("window-close")
+   IC("window-new")
+   IC("system-run")
+   IC("system-shutdown")
+   IC("system-reboot")
+   IC("system-lock-screen")
+   IC("system-log-out")
+   IC("system-search")
+   IC("help-about")
+   IC("help-contents")
+   IC("help-faq")
+   IC("zoom-in")
+   IC("zoom-

[EGIT] [core/efl] master 01/01: vector cache: skip animation update as possible.

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

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

commit d05c2169a89bb17f0ab985ea01f48ca26b2218c1
Author: Hermet Park 
Date:   Fri Nov 29 11:18:15 2019 +0900

vector cache: skip animation update as possible.

Since the vector file data is shareable among the multiple vg instances,
vfd could keep the requested frame data already by the other instance.

This case vector cache quickly return the vector data withouth any further 
progress.
---
 src/lib/evas/vg/evas_vg_cache.c | 13 +++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/lib/evas/vg/evas_vg_cache.c b/src/lib/evas/vg/evas_vg_cache.c
index ed65f50099..5c0242db23 100644
--- a/src/lib/evas/vg/evas_vg_cache.c
+++ b/src/lib/evas/vg/evas_vg_cache.c
@@ -432,8 +432,17 @@ evas_cache_vg_tree_get(Vg_Cache_Entry *vg_entry, unsigned 
int frame_num)
if (!vfd) return NULL;
 
//No need to update.
-   if (!vfd->anim_data && vg_entry->root)
- return vg_entry->root;
+   if (vfd->anim_data)
+ {
+if (vg_entry->root &&
+vfd->anim_data->frame_num == frame_num)
+  return vg_entry->root;
+ }
+   else
+ {
+if (vg_entry->root)
+  return vg_entry->root;
+ }
 
if (!vfd->static_viewbox)
  {

-- 




[EGIT] [core/efl] master 01/01: evas vector: operate cached vector file data per evas instances.

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

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

commit 153b5cffd80748aa913a3fa7da0337167496ad10
Author: Hermet Park 
Date:   Fri Nov 29 10:48:59 2019 +0900

evas vector: operate cached vector file data per evas instances.

each vfd loaders construct vector tree data, these can be belongs to evas 
instance,
they are not likely shareable.

We should operate vfd separately.
---
 src/lib/evas/canvas/evas_vg_private.h |  2 +-
 src/lib/evas/vg/evas_vg_cache.c   | 13 +++--
 2 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/src/lib/evas/canvas/evas_vg_private.h 
b/src/lib/evas/canvas/evas_vg_private.h
index c5ee9c40d2..2a1dbfa0d5 100644
--- a/src/lib/evas/canvas/evas_vg_private.h
+++ b/src/lib/evas/canvas/evas_vg_private.h
@@ -146,7 +146,7 @@ Vg_Cache_Entry* evas_cache_vg_entry_create(Evas 
*evas, const Eina_Fi
 Efl_VG* evas_cache_vg_tree_get(Vg_Cache_Entry *vg_entry, 
unsigned int frame_num);
 void
evas_cache_vg_entry_value_provider_update(Vg_Cache_Entry *vg_entry, Eina_List 
*vp_list);
 voidevas_cache_vg_entry_del(Vg_Cache_Entry *vg_entry);
-Vg_File_Data *  evas_cache_vg_file_open(const Eina_File *file, 
const char *key);
+Vg_File_Data *  evas_cache_vg_file_open(const Eina_File *file, 
const char *key, Evas *e);
 Eina_Bool   evas_cache_vg_file_save(Efl_VG *root, int w, int 
h, const char *file, const char *key, const Efl_File_Save_Info *info);
 Eina_Bool   evas_cache_vg_entry_file_save(Vg_Cache_Entry 
*vg_entry, const char *file, const char *key, const Efl_File_Save_Info *info);
 double  evas_cache_vg_anim_duration_get(const 
Vg_Cache_Entry *vg_entry);
diff --git a/src/lib/evas/vg/evas_vg_cache.c b/src/lib/evas/vg/evas_vg_cache.c
index 54925bd82d..ed65f50099 100644
--- a/src/lib/evas/vg/evas_vg_cache.c
+++ b/src/lib/evas/vg/evas_vg_cache.c
@@ -154,9 +154,10 @@ _evas_cache_vg_entry_free_cb(void *data)
 if (vg_entry->vfd->ref <= 0)
   {
  Eina_Strbuf *hash_key = eina_strbuf_new();
- eina_strbuf_append_printf(hash_key, "%s/%s",
+ eina_strbuf_append_printf(hash_key, "%s/%s/%p",
eina_file_filename_get(vg_entry->file),
-   vg_entry->key);
+   vg_entry->key,
+   vg_entry->evas);
  if (!eina_hash_del(vg_cache->vfd_hash, 
eina_strbuf_string_get(hash_key), vg_entry->vfd))
ERR("Failed to delete vfd = (%p) from hash", vg_entry->vfd);
  eina_strbuf_free(hash_key);
@@ -281,13 +282,13 @@ evas_cache_vg_shutdown(void)
 }
 
 Vg_File_Data *
-evas_cache_vg_file_open(const Eina_File *file, const char *key)
+evas_cache_vg_file_open(const Eina_File *file, const char *key, Evas *e)
 {
Vg_File_Data *vfd;
Eina_Strbuf *hash_key;
 
hash_key = eina_strbuf_new();
-   eina_strbuf_append_printf(hash_key, "%s/%s", eina_file_filename_get(file), 
key);
+   eina_strbuf_append_printf(hash_key, "%s/%s/%p", 
eina_file_filename_get(file), key, e);
vfd = eina_hash_find(vg_cache->vfd_hash, eina_strbuf_string_get(hash_key));
if (!vfd)
  {
@@ -340,7 +341,7 @@ evas_cache_vg_entry_create(Evas *evas,
eina_strbuf_free(hash_key);
vg_entry->ref++;
 
-   vg_entry->vfd = evas_cache_vg_file_open(file, key);
+   vg_entry->vfd = evas_cache_vg_file_open(file, key, vg_entry->evas);
//No File??
if (!vg_entry->vfd)
  {
@@ -483,7 +484,7 @@ Eina_Bool
 evas_cache_vg_entry_file_save(Vg_Cache_Entry *vg_entry, const char *file, 
const char *key, const Efl_File_Save_Info *info)
 {
Vg_File_Data *vfd =
-  evas_cache_vg_file_open(vg_entry->file, vg_entry->key);
+  evas_cache_vg_file_open(vg_entry->file, vg_entry->key, vg_entry->evas);
 
if (!vfd) return EINA_FALSE;
 

-- 




Re: [E-devel] Memory free questions when using EFL

2019-11-28 Thread Jing
OK, Carsten, please help to check my code flow, Is there anything wrong? Please 
advise, thanks.


在 2019-11-29 05:16:23,"Carsten Haitzler"  写道:
>On Thu, 28 Nov 2019 20:14:53 +0800 (CST) Jing   said:
>
>> Thanks Carsten,
>> 
>> 
>> I did not find edje_object_del(), did you mean evas_object_del()?
>
>sorry - my typo. evas_object_del();
>
>> Here is my code flow:
>> //enter:
>> obj = edje_object_add(evas)
>> edje_object_file_set(obj, file , grup)
>> evas_object_show(obj )
>> evas_object_move()
>> evas_object_resize()
>> evas_object_focus_set()
>> evas_object_layer_set()
>> //exit:
>> evas_object_hide(obj)
>> evas_object_del(obj)
>> Is there anything wrong? Please advise, thanks.
>> 
>> At 2019-11-28 17:21:38, "Carsten Haitzler (The Rasterman)"
>>  wrote:
>> >On Thu, 28 Nov 2019 15:43:17 +0800 (CST) Jing   said:
>> >
>> >> Thanks Hermet for you reply.
>> >> 
>> >> 
>> >> In my test, i find that if i call function 
>> >> edje_object_file_set(Edje_Object
>> >> *obj, const char *file, const char *group), even i call
>> >> evas_object_del(Edje_Object *obj); to delete the obj, the memory of my
>> >> program will keep growing, if i am not use edje_object_file_set() then 
>> >> this
>> >> issue will not exists.  Is there a way to free the memory of
>> >> edje_object_file_set() ? Please advise, thanks.
>> >
>> >Memory will be freed... is it possible you are not getting any rendering
>> >happening? e.g. if you do something like:
>> >
>> >for (i = 0; i < 10; i++) {
>> >  o = edje_object_add(evas);
>> >  edje_object_del(o);
>> >}
>> >
>> >your memory will keep growing ad the objects will be queued for deletion
>> >after 2 more renders. you would need the main loop to go idle *AND* for
>> >there to be visible changes in the canvas needing rendering.
>> >evas_norender(evas); exists for these cases where you do a loop where you
>> >add/del objects and never show them or have them rendered (and just use the
>> >canvas as a workbench). this forces a "no rendering" render cycle that will
>> >clean up queued objects.
>> >
>> >it's exceedingly rare to do the above without having your canvas go through
>> >some rendering at some point.
>> >
>> >also edje will QUEUE signals and process them in idle time. if there is 
>> >never
>> >any idle time in the ecore mainloop then the signals will just queue up and
>> >not be processed. setting a file will produce some signals already (like
>> >"load" "").
>> >
>> >> At 2019-11-26 12:24:45, "Hermet Park"  wrote:
>> >> >Once object is deleted, the subsequent memory belonging to the object 
>> >> >will
>> >> >be removed as well.
>> >> >You don't need to care about it. Callbacks neither.
>> >> >
>> >> >On Mon, Nov 25, 2019 at 9:12 PM Jing  wrote:
>> >> >
>> >> >> Hi all,
>> >> >> I have some memory free questions when using below two functions:
>> >> >>
>> >> >>
>> >> >> 1.  EAPI Eina_Bool edje_object_file_set(Evas_Object *obj, const char
>> >> >> *file, const char *group);
>> >> >> ---  After this function done,  i will call  evas_object_del (obj) to
>> >> >> delete the obj,  anything else that i need to free ?  For example, the
>> >> >> edj file used in this funciton?
>> >> >>
>> >> >>
>> >> >> 2.  evas_object_event_callback_add(Evas_Object *eo_obj,
>> >> >> Evas_Callback_Type type, Evas_Object_Event_Cb func, const void *data)
>> >> >>  After this function done,  i will call  evas_object_del (obj) to
>> >> >> delete the obj,   the callback will be auto deleted after
>> >> >> evas_object_del or  i have to use
>> >> >> evas_object_event_callback_del(Evas_Object *eo_obj, Evas_Callback_Type
>> >> >> type, Evas_Object_Event_Cb func) to delete ?
>> >> >>
>> >> >>
>> >> >> Thanks.
>> >> >>
>> >> >>
>> >> >> ___
>> >> >> enlightenment-devel mailing list
>> >> >> enlightenment-devel@lists.sourceforge.net
>> >> >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>> >> >>
>> >> >
>> >> >
>> >> >-- 
>> >> >Regards, Hermet
>> >> >
>> >> >___
>> >> >enlightenment-devel mailing list
>> >> >enlightenment-devel@lists.sourceforge.net
>> >> >https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>> >> 
>> >> ___
>> >> enlightenment-devel mailing list
>> >> enlightenment-devel@lists.sourceforge.net
>> >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>> >> 
>> >
>> >
>> >-- 
>> >- Codito, ergo sum - "I code, therefore I am" --
>> >Carsten Haitzler - ras...@rasterman.com
>> 
>> ___
>> enlightenment-devel mailing list
>> enlightenment-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
>
>-- 
>- Codito, ergo sum - "I code, therefore I am" --
>Carsten Haitzler - ras...@rasterman.com

___
enlightenment-devel mailing list
enlightenment-devel@lists.sourcefo

Re: [E-devel] Memory free questions when using EFL

2019-11-28 Thread Carsten Haitzler
On Thu, 28 Nov 2019 20:14:53 +0800 (CST) Jing   said:

> Thanks Carsten,
> 
> 
> I did not find edje_object_del(), did you mean evas_object_del()?

sorry - my typo. evas_object_del();

> Here is my code flow:
> //enter:
> obj = edje_object_add(evas)
> edje_object_file_set(obj, file , grup)
> evas_object_show(obj )
> evas_object_move()
> evas_object_resize()
> evas_object_focus_set()
> evas_object_layer_set()
> //exit:
> evas_object_hide(obj)
> evas_object_del(obj)
> Is there anything wrong? Please advise, thanks.
> 
> At 2019-11-28 17:21:38, "Carsten Haitzler (The Rasterman)"
>  wrote:
> >On Thu, 28 Nov 2019 15:43:17 +0800 (CST) Jing   said:
> >
> >> Thanks Hermet for you reply.
> >> 
> >> 
> >> In my test, i find that if i call function edje_object_file_set(Edje_Object
> >> *obj, const char *file, const char *group), even i call
> >> evas_object_del(Edje_Object *obj); to delete the obj, the memory of my
> >> program will keep growing, if i am not use edje_object_file_set() then this
> >> issue will not exists.  Is there a way to free the memory of
> >> edje_object_file_set() ? Please advise, thanks.
> >
> >Memory will be freed... is it possible you are not getting any rendering
> >happening? e.g. if you do something like:
> >
> >for (i = 0; i < 10; i++) {
> >  o = edje_object_add(evas);
> >  edje_object_del(o);
> >}
> >
> >your memory will keep growing ad the objects will be queued for deletion
> >after 2 more renders. you would need the main loop to go idle *AND* for
> >there to be visible changes in the canvas needing rendering.
> >evas_norender(evas); exists for these cases where you do a loop where you
> >add/del objects and never show them or have them rendered (and just use the
> >canvas as a workbench). this forces a "no rendering" render cycle that will
> >clean up queued objects.
> >
> >it's exceedingly rare to do the above without having your canvas go through
> >some rendering at some point.
> >
> >also edje will QUEUE signals and process them in idle time. if there is never
> >any idle time in the ecore mainloop then the signals will just queue up and
> >not be processed. setting a file will produce some signals already (like
> >"load" "").
> >
> >> At 2019-11-26 12:24:45, "Hermet Park"  wrote:
> >> >Once object is deleted, the subsequent memory belonging to the object will
> >> >be removed as well.
> >> >You don't need to care about it. Callbacks neither.
> >> >
> >> >On Mon, Nov 25, 2019 at 9:12 PM Jing  wrote:
> >> >
> >> >> Hi all,
> >> >> I have some memory free questions when using below two functions:
> >> >>
> >> >>
> >> >> 1.  EAPI Eina_Bool edje_object_file_set(Evas_Object *obj, const char
> >> >> *file, const char *group);
> >> >> ---  After this function done,  i will call  evas_object_del (obj) to
> >> >> delete the obj,  anything else that i need to free ?  For example, the
> >> >> edj file used in this funciton?
> >> >>
> >> >>
> >> >> 2.  evas_object_event_callback_add(Evas_Object *eo_obj,
> >> >> Evas_Callback_Type type, Evas_Object_Event_Cb func, const void *data)
> >> >>  After this function done,  i will call  evas_object_del (obj) to
> >> >> delete the obj,   the callback will be auto deleted after
> >> >> evas_object_del or  i have to use
> >> >> evas_object_event_callback_del(Evas_Object *eo_obj, Evas_Callback_Type
> >> >> type, Evas_Object_Event_Cb func) to delete ?
> >> >>
> >> >>
> >> >> Thanks.
> >> >>
> >> >>
> >> >> ___
> >> >> enlightenment-devel mailing list
> >> >> enlightenment-devel@lists.sourceforge.net
> >> >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >> >>
> >> >
> >> >
> >> >-- 
> >> >Regards, Hermet
> >> >
> >> >___
> >> >enlightenment-devel mailing list
> >> >enlightenment-devel@lists.sourceforge.net
> >> >https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >> 
> >> ___
> >> enlightenment-devel mailing list
> >> enlightenment-devel@lists.sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >> 
> >
> >
> >-- 
> >- Codito, ergo sum - "I code, therefore I am" --
> >Carsten Haitzler - ras...@rasterman.com
> 
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


-- 
- Codito, ergo sum - "I code, therefore I am" --
Carsten Haitzler - ras...@rasterman.com



___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: docs: nitpicking

2019-11-28 Thread Xavi Artigas
xartigas pushed a commit to branch master.

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

commit 7c79ca674d7583b19a0c03e3763c69c943056884
Author: Xavi Artigas 
Date:   Thu Nov 28 18:13:47 2019 +0100

docs: nitpicking

We should not refer to individual library names anymore. They are all
part of EFL now!
---
 src/lib/efl/interfaces/efl_text_font.eo | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/lib/efl/interfaces/efl_text_font.eo 
b/src/lib/efl/interfaces/efl_text_font.eo
index f7a6e4064c..836835c2a6 100644
--- a/src/lib/efl/interfaces/efl_text_font.eo
+++ b/src/lib/efl/interfaces/efl_text_font.eo
@@ -1,4 +1,3 @@
-// src/lib/efl/interfaces/efl_text_font.eo
 import efl_gfx_types;
 enum @beta Efl.Text_Font_Weight {
[[Type of font weight]]
@@ -58,12 +57,12 @@ interface @beta Efl.Text_Font {
This property controls the font name of a text object.
The font string has to follow fontconfig's convention for
naming fonts, as it's the underlying library used to query system
-   fonts by Evas (see the fc-list command's output, on your system,
-   to get an idea). Alternatively, youe can use the full path to a font
+   fonts by EFL (see the $[fc-list] command's output, on your system,
+   to get an idea). Alternatively, you can use the full path to a font
file.
 
When reading it, the font name string is still owned by
-   Evas and should not be freed.
+   EFL and should not be freed.
See also @.font_source.
  ]]
  set {

-- 




[EGIT] [core/enlightenment] master 01/01: todo - add clipboard

2019-11-28 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 2c5c243b9eab8938c23c6f2a690be01b2d7490d4
Author: Carsten Haitzler (Rasterman) 
Date:   Wed Nov 27 20:23:20 2019 +

todo - add clipboard
---
 TODO | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/TODO b/TODO
index f688edc47..6603d1dc3 100644
--- a/TODO
+++ b/TODO
@@ -1,5 +1,6 @@
 TODO:
- scriptlets: stdin/out module that provides gui services to some
+* clipboard manager - monitor clipboard changes + history + select from it
+* scriptlets: stdin/out module that provides gui services to some
   back-end script or process where e just talks via stdin/out.
   things to provide:
   * only run scriptlet every N seconds to poll then send back data

-- 




Re: [E-devel] EDD 2019 wrap up: news post, meeting minutes, recordings

2019-11-28 Thread Jonathan Aquilina
Hey Stefan can help with rendering of the videos if need be least I can do to 
contribute back to the community

Regards,
Jonathan Aquilina
Owner managing director

Phone (356) 20330099
Mobile (356) 79957942

Email sa...@eagleeyet.net

From: Stefan Schmidt 
Sent: Thursday, November 28, 2019 2:07:51 PM
To: e ; enlightenment-users 

Subject: [E-devel] EDD 2019 wrap up: news post, meeting minutes, recordings

Hello.

We had some good and useful time last weekend at EDD. Xavi did a litle
write up with pretty pictures for our website. Go and have a read:

https://www.enlightenment.org/news/2019-11-26-e-dev-days-2019.txt

Many, many things have been talked about. We tried to capture at least a
little of this in our meetings notes we worked on together. In addition
the first slides have been added to the EDD wiki page schedule (the rest
will follow over the next days).

https://phab.enlightenment.org/w/events/enlightenment_developer_days_2019/minutes/

https://phab.enlightenment.org/w/events/enlightenment_developer_days_2019/

This surely does not cover everything but at least it gives some ideas.
Recordings have been taken but we have not yet checked on the audio
quality and we will see how it is and how long it will take to get the
videos out. Don't hold your breath (or offer help if you are willing to
do some cutting, etc).

regards
Stefan Schmidt


___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [website/www-content] master 01/01: Wiki page 2019-11-26-e-dev-days-2019.txt changed with summary [Added attendees names and phab links.] by Xavi Artigas

2019-11-28 Thread Xavi Artigas
WWW-www.enlightenment.org pushed a commit to branch master.

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

commit a5b73ce5680864276c941cf8c8947ecb51cf339b
Author: Xavi Artigas 
Date:   Thu Nov 28 06:19:57 2019 -0800

Wiki page 2019-11-26-e-dev-days-2019.txt changed with summary [Added 
attendees names and phab links.] by Xavi Artigas
---
 pages/news/2019-11-26-e-dev-days-2019.txt.txt | 18 +-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/pages/news/2019-11-26-e-dev-days-2019.txt.txt 
b/pages/news/2019-11-26-e-dev-days-2019.txt.txt
index e5d7ce9f9..47df13c1a 100644
--- a/pages/news/2019-11-26-e-dev-days-2019.txt.txt
+++ b/pages/news/2019-11-26-e-dev-days-2019.txt.txt
@@ -18,7 +18,23 @@ Finally, a big thank you to Stefan Schmidt for organizing 
everything and getting
 See you all, and a bunch more, next year!
 
 {{ :news:edd2019_pic1.jpg?800,direct | Attendees hard at work!}}
-Attendees hard at work!
+
+Left, front to back, and then back to front:
+[[https://phab.enlightenment.org/p/escwyp|escwyp]],
+[[https://phab.enlightenment.org/p/netstar|netstar]],
+[[https://phab.enlightenment.org/p/rafspiny|rafspiny]],
+[[https://phab.enlightenment.org/p/bu5hm4n|bu5hm4n]],
+[[https://phab.enlightenment.org/p/cedric|cedric]],
+[[https://phab.enlightenment.org/p/herb|herb]],
+[[https://phab.enlightenment.org/p/raster|raster]],
+[[https://phab.enlightenment.org/p/q66|q66]],
+[[https://phab.enlightenment.org/p/michael.bouchaud|yoz]],
+[[https://phab.enlightenment.org/p/vtorri|vtorri]],
+[[https://phab.enlightenment.org/p/peter2121|peter2121]],
+[[https://phab.enlightenment.org/p/SanghyeonLee|SanghyeonLee]],
+[[https://phab.enlightenment.org/p/stefan_schmidt|stefan]]. 
+Picture: [[https://phab.enlightenment.org/p/SegFaultXavi|Yours truly]].
+
 
 {{ :news:edd2019_pic2.jpg?800,direct | Tapas!}}
 Tapas!

-- 




Re: [E-devel] EDD2019: Thank you all and pictures

2019-11-28 Thread Xavi Artigas
>
> what about tagging the photo to know who is who ?
>

Done :)

___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Memory free questions when using EFL

2019-11-28 Thread michael bouchaud
Yes he means evas_object_del as edje_object_add return an Evas_Object
pointer.
And edje_object_del doesn't exists as it's an evas_object.

:)

Le jeu. 28 nov. 2019 à 13:15, Jing  a écrit :

> Thanks Carsten,
>
>
> I did not find edje_object_del(), did you mean evas_object_del()?
>
>
> Here is my code flow:
> //enter:
> obj = edje_object_add(evas)
> edje_object_file_set(obj, file , grup)
> evas_object_show(obj )
> evas_object_move()
> evas_object_resize()
> evas_object_focus_set()
> evas_object_layer_set()
> //exit:
> evas_object_hide(obj)
> evas_object_del(obj)
> Is there anything wrong? Please advise, thanks.
>
> At 2019-11-28 17:21:38, "Carsten Haitzler (The Rasterman)" <
> ras...@rasterman.com> wrote:
> >On Thu, 28 Nov 2019 15:43:17 +0800 (CST) Jing  
> said:
> >
> >> Thanks Hermet for you reply.
> >>
> >>
> >> In my test, i find that if i call function
> edje_object_file_set(Edje_Object
> >> *obj, const char *file, const char *group), even i call
> >> evas_object_del(Edje_Object *obj); to delete the obj, the memory of my
> >> program will keep growing, if i am not use edje_object_file_set() then
> this
> >> issue will not exists.  Is there a way to free the memory of
> >> edje_object_file_set() ? Please advise, thanks.
> >
> >Memory will be freed... is it possible you are not getting any rendering
> >happening? e.g. if you do something like:
> >
> >for (i = 0; i < 10; i++) {
> >  o = edje_object_add(evas);
> >  edje_object_del(o);
> >}
> >
> >your memory will keep growing ad the objects will be queued for deletion
> after
> >2 more renders. you would need the main loop to go idle *AND* for there
> to be
> >visible changes in the canvas needing rendering. evas_norender(evas);
> exists
> >for these cases where you do a loop where you add/del objects and never
> show
> >them or have them rendered (and just use the canvas as a workbench). this
> >forces a "no rendering" render cycle that will clean up queued objects.
> >
> >it's exceedingly rare to do the above without having your canvas go
> through
> >some rendering at some point.
> >
> >also edje will QUEUE signals and process them in idle time. if there is
> never
> >any idle time in the ecore mainloop then the signals will just queue up
> and
> >not be processed. setting a file will produce some signals already (like
> "load"
> >"").
> >
> >> At 2019-11-26 12:24:45, "Hermet Park"  wrote:
> >> >Once object is deleted, the subsequent memory belonging to the object
> will
> >> >be removed as well.
> >> >You don't need to care about it. Callbacks neither.
> >> >
> >> >On Mon, Nov 25, 2019 at 9:12 PM Jing  wrote:
> >> >
> >> >> Hi all,
> >> >> I have some memory free questions when using below two functions:
> >> >>
> >> >>
> >> >> 1.  EAPI Eina_Bool edje_object_file_set(Evas_Object *obj, const char
> >> >> *file, const char *group);
> >> >> ---  After this function done,  i will call  evas_object_del (obj) to
> >> >> delete the obj,  anything else that i need to free ?  For example,
> the edj
> >> >> file used in this funciton?
> >> >>
> >> >>
> >> >> 2.  evas_object_event_callback_add(Evas_Object *eo_obj,
> Evas_Callback_Type
> >> >> type, Evas_Object_Event_Cb func, const void *data)
> >> >>  After this function done,  i will call  evas_object_del (obj) to
> >> >> delete the obj,   the callback will be auto deleted after
> evas_object_del
> >> >> or  i have to use  evas_object_event_callback_del(Evas_Object
> *eo_obj,
> >> >> Evas_Callback_Type type, Evas_Object_Event_Cb func) to delete ?
> >> >>
> >> >>
> >> >> Thanks.
> >> >>
> >> >>
> >> >> ___
> >> >> enlightenment-devel mailing list
> >> >> enlightenment-devel@lists.sourceforge.net
> >> >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >> >>
> >> >
> >> >
> >> >--
> >> >Regards, Hermet
> >> >
> >> >___
> >> >enlightenment-devel mailing list
> >> >enlightenment-devel@lists.sourceforge.net
> >> >https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >>
> >> ___
> >> enlightenment-devel mailing list
> >> enlightenment-devel@lists.sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >>
> >
> >
> >--
> >- Codito, ergo sum - "I code, therefore I am" --
> >Carsten Haitzler - ras...@rasterman.com
>
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>


-- 
Michaël Bouchaud

___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] EDD 2019 wrap up: news post, meeting minutes, recordings

2019-11-28 Thread Stefan Schmidt

Hello.

We had some good and useful time last weekend at EDD. Xavi did a litle 
write up with pretty pictures for our website. Go and have a read:


https://www.enlightenment.org/news/2019-11-26-e-dev-days-2019.txt

Many, many things have been talked about. We tried to capture at least a 
little of this in our meetings notes we worked on together. In addition 
the first slides have been added to the EDD wiki page schedule (the rest 
will follow over the next days).


https://phab.enlightenment.org/w/events/enlightenment_developer_days_2019/minutes/

https://phab.enlightenment.org/w/events/enlightenment_developer_days_2019/

This surely does not cover everything but at least it gives some ideas. 
Recordings have been taken but we have not yet checked on the audio 
quality and we will see how it is and how long it will take to get the 
videos out. Don't hold your breath (or offer help if you are willing to 
do some cutting, etc).


regards
Stefan Schmidt


___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Memory free questions when using EFL

2019-11-28 Thread Jing
Thanks Carsten,


I did not find edje_object_del(), did you mean evas_object_del()?


Here is my code flow:
//enter:
obj = edje_object_add(evas)
edje_object_file_set(obj, file , grup)
evas_object_show(obj )
evas_object_move()
evas_object_resize()
evas_object_focus_set()
evas_object_layer_set()
//exit:
evas_object_hide(obj)
evas_object_del(obj)
Is there anything wrong? Please advise, thanks.

At 2019-11-28 17:21:38, "Carsten Haitzler (The Rasterman)" 
 wrote:
>On Thu, 28 Nov 2019 15:43:17 +0800 (CST) Jing   said:
>
>> Thanks Hermet for you reply.
>> 
>> 
>> In my test, i find that if i call function edje_object_file_set(Edje_Object
>> *obj, const char *file, const char *group), even i call
>> evas_object_del(Edje_Object *obj); to delete the obj, the memory of my
>> program will keep growing, if i am not use edje_object_file_set() then this
>> issue will not exists.  Is there a way to free the memory of
>> edje_object_file_set() ? Please advise, thanks.
>
>Memory will be freed... is it possible you are not getting any rendering
>happening? e.g. if you do something like:
>
>for (i = 0; i < 10; i++) {
>  o = edje_object_add(evas);
>  edje_object_del(o);
>}
>
>your memory will keep growing ad the objects will be queued for deletion after
>2 more renders. you would need the main loop to go idle *AND* for there to be
>visible changes in the canvas needing rendering. evas_norender(evas); exists
>for these cases where you do a loop where you add/del objects and never show
>them or have them rendered (and just use the canvas as a workbench). this
>forces a "no rendering" render cycle that will clean up queued objects.
>
>it's exceedingly rare to do the above without having your canvas go through
>some rendering at some point.
>
>also edje will QUEUE signals and process them in idle time. if there is never
>any idle time in the ecore mainloop then the signals will just queue up and
>not be processed. setting a file will produce some signals already (like "load"
>"").
>
>> At 2019-11-26 12:24:45, "Hermet Park"  wrote:
>> >Once object is deleted, the subsequent memory belonging to the object will
>> >be removed as well.
>> >You don't need to care about it. Callbacks neither.
>> >
>> >On Mon, Nov 25, 2019 at 9:12 PM Jing  wrote:
>> >
>> >> Hi all,
>> >> I have some memory free questions when using below two functions:
>> >>
>> >>
>> >> 1.  EAPI Eina_Bool edje_object_file_set(Evas_Object *obj, const char
>> >> *file, const char *group);
>> >> ---  After this function done,  i will call  evas_object_del (obj) to
>> >> delete the obj,  anything else that i need to free ?  For example, the edj
>> >> file used in this funciton?
>> >>
>> >>
>> >> 2.  evas_object_event_callback_add(Evas_Object *eo_obj, Evas_Callback_Type
>> >> type, Evas_Object_Event_Cb func, const void *data)
>> >>  After this function done,  i will call  evas_object_del (obj) to
>> >> delete the obj,   the callback will be auto deleted after evas_object_del
>> >> or  i have to use  evas_object_event_callback_del(Evas_Object *eo_obj,
>> >> Evas_Callback_Type type, Evas_Object_Event_Cb func) to delete ?
>> >>
>> >>
>> >> Thanks.
>> >>
>> >>
>> >> ___
>> >> enlightenment-devel mailing list
>> >> enlightenment-devel@lists.sourceforge.net
>> >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>> >>
>> >
>> >
>> >-- 
>> >Regards, Hermet
>> >
>> >___
>> >enlightenment-devel mailing list
>> >enlightenment-devel@lists.sourceforge.net
>> >https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>> 
>> ___
>> enlightenment-devel mailing list
>> enlightenment-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>> 
>
>
>-- 
>- Codito, ergo sum - "I code, therefore I am" --
>Carsten Haitzler - ras...@rasterman.com

___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Help with an obscure edje_cc error: Compiling script code not clean.

2019-11-28 Thread Carsten Haitzler
On Thu, 28 Nov 2019 20:29:49 +1030 Simon Lees  said:

> 
> 
> On 11/28/19 7:55 PM, Carsten Haitzler (The Rasterman) wrote:
> > On Tue, 26 Nov 2019 11:25:33 +1030 Simon Lees  said:
> > 
> >> Hi All,
> >>
> >> I had the following very descriptive error compiling a theme, anyone got
> >> ideas on debugging it (i'm already running edje_cc with the -v flag)
> >>
> >> edje_cc: Wrote  4160 bytes (   4Kb) for "edje/images/1134" image
> >> entry "O/icon_file_icons.png" compress: [raw: 74.6%] [real: -4.6%]
> >> edje_cc: images: 5.19517
> >> edje_cc: Critical. Compiling script code not clean.
> >>
> >> You can find the theme in question here
> >> https://github.com/simotek/Enlightenment-Themes/tree/transient-color
> >> (branch is important) running ./build-darkmod.sh will build the theme
> >> for you.
> > 
> > It compiles for me (above git repo and script) ... so what is happening
> > here is embryo_cc is giving a non-zero exit code. So an error occurred.
> > Perhaps it crashed? tracking that is probably the way to go (replace
> > embryo_cc with a shell script that calls the real embryo_cc and logs what
> > is going in?)
> 
> Did you use the right branch? I've narrowed it down to the following

oh damn yes. i forgot the branch.

> diff (that could be narrowed more, but it might be easy enough to spot
> "transient-color" (red) doesn't build "anti-transient-color" (green)
> does, the one that doesn't build has some filters to blur backgrounds as
> one change that is possibly related.
> https://github.com/simotek/Enlightenment-Themes/compare/transient-color...anti-transient-color?expand=1

yargh. heisenbug. it now compiles fine. it was failing. i thew in a embryo_cc
wrapper ... it then worked... i removed the wrapper went back to regular
embryo_cc ... it also worked.

now it works for me. definitely on the right branch:

11:22AM ~/Enlightenment-Themes 🌱 transient-color 🔥 1   >

(my prompt shows the branch i'm on).

> -- 
> 
> Simon Lees (Simotek)http://simotek.net
> 
> Emergency Update Team   keybase.io/simotek
> SUSE Linux   Adelaide Australia, UTC+10:30
> GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B
> 


-- 
- Codito, ergo sum - "I code, therefore I am" --
Carsten Haitzler - ras...@rasterman.com



___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] EDD2019: Thank you all and pictures

2019-11-28 Thread Vincent Torri
On Thu, Nov 28, 2019 at 12:16 PM Xavi Artigas  wrote:
>
> Hi people,
>
> We made it to the enlightenment.org news front page!
> https://www.enlightenment.org/news :P
>
what about tagging the photo to know who is who ?

Vincent


___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] EDD2019: Thank you all and pictures

2019-11-28 Thread Xavi Artigas
Hi people,

We made it to the enlightenment.org news front page!
https://www.enlightenment.org/news :P

Xavi

On Tue, 26 Nov 2019 at 12:11, Xavi Artigas  wrote:

> Hi people,
>
> First off, thank you all for coming to Barcelona. I hope you enjoyed your
> stay :)
>
> I am planning on writing a news article for our site, and also use it as a
> blog post for the Samsung Open Source Group blog... which some day will be
> truly Open...
>
> I would like to ask if everybody is OK with using this picture:
> https://www.enlightenment.org/_media/news/edd2019_pic1.jpg
> And of course if you have better pictures and want to share them, feel
> free to send them to me!
>
> Xavi
>

___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [website/www-content] master 01/01: Wiki page 2019-11-26-e-dev-days-2019.txt changed with summary [created] by Xavi Artigas

2019-11-28 Thread Xavi Artigas
WWW-www.enlightenment.org pushed a commit to branch master.

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

commit bb724d728e99b840ac8af7cdd2588111bf269474
Author: Xavi Artigas 
Date:   Thu Nov 28 03:11:08 2019 -0800

Wiki page 2019-11-26-e-dev-days-2019.txt changed with summary [created] by 
Xavi Artigas
---
 pages/news/2019-11-26-e-dev-days-2019.txt.txt | 31 +++
 1 file changed, 31 insertions(+)

diff --git a/pages/news/2019-11-26-e-dev-days-2019.txt.txt 
b/pages/news/2019-11-26-e-dev-days-2019.txt.txt
new file mode 100644
index 0..e5d7ce9f9
--- /dev/null
+++ b/pages/news/2019-11-26-e-dev-days-2019.txt.txt
@@ -0,0 +1,31 @@
+=== Enlightenment Developer Days 2019 ===
+  * //2019-11-28 - by Xavi Artigas//
+
+On November 23 part of the Enlightenment community gathered for two days in 
Barcelona, Spain, to hold the Enlightenment Developer Days.
+
+Except for the hiatus in 2018, this tradition has been honored uninterruptedly 
since 2012, when it was also held in Barcelona.
+
+Over the weekend, 14 people from 7 countries presented their latest work, 
discussed their current problems, and talked about what lies ahead.
+
+Attendees included Enlightenment Desktop users, application developers, and 
core maintainers, producing a very interesting mixture. The outcome was varied: 
doubts were dispelled, action items for the upcoming months were laid out and, 
most importantly, the community was strengthened. For those of us who attended 
for the first time, it was a pleasure to put a face to the IRC nicks!
+
+I had the honor of being the host this time, and I enjoyed the opportunity to 
show my enlightened fellows around the city and take them out to have some 
Spanish tapas for dinner. Thanks a lot for coming!
+
+Thanks also to the Pompeu Fabra University who allowed us to use their 
facilities free of charge.
+
+Finally, a big thank you to Stefan Schmidt for organizing everything and 
getting Samsung to sponsor the meals for both days.
+
+See you all, and a bunch more, next year!
+
+{{ :news:edd2019_pic1.jpg?800,direct | Attendees hard at work!}}
+Attendees hard at work!
+
+{{ :news:edd2019_pic2.jpg?800,direct | Tapas!}}
+Tapas!
+
+{{ :news:edd2019_pic3.jpg?800,direct | And some light supper for the meat 
lovers.}}
+And some light supper for the meat 
lovers.
+
+{{:blank.png?nolink&100|}}
+~~DISCUSSIONS~~
+

-- 




[EGIT] [core/efl] master 01/01: ecore_win32: fix compose event field

2019-11-28 Thread Vincent Torri
raster pushed a commit to branch master.

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

commit 9acab812ee02f5a2f30544d0eeacc521200e7ac1
Author: Vincent Torri 
Date:   Thu Nov 28 11:06:24 2019 +

ecore_win32: fix compose event field

Summary:
compose event field was encoded in UTF-16 and not UTF-8. Also string
event field was not correctly defined and was generating eina error
messages

Test Plan: running a test

Reviewers: raster, cedric, zmike

Reviewed By: raster

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10753
---
 src/lib/ecore_win32/ecore_win32_event.c | 55 +
 1 file changed, 42 insertions(+), 13 deletions(-)

diff --git a/src/lib/ecore_win32/ecore_win32_event.c 
b/src/lib/ecore_win32/ecore_win32_event.c
index cf6b4492cc..293b16816b 100644
--- a/src/lib/ecore_win32/ecore_win32_event.c
+++ b/src/lib/ecore_win32/ecore_win32_event.c
@@ -42,6 +42,32 @@ static Ecore_Win32_Key_Mask _ecore_win32_key_mask = 0;
 static Eina_Bool_ecore_win32_ctrl_fake = EINA_FALSE;
 static Eina_Bool_ecore_win32_clipboard_has_data = EINA_FALSE;
 
+static char *
+_ecore_win32_utf16_to_utf8(const wchar_t *text)
+{
+   char *res;
+   int size;
+
+   /* text is used as an array, hence never NULL */
+
+   size = WideCharToMultiByte(CP_UTF8, 0, text, -1, NULL, 0, NULL, NULL);
+   if (size == 0)
+ return NULL;
+
+   res = (char *)malloc(size * sizeof(char));
+   if (!res)
+ return NULL;
+
+   size = WideCharToMultiByte(CP_UTF8, 0, text, -1, res, size, NULL, NULL);
+   if (size == 0)
+ {
+free(res);
+return NULL;
+ }
+
+   return res;
+}
+
 static unsigned int
 _ecore_win32_modifiers_get(void)
 {
@@ -1176,15 +1202,14 @@ 
_ecore_win32_event_keystroke_get(Ecore_Win32_Callback_Data *msg,
if (res == -1)
  {
 /* dead key, but managed like normal key */
+compose = _ecore_win32_utf16_to_utf8(buf);
  }
else if (res == 0)
  {
 INF("No translatable character found, skipping");
 if (msg->window_param >= 0x30 && msg->window_param <= 0x39)
-  {
- buf[0] = msg->window_param;
-  }
-else  return NULL;
+  compose = _ecore_win32_utf16_to_utf8(buf);
+/* otherwise, compose is NULL */
  }
else if (res >= 2)
  {
@@ -1196,12 +1221,12 @@ 
_ecore_win32_event_keystroke_get(Ecore_Win32_Callback_Data *msg,
 res = ToUnicode(msg->window_param,
 MapVirtualKey(msg->window_param, 
MAPVK_VK_TO_CHAR),
 kbd_state, buf, 4, 0);
-if ((res != 1) && (res != -1))
-  return NULL;
+if (!((res != 1) && (res != -1)))
+  compose = _ecore_win32_utf16_to_utf8(buf);
+/* otherwise, compose is NULL */
  }
-
-   string[0] = (char)buf[0];
-   compose = string;
+   else /* res == 1 : 1 char written to buf */
+ compose = _ecore_win32_utf16_to_utf8(buf);
 
/*** key field ***/
 
@@ -1232,7 +1257,6 @@ 
_ecore_win32_event_keystroke_get(Ecore_Win32_Callback_Data *msg,
   {
  buf[0] = msg->window_param;
   }
-else  return NULL;
  }
else if (res >= 2)
  {
@@ -1303,7 +1327,7 @@ 
_ecore_win32_event_keystroke_get(Ecore_Win32_Callback_Data *msg,
   {
  buf[0] = msg->window_param;
   }
-else  return NULL;
+else buf[0] = 0;// return NULL;
  }
else if (res >= 2)
  {
@@ -1353,7 +1377,7 @@ 
_ecore_win32_event_keystroke_get(Ecore_Win32_Callback_Data *msg,
e = (Ecore_Event_Key *)calloc(1, sizeof(Ecore_Event_Key) +
  strlen(keyname) + 1 +
  strlen(key) + 1 +
- (compose ? (strlen(compose) + 1) : 0));
+ (compose ? strlen(compose) : 0) + 1);
if (!e)
  return NULL;
 
@@ -1366,7 +1390,12 @@ 
_ecore_win32_event_keystroke_get(Ecore_Win32_Callback_Data *msg,
 
memcpy((char *)e->keyname, keyname, strlen(keyname));
memcpy((char *)e->key, key, strlen(key));
-   if (compose) memcpy((char *)e->compose, compose, strlen(compose));
+   if (compose)
+ {
+memcpy((char *)e->compose, compose, strlen(compose));
+free(compose);
+ }
+
 
return e;
 }

-- 




[EGIT] [core/efl] master 01/01: Efl.Canvas.Text: Further update docs

2019-11-28 Thread Xavi Artigas
xartigas pushed a commit to branch master.

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

commit 92d2cc7ae362275f2a7512778e1f0fa994cdc946
Author: Xavi Artigas 
Date:   Thu Nov 28 11:08:11 2019 +0100

Efl.Canvas.Text: Further update docs
---
 src/lib/evas/canvas/efl_canvas_text.eo | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/efl_canvas_text.eo 
b/src/lib/evas/canvas/efl_canvas_text.eo
index 2367f51bcc..e242c78920 100644
--- a/src/lib/evas/canvas/efl_canvas_text.eo
+++ b/src/lib/evas/canvas/efl_canvas_text.eo
@@ -19,7 +19,9 @@ class @beta Efl.Canvas.Text extends Efl.Canvas.Object 
implements Efl.Text,
   }
   cursor_add {
  [[Adds an existing cursor to the text object.
-   It is typically more convenient to obtain a cursor directly from 
the text object using @.cursor_create.]]
+   If the cursor already belonged to another text object it will be 
reassigned to the new one.
+   It is typically more convenient to obtain a cursor directly from 
the text object using @.cursor_create.
+ ]]
  params {
 cursor: Efl.Text.Cursor; [[The text cursor to use.]]
  }

-- 




[EGIT] [core/efl] master 01/01: Efl.Canvas.Text: Update docs

2019-11-28 Thread Xavi Artigas
xartigas pushed a commit to branch master.

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

commit dfe0c7b110fa038611ae38a8a1fba78e14550d76
Author: Xavi Artigas 
Date:   Thu Nov 28 11:03:55 2019 +0100

Efl.Canvas.Text: Update docs
---
 src/lib/evas/canvas/efl_canvas_text.eo | 113 +
 1 file changed, 60 insertions(+), 53 deletions(-)

diff --git a/src/lib/evas/canvas/efl_canvas_text.eo 
b/src/lib/evas/canvas/efl_canvas_text.eo
index 6cdfaff8be..2367f51bcc 100644
--- a/src/lib/evas/canvas/efl_canvas_text.eo
+++ b/src/lib/evas/canvas/efl_canvas_text.eo
@@ -5,40 +5,42 @@ class @beta Efl.Canvas.Text extends Efl.Canvas.Object 
implements Efl.Text,
Efl.Text_Style, Efl.Text_Format,
Efl.Text_Markup, Efl.Ui.I18n
 {
-   [[Efl canvas text class]]
+   [[This is the Canvas-level text class. This class only takes care of 
rendering text,
+ if you need user interaction consider the classes in $Efl.Ui.]]
methods {
   @property is_empty {
- [[Whether the object is empty (no text) or not
+ [[Whether the object is empty (no text) or not.
  ]]
  get {
  }
  values {
-is_empty: bool; [[$true if empty, $false otherwise]]
+is_empty: bool; [[$true if empty.]]
  }
   }
   cursor_add {
- [[Add cursor that will manipulate and iterate content of the text 
object
+ [[Adds an existing cursor to the text object.
It is typically more convenient to obtain a cursor directly from 
the text object using @.cursor_create.]]
  params {
-cursor: Efl.Text.Cursor; [[Text cursor.]]
+cursor: Efl.Text.Cursor; [[The text cursor to use.]]
  }
   }
   cursor_create {
- [[ Create new cursor and add it to text object
+ [[Creates a new cursor and adds it to the text object.
+   This cursor can be used to manipulate and iterate the content of 
the text object.
  ]]
- return: Efl.Text.Cursor @move; [[Text cursor.]]
+ return: Efl.Text.Cursor @move; [[The created text cursor.]]
   }
   visible_range_get {
  [[Returns the currently visible range.
 
-   The given $start and $end cursor act like out-variables here,
-   as they are set to the positions of the start and the end of the
+   The given $start and $end cursors are output variables:
+   they are set to the positions of the start and the end of the
visible range in the text, respectively.
  ]]
- return: bool; [[$true on success, $false otherwise]]
+ return: bool; [[$true on success.]]
  params {
-@in start: Efl.Text.Cursor; [[Range start position]]
-@in end: Efl.Text.Cursor; [[Range end position]]
+@in start: Efl.Text.Cursor; [[Range start position.]]
+@in end: Efl.Text.Cursor; [[Range end position.]]
  }
   }
   @property style_insets {
@@ -48,92 +50,97 @@ class @beta Efl.Canvas.Text extends Efl.Canvas.Object 
implements Efl.Text,
  ]]
  get {}
  values {
-l: int; [[Left padding]]
-r: int; [[Right padding]]
-t: int; [[Top padding]]
-b: int; [[Bottom padding]]
+l: int; [[Left padding.]]
+r: int; [[Right padding.]]
+t: int; [[Top padding.]]
+b: int; [[Bottom padding.]]
  }
   }
   @property bidi_delimiters {
- [[BiDi delimiters are used for in-paragraph separation of bidi
+ [[BiDi delimiters are used for in-paragraph separation of 
bidirectional
segments. This is useful, for example, in the recipient fields of
-   e-mail clients where bidi oddities can occur when mixing RTL
-   and LTR.
+   e-mail clients where bidi oddities can occur when mixing RTL 
(right-to-left)
+   and LTR (left-to-right) text.
  ]]
  set {}
  get {}
  values {
-delim: string; [[A null terminated string of delimiters, e.g ",|" 
or $null if empty]]
+delim: string; [[A null terminated string of delimiters, e.g ",|" 
or $null if empty.]]
  }
   }
   @property newline_as_paragraph_separator {
- [[When $true, newline character will behave as a paragraph separator.
+ [[When $true, the newline character will behave as a paragraph 
separator.
  ]]
  set {}
  get {}
  values {
-mode: bool; [[$true for legacy mode, $false otherwise]]
+mode: bool; [[$true for legacy mode, $false otherwise.]]
  }
   }
   style_apply {
- [[apply the style for this object, sent style member will override 
old ones, other styles will not be affected.
- similar to setting style using functions (for exa

[EGIT] [core/efl] master 01/01: ci: ensure we still test ephysics in all enabled build job

2019-11-28 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 3ae44245e8d0668b503291da9dce838e662d0a3b
Author: Stefan Schmidt 
Date:   Thu Nov 28 08:52:22 2019 +0100

ci: ensure we still test ephysics in all enabled build job

With commit 523a64d2265c13a82ba73022d10919f0e392bab2 we switched the
default for ephysics from true to false. This would result in no CI
coverage if we do not explicitly enable it in this job.

Reviewed-by: Carsten Haitzler (Rasterman) 
Differential Revision: https://phab.enlightenment.org/D10757
---
 .ci/ci-configure.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.ci/ci-configure.sh b/.ci/ci-configure.sh
index b588f6f443..88c7f414e3 100755
--- a/.ci/ci-configure.sh
+++ b/.ci/ci-configure.sh
@@ -21,7 +21,7 @@ if [ "$DISTRO" != "" ] ; then
   -Ddebug-threads=true -Dglib=true -Dg-mainloop=true -Dxpresent=true 
-Dxgesture=false -Dxinput22=true \
   -Devas-loaders-disabler=json -Decore-imf-loaders-disabler= 
-Demotion-loaders-disabler=gstreamer,libvlc,xine \
   -Demotion-generic-loaders-disabler=vlc -Dharfbuzz=true -Dpixman=true 
-Dhyphen=true \
-  -Dvnc-server=true -Dbindings=luajit -Delogind=false -Dinstall-eo-files=true"
+  -Dvnc-server=true -Dbindings=luajit -Delogind=false -Dinstall-eo-files=true 
-Dphysics=true"
 
   # Enabled png, jpeg evas loader for in tree edje file builds
   DISABLED_LINUX_COPTS=" -Daudio=false -Davahi=false -Dx11=false 
-Dphysics=false -Deeze=false \

-- 




Re: [E-devel] Help with an obscure edje_cc error: Compiling script code not clean.

2019-11-28 Thread Simon Lees


On 11/28/19 7:55 PM, Carsten Haitzler (The Rasterman) wrote:
> On Tue, 26 Nov 2019 11:25:33 +1030 Simon Lees  said:
> 
>> Hi All,
>>
>> I had the following very descriptive error compiling a theme, anyone got
>> ideas on debugging it (i'm already running edje_cc with the -v flag)
>>
>> edje_cc: Wrote  4160 bytes (   4Kb) for "edje/images/1134" image
>> entry "O/icon_file_icons.png" compress: [raw: 74.6%] [real: -4.6%]
>> edje_cc: images: 5.19517
>> edje_cc: Critical. Compiling script code not clean.
>>
>> You can find the theme in question here
>> https://github.com/simotek/Enlightenment-Themes/tree/transient-color
>> (branch is important) running ./build-darkmod.sh will build the theme
>> for you.
> 
> It compiles for me (above git repo and script) ... so what is happening here 
> is
> embryo_cc is giving a non-zero exit code. So an error occurred. Perhaps it
> crashed? tracking that is probably the way to go (replace embryo_cc with a
> shell script that calls the real embryo_cc and logs what is going in?)

Did you use the right branch? I've narrowed it down to the following
diff (that could be narrowed more, but it might be easy enough to spot
"transient-color" (red) doesn't build "anti-transient-color" (green)
does, the one that doesn't build has some filters to blur backgrounds as
one change that is possibly related.
https://github.com/simotek/Enlightenment-Themes/compare/transient-color...anti-transient-color?expand=1

-- 

Simon Lees (Simotek)http://simotek.net

Emergency Update Team   keybase.io/simotek
SUSE Linux   Adelaide Australia, UTC+10:30
GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B



signature.asc
Description: OpenPGP digital signature
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] EDD2019: Thank you all and pictures

2019-11-28 Thread The Rasterman
On Tue, 26 Nov 2019 12:11:00 +0100 Xavi Artigas  said:

> Hi people,
> 
> First off, thank you all for coming to Barcelona. I hope you enjoyed your
> stay :)
> 
> I am planning on writing a news article for our site, and also use it as a
> blog post for the Samsung Open Source Group blog... which some day will be
> truly Open...
> 
> I would like to ask if everybody is OK with using this picture:
> https://www.enlightenment.org/_media/news/edd2019_pic1.jpg
> And of course if you have better pictures and want to share them, feel free
> to send them to me!

go ahead and (ab)use it :)

-- 
- Codito, ergo sum - "I code, therefore I am" --
Carsten Haitzler - ras...@rasterman.com



___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Help with an obscure edje_cc error: Compiling script code not clean.

2019-11-28 Thread The Rasterman
On Tue, 26 Nov 2019 11:25:33 +1030 Simon Lees  said:

> Hi All,
> 
> I had the following very descriptive error compiling a theme, anyone got
> ideas on debugging it (i'm already running edje_cc with the -v flag)
> 
> edje_cc: Wrote  4160 bytes (   4Kb) for "edje/images/1134" image
> entry "O/icon_file_icons.png" compress: [raw: 74.6%] [real: -4.6%]
> edje_cc: images: 5.19517
> edje_cc: Critical. Compiling script code not clean.
> 
> You can find the theme in question here
> https://github.com/simotek/Enlightenment-Themes/tree/transient-color
> (branch is important) running ./build-darkmod.sh will build the theme
> for you.

It compiles for me (above git repo and script) ... so what is happening here is
embryo_cc is giving a non-zero exit code. So an error occurred. Perhaps it
crashed? tracking that is probably the way to go (replace embryo_cc with a
shell script that calls the real embryo_cc and logs what is going in?)

> Thanks
> 
> -- 
> 
> Simon Lees (Simotek)http://simotek.net
> 
> Emergency Update Team   keybase.io/simotek
> SUSE Linux   Adelaide Australia, UTC+10:30
> GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B
> 


-- 
- Codito, ergo sum - "I code, therefore I am" --
Carsten Haitzler - ras...@rasterman.com



___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Memory free questions when using EFL

2019-11-28 Thread The Rasterman
On Thu, 28 Nov 2019 15:43:17 +0800 (CST) Jing   said:

> Thanks Hermet for you reply.
> 
> 
> In my test, i find that if i call function edje_object_file_set(Edje_Object
> *obj, const char *file, const char *group), even i call
> evas_object_del(Edje_Object *obj); to delete the obj, the memory of my
> program will keep growing, if i am not use edje_object_file_set() then this
> issue will not exists.  Is there a way to free the memory of
> edje_object_file_set() ? Please advise, thanks.

Memory will be freed... is it possible you are not getting any rendering
happening? e.g. if you do something like:

for (i = 0; i < 10; i++) {
  o = edje_object_add(evas);
  edje_object_del(o);
}

your memory will keep growing ad the objects will be queued for deletion after
2 more renders. you would need the main loop to go idle *AND* for there to be
visible changes in the canvas needing rendering. evas_norender(evas); exists
for these cases where you do a loop where you add/del objects and never show
them or have them rendered (and just use the canvas as a workbench). this
forces a "no rendering" render cycle that will clean up queued objects.

it's exceedingly rare to do the above without having your canvas go through
some rendering at some point.

also edje will QUEUE signals and process them in idle time. if there is never
any idle time in the ecore mainloop then the signals will just queue up and
not be processed. setting a file will produce some signals already (like "load"
"").

> At 2019-11-26 12:24:45, "Hermet Park"  wrote:
> >Once object is deleted, the subsequent memory belonging to the object will
> >be removed as well.
> >You don't need to care about it. Callbacks neither.
> >
> >On Mon, Nov 25, 2019 at 9:12 PM Jing  wrote:
> >
> >> Hi all,
> >> I have some memory free questions when using below two functions:
> >>
> >>
> >> 1.  EAPI Eina_Bool edje_object_file_set(Evas_Object *obj, const char
> >> *file, const char *group);
> >> ---  After this function done,  i will call  evas_object_del (obj) to
> >> delete the obj,  anything else that i need to free ?  For example, the edj
> >> file used in this funciton?
> >>
> >>
> >> 2.  evas_object_event_callback_add(Evas_Object *eo_obj, Evas_Callback_Type
> >> type, Evas_Object_Event_Cb func, const void *data)
> >>  After this function done,  i will call  evas_object_del (obj) to
> >> delete the obj,   the callback will be auto deleted after evas_object_del
> >> or  i have to use  evas_object_event_callback_del(Evas_Object *eo_obj,
> >> Evas_Callback_Type type, Evas_Object_Event_Cb func) to delete ?
> >>
> >>
> >> Thanks.
> >>
> >>
> >> ___
> >> enlightenment-devel mailing list
> >> enlightenment-devel@lists.sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >>
> >
> >
> >-- 
> >Regards, Hermet
> >
> >___
> >enlightenment-devel mailing list
> >enlightenment-devel@lists.sourceforge.net
> >https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> 
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> 


-- 
- Codito, ergo sum - "I code, therefore I am" --
Carsten Haitzler - ras...@rasterman.com



___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: Polish text interface methods

2019-11-28 Thread Ali Alzyod
woohyun pushed a commit to branch master.

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

commit 7bdb63d045cf3377abb7966d018da10c4e8d6b13
Author: Ali Alzyod 
Date:   Thu Nov 28 16:55:26 2019 +0900

Polish text interface methods

Summary:
This patch is set to rename some properties of `Efl.Text_Font` & 
`Efl.Text_Format` interfaces.

1- efl_text_font_set/get become (efl_text_font_family_set/get, 
efl_text_font_size_set/get)

2- efl_text_valign/halign   become efl_text_vertical/horizontal_align

3- efl_text_halign_auto_type  become  efl_text_horizontal_align_auto_type

Reviewers: ali.alzyod, woohyun, segfaultxavi, bu5hm4n, zmike, cedric

Reviewed By: woohyun

Subscribers: zmike, #committers, #reviewers, cedric

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10716
---
 src/bin/elementary/test_efl_ui_text.c| 12 ++--
 src/bin/elementary/test_gfx_filters.c|  7 +-
 src/bin/elementary/test_photocam.c   |  3 +-
 src/bin/elementary/test_ui_relative_container.c  |  6 +-
 src/examples/elementary/efl_canvas_layout_text.c |  3 +-
 src/examples/elementary/efl_ui_list_example_1.c  |  6 +-
 src/lib/edje/edje_part_text.c| 48 ++---
 src/lib/edje/edje_text.c | 30 ++---
 src/lib/edje/efl_canvas_layout_part_text.eo  |  3 +-
 src/lib/efl/interfaces/efl_text_font.eo  | 23 +--
 src/lib/efl/interfaces/efl_text_format.eo|  6 +-
 src/lib/elementary/efl_ui_text.c |  6 +-
 src/lib/evas/canvas/efl_canvas_text.eo   |  9 +--
 src/lib/evas/canvas/evas_object_text.c   | 86 +++-
 src/lib/evas/canvas/evas_object_textblock.c  | 45 -
 src/lib/evas/canvas/evas_object_textgrid.c   | 42 
 src/lib/evas/canvas/evas_text_eo.c   |  6 +-
 src/lib/evas/canvas/evas_textgrid_eo.c   | 16 +++--
 src/lib/evas/canvas/evas_textgrid_eo.h   |  2 +-
 src/lib/evas/canvas/evas_textgrid_eo.legacy.h|  2 +-
 src/tests/edje/edje_test_text.c  |  9 ++-
 src/tests/evas/evas_test_textblock.c | 21 --
 22 files changed, 259 insertions(+), 132 deletions(-)

diff --git a/src/bin/elementary/test_efl_ui_text.c 
b/src/bin/elementary/test_efl_ui_text.c
index e06006703e..24870b54ec 100644
--- a/src/bin/elementary/test_efl_ui_text.c
+++ b/src/bin/elementary/test_efl_ui_text.c
@@ -67,7 +67,8 @@ test_efl_ui_text_label(void *data EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED, voi
 
en = _create_label(win, bx);
efl_text_markup_set(en, "You can also ENTER markup!");
-   efl_text_font_set(en, "Sans", 14);
+   efl_text_font_family_set(en, "Sans");
+   efl_text_font_size_set(en, 14);
efl_text_wrap_set(en, EFL_TEXT_FORMAT_WRAP_WORD);
efl_text_multiline_set(en, EINA_TRUE);
 
@@ -76,7 +77,8 @@ test_efl_ui_text_label(void *data EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED, voi
  "You can use the text -> markup helper\nto make coding easier.");
efl_text_markup_set(en, markup);
free(markup);
-   efl_text_font_set(en, "Sans", 14);
+   efl_text_font_family_set(en, "Sans");
+   efl_text_font_size_set(en, 14);
efl_text_wrap_set(en, EFL_TEXT_FORMAT_WRAP_WORD);
efl_text_multiline_set(en, EINA_TRUE);
 
@@ -85,7 +87,8 @@ test_efl_ui_text_label(void *data EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED, voi
  "You can use markup -> text helpersto make coding easier.");
efl_text_set(en, markup);
free(markup);
-   efl_text_font_set(en, "Sans", 14);
+   efl_text_font_family_set(en, "Sans");
+   efl_text_font_size_set(en, 14);
efl_text_wrap_set(en, EFL_TEXT_FORMAT_WRAP_WORD);
efl_text_multiline_set(en, EINA_TRUE);
 }
@@ -161,7 +164,8 @@ test_efl_ui_text(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *eve
efl_text_interactive_editable_set(en, EINA_TRUE);
efl_ui_text_scrollable_set(en, EINA_TRUE);
 
-   efl_text_font_set(en, "Sans", 12);
+   efl_text_font_family_set(en, "Sans");
+   efl_text_font_size_set(en, 12);
efl_text_font_width_set(en, EFL_TEXT_FONT_WIDTH_ULTRACONDENSED);
efl_text_normal_color_set(en, 255, 255, 255, 255);
 
diff --git a/src/bin/elementary/test_gfx_filters.c 
b/src/bin/elementary/test_gfx_filters.c
index 35360b61b6..988c0769c4 100644
--- a/src/bin/elementary/test_gfx_filters.c
+++ b/src/bin/elementary/test_gfx_filters.c
@@ -294,11 +294,9 @@ _font_size_change(void *data, const Efl_Event *ev)
 {
Eo *win = data;
Eo *text;
-   const char *font;
 
text = efl_key_wref_get(win, "text");
-   efl_text_font_get(text, &font, NULL);
-   efl_text_font_set(text, font, elm_spinner_value_get(ev->object));
+   efl_text_font_size_set(text, elm_spinner_value_get(ev->object));
 }
 
 static void
@@ -462,7 +460,8 @@ test_gfx_filters(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *eve
   // Note: N