AgeCommit message (Collapse)Author
40 hoursevas vg: revise buffer caching method.devs/hermet/lottieHermet Park
for better precise buffer cache key, We make a unique key name combining root node + size + frame index. Now, we can reuse the root node for animation and caching buffers.
45 hoursevas vg: fix memory corruption for user entry.Hermet Park
Container must have a set parent after construction. efl_add_ref() with a parent won't work this case because container needs some jobs in overriding parent_set() after proper intialization.
47 hoursMerge branch 'master' into devs/hermet/lottieHermet Park
2 dayscsharp: This test requires Beta stuffLauro Moura
2 dayseolian_mono: proper parsing of doc notes and paragraphsXavi Artigas
Summary: The documentation tokenizer relies on proper separation of paragraphs, and we were not doing that. This fixes detection of Note:, Warning:, Remark: and TODO: tags. Additionally, we were removing the blank line between the summary and the description, artificially joining them. Test Plan: Everything builds and passes tests, and docs with `Note:` tags are correctly rendered (like `Efl.Loop_Consumer.new_promise`, for example) Reviewers: lauromoura Reviewed By: lauromoura Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2 dayscsharp: Implement Deconstruct for structs.João Paulo Taylor Ienczak Zanette
Summary: Usage example: ``` var (x, y) = somePos2D; ``` Not available on Mono environment due to [`mcs` not implementing it]( To keep tests from breaking because of it, a `MONO` preprocessor variable is defined and checked during test compilation. Ref T8489. Reviewers: brunobelo, lauromoura, segfaultxavi Reviewed By: lauromoura Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8489 Differential Revision:
2 daysefl_ui: cleanup elm headersYeongjong Lee
since e2980cd9812113fc4a216749eb23d7611b02fd55, `efl.ui.text` doesn't need `elm_general.h`. This partially reverts commit 96be3cd83d3426c5a9eb8d903245c51927567dc6. Reviewed-by: Cedric BAIL <> Differential Revision:
2 dayselementary_test: Fix efl_add_ref to efl_add for window autodelJunsuChoi
Fix this error message ERR<15404>:eo ../src/lib/eo/eo_base_class.c:710 efl_del() Calling efl_del on object Efl.Ui.Win@0x400000a4b774[2]:hidden:children=0:'(null)':'(null)' with no parent is not advised any more. Reviewed-by: Cedric BAIL <> Differential Revision:
2 dayscsharp: Add implicit conversion from tuples to structs.João Paulo Taylor Ienczak Zanette
Summary: Also generates implicit conversion for 1-field structs. Usage examples: ``` // With tuples Point2D p = (1, 2); obj.SetPoint((1, 2)); // With 1-field structs StringWrapper sw = "Must be handled by wrapper."; ``` Due to limitations of MSC compiler, implicit conversions are generated only if struct has 4 fields or less. Ref T8489. Reviewers: brunobelo, cedric, lauromoura, segfaultxavi Reviewed By: lauromoura Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T8489 Differential Revision:
2 daysmono: suppress unused parameter warningXavi Artigas
2 daysmono-docs: Nicer formatting for notesXavi Artigas
This has never been tested because so far EO "Note:" tags are only recognized when they appear at the beginning of a comment block. It turns out the note already includes the "Note:" prefix so we were adding it twice. This patch removes one of the prefixes and used a nicer formatting. Also works for "Warning:", "Remark:" and "TODO:".
2 daysmono-docs: Allow property refs with keysXavi Artigas
When an EO property had multiple values or keys the C# generator didn't generate a wrapping C# property. Therefore property references in the documentation were changed to references to the getter. Now multiple values are handled through tuples so the wrapping properties ARE generated. This patch removes the restriction for multiple values to doc refs can more naturally reference the property instead of the getter method. Properties with keys still reference the getter, since these are not wrapped.
3 daysevas_object_textblock: add support for variation sequencesAli Alzyod
Summary: update font processing to handle variation sequences unicodes to select proper glypg in respect to variation seqences Test Plan: ``` #define EFL_EO_API_SUPPORT 1 #define EFL_BETA_API_SUPPORT 1 #include <Eina.h> #include <Efl.h> #include <Elementary.h> EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *textblock; elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); win = elm_win_util_standard_add("Main", ""); elm_win_autodel_set(win, EINA_TRUE); textblock = evas_object_textblock_add(win); efl_canvas_text_style_set(textblock,NULL,"DEFAULT='font=DejaVuSans font_fallbacks=SamsungColorEmoji color=#000 font_size=20'"); evas_object_textblock_text_markup_set(textblock, "8&#xfe0f;&#x20E3;&#x262a;&#xfe0f;AAA&#x262a;&#xfe0E;1234567&#xfe0f;&#x20E3;"); evas_object_size_hint_weight_set(textblock, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(textblock, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(textblock); evas_object_move(textblock, 0, 0); evas_object_resize(textblock, 320, 320); evas_object_resize(win, 320, 320); evas_object_show(win); elm_run(); return 0; } ELM_MAIN() ``` Reviewers: woohyun, bowonryu, segfaultxavi, cedric, bu5hm4n Reviewed By: woohyun, cedric Subscribers: raster, bu5hm4n, subodh6129, herdsman, segfaultxavi, zmike, cedric, #committers, #reviewers Tags: #efl Differential Revision:
3 dayscsharp: remove Efl.IText.Text from the blacklistYeongjong Lee
Summary: There is no conflict anymore. ref T8093 Test Plan: meson setup -Dbindings=mono,cxx -Dmono-beta=true Reviewers: lauromoura, woohyun Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8093 Differential Revision:
3 daysevas_textblock: content fit featureAli Alzyod
Summary: **Content Fit Feature for Evas_Object_Textblock** This Feature is available at **Evas **object level. And **Edje **level (where it is internally use evas functionality) This feature will allow text block to fit its content font size to proper size to fit its area. **Main Properties:** Fit Modes : None=Default, Width, Height, All [Width+Height] Fit Size Range : Contains maximum and minimum font size to be used (and in between). Fit Step Size : Step(Jump) value when trying fonts sizes between Size_Range max and min. Fit Size Array : Other way to resize font, where you explicitly select font sizes to be uses (for example [20, 50, 100] it will try 3 sizes only) Text Fit feature was available in Edje but: 1- It doesn't effected by ellipsis or warping in font style (or do not handle the in right way) 2- Accuracy is not good (specially if you have fix pixel size elements (spaces,tabs,items)) 3- No (Step size, Size Array) available. Test Plan: To check the Feature > elementary_test > fit > textbock fit You can modify all the modes and properties These are two examples, One using Evas other uses Edje **Evas** ``` #include <Elementary.h> enum BUTTON{ BUTTON_MODE = 0, BUTTON_MAX = 1, BUTTON_MIN = 2, BUTTON_STEP = 3, BUTTON_ARRAY = 4, BUTTON_CONTENT = 5, BUTTON_STYLE = 6, BUTTON_ALL = BUTTON_STYLE+1, }; char* BUTTON_STR[BUTTON_ALL] ={ "MODE", "MAX", "MIN", "STEP", "ARRAY", "CONTENT", "STYLE", }; char *contents[] = { "Hello World", "This is Line<br>THis is other Line", "This text contains <font_size=20 color=#F00>SPECIFIC SIZE</font_size> that does not effected by fit mode" }; char *styles[] = { "DEFAULT='font=sans font_size=30 color=#000 wrap=mixed ellipsis=1.0'", "DEFAULT='font=sans font_size=30 color=#000 wrap=mixed'", "DEFAULT='font=sans font_size=30 color=#000 ellipsis=1.0'", "DEFAULT='font=sans font_size=30 color=#000'", }; char *styles_names[] = { "wrap=<color=#F00>mixed</color> ellipsis=<color=#F00>1.0</color>", "wrap=<color=#F00>mixed</color> ellipsis=<color=#F00>NONE</color>", "wrap=<color=#F00>NONE</color> ellipsis=<color=#F00>1.0</color>", "wrap=<color=#F00>NONE</color> ellipsis=<color=#F00>NONE</color>", }; typedef struct _APP { Evas_Object *win, *box, *txtblock,*bg, *boxHor, *boxHor2; Eo *btn[BUTTON_ALL]; Eo *lbl_status; char * str; unsigned int i_contnet, i_style; } APP; APP *app; char * get_fit_status(Eo * textblock); static void _btn_clicked(void *data EINA_UNUSED, Eo *obj, void *eventInfo EINA_UNUSED){ if (obj == app->btn[BUTTON_MODE]) { unsigned int options; evas_textblock_fit_options_get(app->txtblock, &options); if (options == TEXTBLOCK_FIT_MODE_NONE) evas_textblock_fit_options_set(app->txtblock, TEXTBLOCK_FIT_MODE_HEIGHT); else if (options == TEXTBLOCK_FIT_MODE_HEIGHT) evas_textblock_fit_options_set(app->txtblock, TEXTBLOCK_FIT_MODE_WIDTH); else if (options == TEXTBLOCK_FIT_MODE_WIDTH) evas_textblock_fit_options_set(app->txtblock, TEXTBLOCK_FIT_MODE_ALL); else if (options == TEXTBLOCK_FIT_MODE_ALL) evas_textblock_fit_options_set(app->txtblock, TEXTBLOCK_FIT_MODE_NONE); } else if (obj == app->btn[BUTTON_MAX]) { unsigned int min, max; evas_textblock_fit_size_range_get(app->txtblock, &min, &max); max -= 5; evas_textblock_fit_size_range_set(app->txtblock, min, max); } else if (obj == app->btn[BUTTON_MIN]) { unsigned int min, max; evas_textblock_fit_size_range_get(app->txtblock, &min, &max); min += 5; evas_textblock_fit_size_range_set(app->txtblock, min, max); } else if (obj == app->btn[BUTTON_STEP]) { unsigned int step; evas_textblock_fit_step_size_get(app->txtblock, &step); step++; evas_textblock_fit_step_size_set(app->txtblock, step); } else if (obj == app->btn[BUTTON_ARRAY]) { unsigned int font_size[] = {10, 50, 100 ,150}; evas_textblock_fit_size_array_set(app->txtblock,font_size,4); } else if (obj == app->btn[BUTTON_CONTENT]) { app->i_contnet++; if(app->i_contnet>=sizeof(contents)/sizeof(char*)) app->i_contnet=0; evas_object_textblock_text_markup_set(app->txtblock,contents[app->i_contnet]); } else if (obj == app->btn[BUTTON_STYLE]) { app->i_style++; if(app->i_style>=sizeof(styles)/sizeof(char*)) app->i_style=0; Evas_Textblock_Style *style = evas_object_textblock_style_get(app->txtblock); evas_textblock_style_set(style,styles[app->i_style]); } elm_object_text_set(app->lbl_status, get_fit_status(app->txtblock)); } char * get_fit_status(Eo * textblock) { static char status[0xFFF]; unsigned int options,min,max,step,size_array[256]; size_t size_array_len; evas_textblock_fit_options_get(textblock,&options); evas_textblock_fit_size_range_get(textblock,&min,&max); evas_textblock_fit_step_size_get(textblock,&step); evas_textblock_fit_size_array_get(textblock,NULL,&size_array_len,0); if (size_array_len>255) size_array_len = 255; evas_textblock_fit_size_array_get(textblock,size_array,NULL,size_array_len); strcpy(status,"Mode : "); if (options == TEXTBLOCK_FIT_MODE_NONE) strcat(status,"MODE_NONE"); else if (options == TEXTBLOCK_FIT_MODE_HEIGHT) strcat(status,"MODE_HEIGHT"); else if (options == TEXTBLOCK_FIT_MODE_WIDTH) strcat(status,"MODE_WIDTH"); else if (options == TEXTBLOCK_FIT_MODE_ALL) strcat(status,"MODE_ALL"); strcat(status,"<br>"); sprintf(status + strlen(status),"Max : %d<br>",max); sprintf(status + strlen(status),"Min : %d<br>",min); sprintf(status + strlen(status),"Step : %d<br>",step); sprintf(status + strlen(status),"Array : [ "); for (size_t i = 0 ; i < 10 ; i++) { if(i<size_array_len) sprintf(status + strlen(status)," %d,",size_array[i]); } if(10<size_array_len) sprintf(status + strlen(status)," ... "); sprintf(status + strlen(status)," ]"); sprintf(status + strlen(status),"<br>"); sprintf(status + strlen(status),"%s",styles_names[app->i_style]); return status; } int elm_main(int argc, char **argv) { app = calloc(sizeof(APP), 1); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); app->win = elm_win_util_standard_add("Main", "App"); elm_win_autodel_set(app->win, EINA_TRUE); app->box = elm_box_add(app->win); app->boxHor = elm_box_add(app->box); app->boxHor2 = elm_box_add(app->box); app->txtblock = evas_object_textblock_add(app->box); app->bg = elm_bg_add(app->box); elm_bg_color_set(app->bg,255,255,255); Evas_Textblock_Style *style = evas_textblock_style_new(); evas_textblock_style_set(style,styles[0]); evas_object_textblock_style_set(app->txtblock,style); evas_object_textblock_text_markup_set(app->txtblock,contents[0]); elm_box_horizontal_set(app->boxHor, EINA_TRUE); elm_box_horizontal_set(app->boxHor2, EINA_TRUE); evas_object_size_hint_weight_set(app->box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(app->box, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(app->box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(app->box, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(app->txtblock); evas_object_show(app->bg); evas_object_show(app->box); evas_object_show(app->boxHor); evas_object_show(app->boxHor2); elm_box_pack_end(app->box, app->bg); elm_box_pack_end(app->box, app->boxHor); elm_box_pack_end(app->box, app->boxHor2); elm_object_content_set(app->bg,app->txtblock); elm_win_resize_object_add(app->win, app->box); evas_object_resize(app->win, 320, 480); for(int i = 0 ; i < BUTTON_ALL ; i++) { app->btn[i] = elm_button_add(app->boxHor); evas_object_smart_callback_add(app->btn[i], "clicked", _btn_clicked, NULL); elm_object_text_set(app->btn[i], BUTTON_STR[i]); elm_box_pack_end(app->boxHor, app->btn[i]); evas_object_show(app->btn[i]); } app->lbl_status = elm_label_add(app->boxHor2); elm_object_text_set(app->lbl_status, get_fit_status(app->txtblock)); elm_box_pack_end(app->boxHor2, app->lbl_status); evas_object_show(app->lbl_status); evas_object_size_hint_weight_set(app->txtblock, EVAS_HINT_EXPAND,EVAS_HINT_EXPAND); evas_object_size_hint_align_set(app->txtblock, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(app->bg, EVAS_HINT_EXPAND,EVAS_HINT_EXPAND); evas_object_size_hint_align_set(app->bg, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(app->win); elm_run(); return 0; } ELM_MAIN() ``` **Edje** ``` // compile: edje_cc source.edc // run: edje_player source.edje collections { styles { style { name: "text_style"; base: "font=sans font_size=30 color=#FFF wrap=mixed ellipsis=1.0"; tag: "br" "\n"; tag: "ps" "ps"; tag: "tab" "\t"; tag: "b" "+ font_weight=Bold"; } } group { name: "my_group"; // must be the same as in source.c parts { part { name: "background"; type: RECT; scale: 1; description { color: 0 0 0 0; rel1.relative: 0.0 0.0; rel2.relative: 1.0 1.0; } } part { name: "text"; type: TEXTBLOCK; scale: 1; entry_mode: NONE; effect: OUTLINE_SHADOW; description { state: "default" 0.0; : "background"; rel1.relative: 0.0 0.0; : "background"; rel2.relative: 1.0 1.0; text { style: "text_style"; align: 0.0 0.0; text: "Hello World This is Me"; fit: 1 1; fit_step: 1; size_range: 30 200; //fit_size_array: 20 40 60 80 100 200; } } } } } } ``` Found Task T5724 relative to this Feature Reviewers: woohyun, bowonryu, cedric, raster Reviewed By: woohyun Subscribers: a.srour, #committers, #reviewers, cedric Tags: #efl Differential Revision:
3 daysc#: Implement IList<T> to Eina.List.Bruno da Silva Belo
Summary: Container can have three configuration over `Own` and `OwnContent`: `Own = true` and `OwnContent = true`; `Own = true` and `OwnContent = false`; `Own = false`and `OwnContent = false; If someone try to instanciate the container with `Own = false` and `OwnContent = true`, a exception raises. There is two Ownerships' behaviours in c#, where `IsReadOnly` is responsible and `IsReadOnly = !OwnContent`: Full Ownership: User can use modify/Add/Remove operations over the container, this is implemented with `OwnContent = true`. No Ownership: User **cannot** use modify/Add/Remove operations, this is implemented with `OwnContent = false`. For the memory, `Own` frees the node, while `OwnContent` frees the data portion. ref T8487 Reviewers: lauromoura, felipealmeida, YOhoho, segfaultxavi, jptiz Reviewed By: lauromoura Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8487 Differential Revision:
3 daysefl_ui_popup: do not leak the backwall partMarcel Hollerbach
freeing it in the destructor is not enough. This has to be done at the invalidator stage, otherwise bindings might have a blocking element on the screen for the time the object is not gargabe collected. Reviewed-by: Jaehyun Cho <> Differential Revision:
3 dayselementary_test: Add Canvas.Textblock style testXavi Artigas
This test accepts a style string (as defined in the style_apply method) and continuously applies it to a sample text block. Useful for debugging Efl.Canvas.Textblock styles. Reviewed-by: Cedric BAIL <> Differential Revision:
3 dayseina_rbtree: Clean array intead of flush.Woochanlee
It doesn't have to flush all of the time when it iterating. Reviewed-by: Cedric BAIL <> Differential Revision:
3 daysNEWS: Fix minor typo that I missed during reviewChris Michael
3 daysecore exe - remove useless fd closing before _exit()Carsten Haitzler (Rasterman)
we call _exit() right after closing some fd's - don't bother. they might already be closed anyway and they will all be closed at exit either way...
3 daysNEWS: update file with recent removals form treeStefan Schmidt
Summary: We need to make sure this gets not overridden wwen we start the next release process and auto-generate some parts of this. Reviewers: vtorri, devilhorns Reviewed By: devilhorns Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
3 dayseeze: remove tizen module support from eeze sensorStefan Schmidt
This has been disabled since the move to meson and unlikely to have built before with autotools either. Tizen never adopted this so we can ease our maintenance burden here. The Eeze sensor API itself is EAPI sadly and can't be removed. We will keep the udev backend (temperature only) and the fake backend for testing for now. Signed-off-by: Stefan Schmidt <> Reviewed-by: Marcel Hollerbach <> Differential Revision:
4 daysefl_ui_text: unit testAli Alzyod
Reviewed-by: Marcel Hollerbach <> Differential Revision:
4 dayselementary: improve data layout for Efl.Ui.PositionManager*.Cedric BAIL
Reviewed-by: SangHyeon Jade Lee <> Reviewed-by: Marcel Hollerbach <> Differential Revision:
4 dayselementary: reduce events triggered by Efl.Ui.PositionManager.Cedric BAIL
Reviewed-by: SangHyeon Jade Lee <> Reviewed-by: Marcel Hollerbach <> Differential Revision:
4 dayselementary: reduce event trigger during object creation stage in ↵Cedric BAIL
Efl.Ui.CollectionView. Once the object are created, the CollectionView will do a few modifiction on them before giving this object to the position manager to deal with. Reducing events should slightly improve performance. Reviewed-by: SangHyeon Jade Lee <> Reviewed-by: Marcel Hollerbach <> Differential Revision:
4 dayselementary: reduce event generation during object creation by ↵Cedric BAIL
Efl.Ui.WidgetFactory. We can not freeze the canvas in all scenario as we are sometime building widget fully asynchronously which prevent holding events on the canvas. Still it is better to do it for the case we can. Reviewed-by: SangHyeon Jade Lee <> Reviewed-by: Marcel Hollerbach <> Differential Revision:
4 dayseo: add a tcase for testing forwardersMarcel Hollerbach
this just adds the newly introduced semantics from cedric.
4 daysevas: do not call Eina_Cow GC during invalidate it is pointless.Cedric BAIL
Reviewed-by: Marcel Hollerbach <> Differential Revision:
4 dayseina: introduce an explicit eina_cow_done with no call to GC.Cedric BAIL
Reviewed-by: Marcel Hollerbach <> Differential Revision:
4 daysevas: avoid unecessary Eina_Cow GC during image destruction.Cedric BAIL
If the stretch zone are NULL to start with, there is no reason to modify them and this should avoid us a trip to the GC. Reviewed-by: Marcel Hollerbach <> Differential Revision:
4 daysevas: reduce useless allocation during destruction of image.Cedric BAIL
Evas image use a GC to reduce duplicated state accross multiple object. Still during shutdown we do clean it up and free it. There is no point to push that down the GC if we are to just free it after. Relying on the fact that dynamic content will avoid triggering the GC altogether as their content change to frequently and is expected to be uniq among other objects, we can avoid unecessary allocation during the destruction by just switching that early on during the destructor. Reviewed-by: Marcel Hollerbach <> Differential Revision:
4 daysevas: efl_gfx_image_stretch_region_set need access to image state before it ↵Cedric BAIL
is freed. Reviewed-by: Marcel Hollerbach <> Differential Revision:
4 dayseo: only forward event if someone is listening.Cedric BAIL
This limit long chain of useless event forwarding when nobody is listening at the end of the pipe. Differential Revision:
4 daysedje_entry: Fix resource leak.Woochanlee
Reviewers: Jaehyun_Cho, Hermet, ali.alzyod Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
4 daysMerge branch 'master' into devs/hermet/lottieHermet Park
4 daysefl.ui.text: rename to efl.ui.textboxdevs/jsuya/efl_ui_animationAli Alzyod
Summary: This patch will rename efl.ui.text into efl.ui.textbox Effected classes: - efl.ui.text_async : efl.ui.textbox_async - efl.ui.text_editable : efl.ui.textbox_editable **will be removed anyway** Needs consider Classes: - efl.ui.text_part - efl.ui.text_factory.Emoticons - efl.ui.text_factory.Fallback - efl.ui.text_factory.Images Reviewers: woohyun, segfaultxavi, bu5hm4n, zmike, YOhoho Reviewed By: woohyun Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
4 dayseina_inline: Fixed a potential dangling pointerJunsuChoi
Summary: fixed by null handling Test Plan: N/A Reviewers: Hermet, YOhoho, cedric Reviewed By: cedric Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
4 dayscsharp: Removed duplicated call_match implementationsLauro Moura
Summary: Small refactor. Keep it in a single header that other files could use. Ref T8515 Reviewers: brunobelo, felipealmeida, jptiz Reviewed By: jptiz Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8515 Differential Revision:
4 daysector: Fix build warning about unused variableAli Alzyod
Reviewers: bu5hm4n, Hermet, devilhorns Reviewed By: devilhorns Subscribers: devilhorns, cedric, #reviewers, #committers Tags: #efl Differential Revision:
4 daysmailmap: update commit name and email cleanup fileStefan Schmidt
Keep this up to date and get more matches working. Also merge in change from Terminology copy. This allows better statistics on our git repo. Reviewed-by: Chris Michael <> Differential Revision:
5 daysdocs: fix to make docs contain proper imagesWonki Kim
Summary: links to images that this patch is modifying would be included in doxy docs without pre or post process something in meson definition, if we applied this patch. Reviewers: segfaultxavi, bu5hm4n Reviewed By: segfaultxavi Subscribers: bu5hm4n, cedric, #reviewers, #committers Tags: #efl Differential Revision:
5 daysMerge branch 'master' into devs/hermet/lottieHermet Park
5 daysRevert "backup filter optimization"Hermet Park
This reverts commit 802d575baf4309cfda0e712f46d4a69a753b2acb.
5 daysRevert "evas ector: applied some memory buffer cache mechanism."Hermet Park
This reverts commit 3329beef660f4722548e22a854a74b8572ebaee3.
5 daysevas ector: applied some memory buffer cache mechanism.Hermet Park
This is a local memory pool mechanism to optimize the filter performance. I observed there are a lot of volatile memory allocations each frames, By using memory pool we can avoid huge memory allocations that brings filter performance up to about 30%.
5 daysExample: enhance efl-canvas-vg-simpleJunsuChoi
Summary: - Use path reserve - Use container object Test Plan: ./build/src/examples/evas/efl-canvas-vg-simple Reviewers: Hermet, kimcinoo, smohanty Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
5 daysefl_ui_text_editable: remove classAli Alzyod
Summary: This class is the same as efl_ui_text, efl_ui_text is editable by default. This class should be removed Reviewers: woohyun Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
5 daysEfl.Canvas.Text rename into Efl.Canvas.TextblockAli Alzyod
Summary: Efl.Canvas.Text renamed into **Efl.Canvas.Textblock** Efl.Canvas.Text_Factory renamed into **Efl.Canvas.Textblock_Factory** Reviewers: woohyun, segfaultxavi, zmike, bu5hm4n, YOhoho Reviewed By: segfaultxavi Subscribers: cedric, #committers, #reviewers Tags: #efl Differential Revision: