path: root/src/lib (follow)
AgeCommit message (Collapse)Author
2 hourseolian_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:
6 hoursefl_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:
8 hourscsharp: 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:
17 hoursevas_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:
19 hoursevas_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:
29 hoursefl_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:
30 hourseina_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:
33 hoursecore 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...
36 hourseeze: 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:
38 hourselementary: improve data layout for Efl.Ui.PositionManager*.Cedric BAIL
Reviewed-by: SangHyeon Jade Lee <> Reviewed-by: Marcel Hollerbach <> Differential Revision:
38 hourselementary: reduce events triggered by Efl.Ui.PositionManager.Cedric BAIL
Reviewed-by: SangHyeon Jade Lee <> Reviewed-by: Marcel Hollerbach <> Differential Revision:
38 hourselementary: 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:
38 hourselementary: 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:
39 hoursevas: do not call Eina_Cow GC during invalidate it is pointless.Cedric BAIL
Reviewed-by: Marcel Hollerbach <> Differential Revision:
39 hourseina: introduce an explicit eina_cow_done with no call to GC.Cedric BAIL
Reviewed-by: Marcel Hollerbach <> Differential Revision:
39 hoursevas: 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:
39 hoursevas: 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:
39 hoursevas: efl_gfx_image_stretch_region_set need access to image state before it ↵Cedric BAIL
is freed. Reviewed-by: Marcel Hollerbach <> Differential Revision:
39 hourseo: 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:
42 hoursedje_entry: Fix resource leak.Woochanlee
Reviewers: Jaehyun_Cho, Hermet, ali.alzyod Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
48 hoursefl.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:
48 hourseina_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:
2 daysector: Fix build warning about unused variableAli Alzyod
Reviewers: bu5hm4n, Hermet, devilhorns Reviewed By: devilhorns Subscribers: devilhorns, cedric, #reviewers, #committers Tags: #efl Differential Revision:
3 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:
3 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:
3 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:
3 daysecore_x: fix unused parameter warnings after xgesture removalStefan Schmidt
Summary: I somehow missed these warnings when doing the removal patch. Should have spotted them. :( Reviewers: devilhorns, raster, bu5hm4n, segfaultxavi, vtorri Reviewed By: devilhorns Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
3 dayselocation: remove beta libraryStefan Schmidt
This has never been fully finished or really used. The GeoClue project dbus API moved on to a newer version as well. We still have it marked as beta so we should take the chance and get rid of it to cleanup our tree a little bit. Reviewed-by: Chris Michael <> Reviewed-by: Vincent Torri <> Differential Revision:
4 daysEfl.Ui.Internal_Text_Interactive: missed renames from previous commitXavi Artigas
4 daysefl_text_cursor: rename enumsali
Summary: rename two movement enums **paragraph_first**: to just **first** this will move the cursor to the beginning of the text **paragraph_last**: to just **last** this will move the cursor to the end of the text These two are not directly related to paragraph the will move the cursor depending on the whole content or maybe **start** and **end** what do you think ? Reviewers: woohyun, segfaultxavi Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
4 daysevas vg: ++documentationHermet Park
4 daysEfl.Ui.Text : all related interfacesali
Summary: Change summary: Removed : - efl_ui_text_selectable.eo and add it functionality into efl_text_interactive.eo - efl_ui_text_editable.eo because it is same as efl_ui_text.eo (just set one property by default) Modifications: - Move all Text Input enums and functionality from efl_ui_text class into its own interface, this interface will be implemented at efl_ui_internal_text_interactive class. - Rename selection_allowed property to selectable (same as other "editable" property) in efl_text_interactive - Add select_all function into efl_text_interactive interface - Add have_selection property into efl_text_interactive interface - Move user_change , selection_start/change/clear and undo/redo events into efl_text_interactive interface. - Move methods and events of copy/paste/cut into efl_ui_text - Fix password-related functionality - Remove context menu clear and add_item methods. (these should be added later with better design) - Remove Validation event from EFL_UI_TEXT. (these should be added later with better design) Reviewers: woohyun, tasn, segfaultxavi, zmike, bu5hm4n Subscribers: stefan_schmidt, a.srour, q66, zmike, segfaultxavi, cedric Tags: #efl Differential Revision:
6 daysevas_text: retain legacy behaviourali
This will retain old legacy behaviour (No Eina Checks). Warnings will be generated when using elementary test, unless we retain old behaviour Reviewed-by: Cedric BAIL <> Differential Revision:
6 daysecore_x: remove support XGesture extensionStefan Schmidt
Summary: This was a X11 extension mainly developed for Tizen. By now I can only find it packaged by Gentoo as the only Linux distribution and Tizen is now longer using it either. Bringing it up during EDD and on the mailing list did not come up with any users. I think we can go ahead and deprecate the API and remove the functionality. Reviewers: raster, cedric, devilhorns, zmike Reviewed By: devilhorns Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
6 dayselm_code: set box align correctlyMarcel Hollerbach
sometimes the resize size is not in line with the size of the outer widget, in this case the box should align its children at the very top, otherwise the cursor grid is falling out of sync with the text content.
6 daysefl_canvas_object_animation: support duration 0Jaehyun Cho
The duration of animation means how long the animation is executed. Therefore, if duration is 0, then the final state of animation should be applied to the target object immediately. In this case, if final_state_keep is true, then the final state of animation is preserved. Otherwise, the final state of animation is not preserved. ref T8436, T8513 Reviewed-by: Marcel Hollerbach <> Differential Revision:
6 dayselementary: Fix declaration of CV managers gettersLauro Moura
This should convey better their intention of the setting taking ownership of the passed value and the getter returning just a view to them. Fixes T8514 Reviewed-by: Marcel Hollerbach <> Differential Revision:
6 daysefl: stabilize Efl.Gfx.ArrangementYeongjong Lee
ref T7864 Reviewed-by: Marcel Hollerbach <> Differential Revision:
6 daysfocus: modify a formula to calculate focus region to showWonki Kim
if there was a spacer around elm.swallow.content of scroller, position of pan object would be different with position of the scroller obj. this patch modifies a fomular that calculates some points relative to scroller to a fomular that calculates the points relative to pan obj. Reviewed-by: Marcel Hollerbach <> Differential Revision:
6 dayscollection_view: fix a potentional errorWonki Kim
assign signed int value on bigger unsigned variable can make information of the varaible lost. this patch fix the problem. Reviewed-by: Marcel Hollerbach <> Differential Revision:
7 daysevas vector: add one comment todo.Hermet Park
7 daysefl_ui_alert_popup: remove beta for efl_ui_alert_popup_titleTaehyub Kim
Summary: remove the title part beta tag for the efl ui alert popup Reviewers: Jaehyun_Cho, zmike, bu5hm4n, segfaultxavi Reviewed By: Jaehyun_Cho Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
7 daysevas vg: --remove logHermet Park
7 daysvg ector: Call a pair of ector begin/end for ector buffer drawing.Hermet Park
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.
7 daysector_software_rasterizer: use dynamic array by span size.JunsuChoi
Summary: When use with intersect mask, if span_count over span array size, composition is to be wrong. So, In this case, we use dynamic array by span_count. Test Plan: N/A Reviewers: Hermet, smohanty, kimcinoo Reviewed By: Hermet Subscribers: vtorri, cedric, #reviewers, #committers Tags: #efl Differential Revision:
7 dayselm_label: Emit click signal on acivate action on labelJunsuChoi
Summary: In accessibility enabled case click signal of legacy label is not triggered. Test Plan: N/A Reviewers: Hermet, kimcinoo Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
7 daysevas_events: fix wrong condition of proxy event behavior.Hosang Kim
Summary: If source_events is false, Evas object doesn't repeat events to source. But events is always repeated to source in multi touch case. Reviewers: Hermet, raster, cedric Reviewed By: Hermet Subscribers: #reviewers, #committers Tags: #efl Differential Revision:
8 daysEctor: Prevent access to NULLJunsuChoi
Summary: ector thread can called *data(task) after deleting task object. Test Plan: N/A Reviewers: Hermet, kimcinoo, smohanty Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
8 daysefl_text_attribute_factory: update documentionAli Alzyod
Reviewers: segfaultxavi Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
8 dayselm/genlist: trigger pan recalcs in update_job and item del functionsMike Blumenkrantz
in cases where the pan may change as a result of item size recalcs, it's necessary to ensure that the pan object is recalculated ref D10663 Differential Revision: