[EGIT] [core/efl] master 02/03: elm_entry: use layout text/content aliases when text_set/get content_set/get/unset
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=82a955be902ba4afd4cb0f0fbbaf46c1f2208155 commit 82a955be902ba4afd4cb0f0fbbaf46c1f2208155 Author: Sungtaek HongDate: Thu Jun 29 19:32:19 2017 +0900 elm_entry: use layout text/content aliases when text_set/get content_set/get/unset Summary: - elm_entry has elm.guide text part and it can be set by "guide". - However when using text_aliases_get, this cannot be found. - Add elm_obj_elm_layout_part_aliasing_eval() internal APIs to make entry use proper aliases. Test Plan: 1. Run elementary test 2. Observe search entry has guide text with "guide" part. 3. Run Entry 8. 4. Observe "elm.guide" part also works. 5. Observe "icon" and "end" part works. Reviewers: id213sin, herdsman, jpeg Reviewed By: jpeg Subscribers: conr2d, cedric, jpeg Differential Revision: https://phab.enlightenment.org/D4962 --- src/lib/elementary/elm_entry.c | 44 ++--- src/lib/elementary/elm_entry.eo | 1 + src/lib/elementary/elm_layout.c | 31 ++--- src/lib/elementary/elm_widget.h | 5 + 4 files changed, 45 insertions(+), 36 deletions(-) diff --git a/src/lib/elementary/elm_entry.c b/src/lib/elementary/elm_entry.c index 0be4d08248..2adc9f1230 100644 --- a/src/lib/elementary/elm_entry.c +++ b/src/lib/elementary/elm_entry.c @@ -74,6 +74,13 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = { }; #undef ELM_PRIV_ENTRY_SIGNALS +static const Elm_Layout_Part_Alias_Description _text_aliases[] = +{ + {"default", "elm.text"}, + {"guide", "elm.guide"}, + {NULL, NULL} +}; + static const Elm_Layout_Part_Alias_Description _content_aliases[] = { {"icon", "elm.swallow.icon"}, @@ -3116,7 +3123,7 @@ _elm_entry_content_set(Eo *obj, Elm_Entry_Data *_pd EINA_UNUSED, const char *par if (!part || !strcmp(part, "icon") || !strcmp(part, "elm.swallow.icon")) elm_entry_icon_visible_set(obj, EINA_TRUE); - if (!part || !strcmp(part, "end") || !strcmp(part, "elm.swallow.end")) + if (part && (!strcmp(part, "end") || !strcmp(part, "elm.swallow.end"))) elm_entry_end_visible_set(obj, EINA_TRUE); return EINA_TRUE; @@ -3134,7 +3141,7 @@ _elm_entry_content_unset(Eo *obj, Elm_Entry_Data *_pd EINA_UNUSED, const char *p if (!part || !strcmp(part, "icon") || !strcmp(part, "elm.swallow.icon")) elm_entry_icon_visible_set(obj, EINA_FALSE); - if (!part || !strcmp(part, "end") || !strcmp(part, "elm.swallow.end")) + if (part && (!strcmp(part, "end") || !strcmp(part, "elm.swallow.end"))) elm_entry_end_visible_set(obj, EINA_FALSE); return ret; @@ -3200,12 +3207,12 @@ _elm_entry_text_set(Eo *obj, Elm_Entry_Data *sd, const char *part, const char *e int len = 0; if (!entry) entry = ""; - if (part && strcmp(part, "elm.text")) + if (!_elm_layout_part_aliasing_eval(obj, , EINA_TRUE)) + return EINA_FALSE; + + if (strcmp(part, "elm.text")) { -if (!strcmp(part, "guide")) - edje_object_part_text_set(sd->entry_edje, "elm.guide", entry); -else - edje_object_part_text_set(sd->entry_edje, part, entry); +edje_object_part_text_set(sd->entry_edje, part, entry); return EINA_TRUE; } @@ -3250,20 +3257,11 @@ _elm_entry_text_get(Eo *obj, Elm_Entry_Data *sd, const char *item) { const char *text; - if (item) - { -if (!strcmp(item, "default") || strcmp(item, "elm.text")) goto proceed; -else if (!strcmp(item, "guide")) - { - return edje_object_part_text_get(sd->entry_edje, "elm.guide"); - } -else - { - return edje_object_part_text_get(sd->entry_edje, item); - } - } + if (!_elm_layout_part_aliasing_eval(obj, , EINA_TRUE)) + return NULL; -proceed: + if (strcmp(item, "elm.text")) + return edje_object_part_text_get(sd->entry_edje, item); text = edje_object_part_text_get(sd->entry_edje, "elm.text"); if (!text) @@ -3990,6 +3988,12 @@ _elm_entry_efl_canvas_group_group_member_add(Eo *obj, Elm_Entry_Data *sd, Evas_O evas_object_raise(sd->hit_rect); } +EOLIAN static const Elm_Layout_Part_Alias_Description* +_elm_entry_elm_layout_text_aliases_get(Eo *obj EINA_UNUSED, Elm_Entry_Data *_sd EINA_UNUSED) +{ + return _text_aliases; +} + EOLIAN static const Elm_Layout_Part_Alias_Description * _elm_entry_elm_layout_content_aliases_get(Eo *obj EINA_UNUSED, Elm_Entry_Data *sd EINA_UNUSED) { diff --git a/src/lib/elementary/elm_entry.eo b/src/lib/elementary/elm_entry.eo index e60ee841ea..31753d9b4a 100644 --- a/src/lib/elementary/elm_entry.eo +++ b/src/lib/elementary/elm_entry.eo @@ -967,6 +967,7 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
[EGIT] [core/efl] master 01/03: widget: Avoid ERR in elm_object_content_ APIs
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=9452a4ac497100ecc71eca5f4a37cfc655b45a53 commit 9452a4ac497100ecc71eca5f4a37cfc655b45a53 Author: Jean-Philippe AndreDate: Thu Jun 29 19:09:27 2017 +0900 widget: Avoid ERR in elm_object_content_ APIs If content_part_{set,get,unset} are called on a widget that is not a layout (or flip, and a few others), then some ERR messages would be printed out. We hide these ERR messages as all elm_object APIs should be callable on an object for which elm_object_widget_check() returns true. Ref T5629 --- src/lib/elementary/elm_widget.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c index b83bf2772b..915a75e7a4 100644 --- a/src/lib/elementary/elm_widget.c +++ b/src/lib/elementary/elm_widget.c @@ -3954,6 +3954,7 @@ elm_widget_content_part_set(Evas_Object *obj, Evas_Object *content) { ELM_WIDGET_CHECK(obj); + if (!efl_isa(obj, EFL_PART_INTERFACE)) return; efl_content_set(efl_part(obj, part), content); } @@ -3962,6 +3963,7 @@ elm_widget_content_part_get(const Evas_Object *obj, const char *part) { ELM_WIDGET_CHECK(obj) NULL; + if (!efl_isa(obj, EFL_PART_INTERFACE)) return NULL; return efl_content_get(efl_part(obj, part)); } @@ -3970,6 +3972,7 @@ elm_widget_content_part_unset(Evas_Object *obj, const char *part) { ELM_WIDGET_CHECK(obj) NULL; + if (!efl_isa(obj, EFL_PART_INTERFACE)) return NULL; return efl_content_unset(efl_part(obj, part)); } --
[EGIT] [core/efl] master 03/03: elm: Always pass valid part name inside part APIs
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=59081043a892f6db74a1d557c7422c7a543c909d commit 59081043a892f6db74a1d557c7422c7a543c909d Author: Jean-Philippe AndreDate: Thu Jun 29 20:02:59 2017 +0900 elm: Always pass valid part name inside part APIs This affects the legacy content_set/get/unset part APIs. This should avoid some unwanted ERR messages in case an elm_object_ API is used on an elm widget that doesn't implement said API. What this does is request the widget for the name of the default part if NULL was passed in. Since some widgets are not elm_layout, they have to override the API themselves, which is why I made it an internal EO API (rather than a series of efl_isa()). In theory, part should never be NULL when reaching the internal implementation code in the widgets, at least for content. In EO, efl_part(obj, NULL) should be invalid. Ref T5629 --- src/lib/elementary/efl_ui_flip.c| 2 + src/lib/elementary/efl_ui_win.c | 12 ++--- src/lib/elementary/elc_ctxpopup.c | 12 +++-- src/lib/elementary/elc_fileselector_entry.c | 2 + src/lib/elementary/elc_player.c | 2 + src/lib/elementary/elc_popup.c | 2 + src/lib/elementary/elm_entry.c | 2 + src/lib/elementary/elm_layout.c | 11 src/lib/elementary/elm_mapbuf.c | 2 + src/lib/elementary/elm_notify.c | 2 + src/lib/elementary/elm_part_helper.h| 5 ++ src/lib/elementary/elm_scroller.c | 2 + src/lib/elementary/elm_widget.c | 83 +++-- src/lib/elementary/elm_widget.h | 3 ++ 14 files changed, 103 insertions(+), 39 deletions(-) diff --git a/src/lib/elementary/efl_ui_flip.c b/src/lib/elementary/efl_ui_flip.c index d6d1ac4d6f..074771251d 100644 --- a/src/lib/elementary/efl_ui_flip.c +++ b/src/lib/elementary/efl_ui_flip.c @@ -2400,6 +2400,7 @@ ELM_PART_IMPLEMENT(efl_ui_flip, EFL_UI_FLIP, Efl_Ui_Flip_Data, Elm_Part_Data) ELM_PART_IMPLEMENT_CONTENT_SET(efl_ui_flip, EFL_UI_FLIP, Efl_Ui_Flip_Data, Elm_Part_Data) ELM_PART_IMPLEMENT_CONTENT_GET(efl_ui_flip, EFL_UI_FLIP, Efl_Ui_Flip_Data, Elm_Part_Data) ELM_PART_IMPLEMENT_CONTENT_UNSET(efl_ui_flip, EFL_UI_FLIP, Efl_Ui_Flip_Data, Elm_Part_Data) +ELM_PART_CONTENT_DEFAULT_SET(efl_ui_flip, "front") #include "efl_ui_flip_internal_part.eo.c" /* Efl.Part end */ @@ -2407,6 +2408,7 @@ ELM_PART_IMPLEMENT_CONTENT_UNSET(efl_ui_flip, EFL_UI_FLIP, Efl_Ui_Flip_Data, Elm /* Internal EO APIs and hidden overrides */ #define EFL_UI_FLIP_EXTRA_OPS \ + ELM_PART_CONTENT_DEFAULT_OPS(efl_ui_flip), \ EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_flip) #include "efl_ui_flip.eo.c" diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index 12bffbda5e..a87985ff11 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -6660,7 +6660,7 @@ if (x < 0) { x = 0; bad = 1; } } while (0) /* Efl.Part APIs */ -#define WIN_PART_ERR(part) ERR("No such part in window: '%s'. Supported parts are: 'background'.", part); +#define WIN_PART_ERR(part) ERR("No such part in window: '%s'. Supported parts are: 'content' and 'background'.", part); static Eina_Bool _elm_win_bg_set(Efl_Ui_Win_Data *sd, Eo *bg) @@ -6737,7 +6737,6 @@ static Eina_Bool _efl_ui_win_content_set(Eo *obj, Efl_Ui_Win_Data *sd, const char *part, Eo *content) { sd->legacy.forbidden = EINA_TRUE; - if (!part) part = "content"; if (eina_streq(part, "content")) { if (sd->content == content) return EINA_TRUE; @@ -6773,7 +6772,6 @@ static Efl_Canvas_Object * _efl_ui_win_content_get(Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd, const char *part) { sd->legacy.forbidden = EINA_TRUE; - if (!part) part = "content"; if (eina_streq(part, "content")) return sd->content; else if (eina_streq(part, "background")) @@ -6909,25 +6907,26 @@ _efl_ui_win_internal_part_efl_file_file_get(Eo *obj, Elm_Part_Data *pd, const ch EOLIAN static Eina_Bool _efl_ui_win_efl_container_content_set(Eo *obj, Efl_Ui_Win_Data *sd, Evas_Object *content) { - return _efl_ui_win_content_set(obj, sd, NULL, content); + return _efl_ui_win_content_set(obj, sd, "content", content); } EOLIAN static Evas_Object* _efl_ui_win_efl_container_content_get(Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd) { - return _efl_ui_win_content_get(obj, sd, NULL); + return _efl_ui_win_content_get(obj, sd, "content"); } EOLIAN static Evas_Object* _efl_ui_win_efl_container_content_unset(Eo *obj, Efl_Ui_Win_Data *sd) { - return _efl_ui_win_content_unset(obj, sd, NULL); + return _efl_ui_win_content_unset(obj, sd, "content"); } ELM_PART_IMPLEMENT(efl_ui_win, EFL_UI_WIN, Efl_Ui_Win_Data, Elm_Part_Data) ELM_PART_IMPLEMENT_CONTENT_SET(efl_ui_win, EFL_UI_WIN, Efl_Ui_Win_Data,
[EGIT] [core/efl] master 01/01: Efl.Observable: Free an iterator after use in observers_update()
conr2d pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1ae77d0925eec52eb9961ff321147faca7b83e40 commit 1ae77d0925eec52eb9961ff321147faca7b83e40 Author: Sungtaek HongDate: Fri Jun 30 13:29:44 2017 +0900 Efl.Observable: Free an iterator after use in observers_update() Summary: - In _efl_observable_observers_update() iterator is allocated but not freed. - This frees the iterator. @fix Reviewers: conr2d, jpeg Reviewed By: jpeg Subscribers: cedric, jpeg Differential Revision: https://phab.enlightenment.org/D4994 --- src/lib/efl/interfaces/efl_observer.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lib/efl/interfaces/efl_observer.c b/src/lib/efl/interfaces/efl_observer.c index 2d4a20bbc6..c7efc30b2c 100644 --- a/src/lib/efl/interfaces/efl_observer.c +++ b/src/lib/efl/interfaces/efl_observer.c @@ -180,6 +180,8 @@ _efl_observable_observers_update(Eo *obj, Efl_Observable_Data *pd EINA_UNUSED, c { efl_observer_update(o, obj, key, data); } + + eina_iterator_free(it); } typedef struct --
Re: [E-devel] chart library based on the EFL
On Thu, Jun 29, 2017 at 11:14 PM, Jérémy Zurcherwrote: > Hello Vincent, > > nice start > > there's lot of good stuff in that commercial js lib that I use > in my job http://www.fusioncharts.com/charts/ I think that cedric mentioned it to me > I had to add the following to compile on archlinux (might not be the > right way to do, I know nothing about meson yet) : > > +cc = meson.get_compiler('c') > + > dep_lib = [dependency('eina'), > dependency('evas'), > - dependency('eina')] > + dependency('eina'), > + cc.find_library('m')] i've forgotten to push my commit. I did it in a bit different way but i prefer yours :-) thank you Vincent > cheers > > On Thursday 29 June 2017 22:23, Vincent Torri wrote : >> Hello >> >> I would like to introduce a small library which renders chart using >> Evas VG API : >> >> https://github.com/vtorri/echart2 >> >> I try to mimic a bit the area chart of google : >> >> https://developers.google.com/chart/interactive/docs/gallery/areachart >> >> It consist of a library and a test example. >> >> The library consists of >> * a data API to fill data >> * a chart API for the chart features >> * an evas smart object for a "line" chart >> >> the test example is the first 'area' example in google charts >> >> I have attached a screenshot of the example >> >> The library is in its very early state and is wip. There may be bugs >> and a lot of improvements can be done of course >> >> the build system is meson + ninja (see README.md for instructions). >> Just install meson and ninja with your favorite package manager >> >> I have tested echart on Windows and Fedora. >> >> Any patches, remarks and ideas are welcome >> >> Vincent > > >> -- >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot > >> ___ >> enlightenment-devel mailing list >> enlightenment-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > --- Hell'O from Yverdoom > > Jérémy (jeyzu) > > -- > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/efl] master 01/01: genlist: move to next focusable/selectable item when looping
ami pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=0141417d5ddd4537aa22a9dc844e14221e52dd8b commit 0141417d5ddd4537aa22a9dc844e14221e52dd8b Author: Amitesh SinghDate: Fri Jun 30 12:18:33 2017 +0900 genlist: move to next focusable/selectable item when looping this fixes a bug in genlist when scrolling is enabled and items at top and bottom are disabled. Focus behaviour is not normal in case up arrow is pressed when focus is at the top enabled item or down key is pressed when focus is at bottom enabled item. fixes T5576 --- src/lib/elementary/elm_genlist.c | 16 +--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_genlist.c index 712d6f0e08..762350c3ee 100644 --- a/src/lib/elementary/elm_genlist.c +++ b/src/lib/elementary/elm_genlist.c @@ -2956,7 +2956,7 @@ _key_action_move_dir(Evas_Object *obj, Elm_Focus_Direction dir, Eina_Bool multi) // handle item loop feature if (sd->item_loop_enable && !sd->item_looping_on) { -if (min > v) +if (min < v) { if (dir == ELM_FOCUS_UP) { @@ -2972,9 +2972,19 @@ _key_action_move_dir(Evas_Object *obj, Elm_Focus_Direction dir, Eina_Bool multi) else { if (dir == ELM_FOCUS_UP) - it = elm_genlist_last_item_get(obj); + { + it = elm_genlist_last_item_get(obj); + ELM_GENLIST_ITEM_DATA_GET(it, gen_it); + while (_is_no_select(gen_it) || elm_wdg_item_disabled_get(it)) +it = elm_genlist_item_prev_get(it); + } else if (dir == ELM_FOCUS_DOWN) - it = elm_genlist_first_item_get(obj); + { + it = elm_genlist_first_item_get(obj); + ELM_GENLIST_ITEM_DATA_GET(it, gen_it); + while (_is_no_select(gen_it) || elm_wdg_item_disabled_get(it)) + it = elm_genlist_item_next_get(it); + } if (it && focus_only) elm_object_item_focus_set(it, EINA_TRUE); --
Re: [E-devel] EFL Profiling Viewer Released!
On Fri, 30 Jun 2017 08:38:26 +0900 Carsten Haitzler (The Rasterman)wrote: > On Thu, 29 Jun 2017 10:54:31 -0400 "William L. Thomson Jr." > said: > > > I agree its good stuff and the timing of others comments is ironic. > > I just was making a Gentoo ebuild for this yesterday. I was going > > to ask about build systems, and others comments showed up :) > > > > I got ahead of myself and noticed there is no build system. Unless I > > grabbed the wrong repo. Unless there is another repo that has that. > > Which do you plan to use autotools or cmake? > > look closer. there is a build system. Cmake, whoops. I use and like cmake for its minimal footprint. Easily overlooked... -- William L. Thomson Jr. pgpONlv3URHPR.pgp Description: OpenPGP digital signature -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Elm_Entry assuming markup input???
On Thu, 29 Jun 2017 11:13:51 + Andrew Williamssaid: > Hi, > > Just to wrap this thread up following EDD: > > * no-one is proposing that we remove the ability to mark up text through > the markup format mechanism, it is a great feature > * we cannot make changes to this legacy API as apps depend on it or have > adapted to it > > * the new textblock API, which is currently plain text only is being > extended with a solid markup API > * The existing markup format will be supported through _markup_text_set or > similar API leaving text_set/get to be plain text only > > It was beileved that this would satisfy all requirements whilst removing > any confusion about the nature of text encoding when using plain text. > This allows us to take a path-of-least-surprise approach for the new Eo > based text APIs you have to have a markup version of everything. set, append, prepend, insert, replace etc. > Thanks everyone for the discussion :) > Andy > > On Sat, 24 Jun 2017 at 05:39 Carsten Haitzler wrote: > > > On Fri, 23 Jun 2017 21:55:14 +0200 Davide Andreoli > > > > said: > > > > > 2017-06-19 13:36 GMT+02:00 Daniel Hirt : > > > > Hi, > > > > > > > > On Mon, Jun 19, 2017 at 12:01 PM, Andrew Williams < > > a...@andywilliams.me> > > > > wrote: > > > > > > > >> Hi, > > > >> > > > >> Looking at the tests you point me at - selection (and the past) is a > > > plain > > > >> text copy with the markup stripped - exactly what I would expect for > > > >> text_get - but the current content transformed with the helper will > > not > > > get > > > >> you there - there is no built in interpretation of formatting - just > > > >> rendered understands it. > > > >> > > > >> > > > > "elm_entry_selection_get" returns the text in markup format. The test > > > prints > > > > both types one after another (markup followed by plaintext) using > > > > "elm_entry_markup_to_utf8". > > > > It is essential for copy & paste of markup text between two entry > > clients, > > > > so the pasted formatting is kept. > > > > > > > > > > > >> Overall the implementation feels wrong - supporting markup is great > > but > > > >> returning it inline in text_get feels like we are imposing internal > > > choices > > > >> on other devs. > > > >> > > > >> I note that the code considers format but only when interacting with > > > files > > > >> - so I can have plain text files but not plain text input. > > > >> > > > >> > > > > Right, it's a feature so you can load plain files. You specify the > > format > > > > you > > > > want to load (plaintext or markup). But, after the file is loaded, it's > > > > discarded. > > > > > > > > It's important to point out that because there's an actual > > representation > > > > (markup), it's costly to store both plaintext and markup content in the > > > > object. > > > > Asking you to convert using "markup_to_utf8" is understandable, as it > > what > > > > we would actually do internally if we were to add API to get the text > > in > > > > plaintext. It's only one function call away, and it's easier than just > > add > > > > more > > > > API to the widget. No need for a new function if there's a way to do > > this > > > > already. > > > > > > > > > > > >> Lastly the documentation clearly discussed markup capability but it > > > *never* > > > >> discusses encoding and there is no explicit mention that your text > > will > > > be > > > >> transformed after text_set. If it were then it should be symmetrically > > > >> transformed back on text_get - path of least surprise. > > > >> > > > >> > > > > Actually, it is not transformed on "text_set". You are expected to > > enter a > > > > markup-compatible text. Otherwise you will have the mentioned special > > > > characters (like "<") misinterpreted as markup. You can try with > > > > "elm_object_text_set" on an entry widget. > > > > > > > > > > > >> I don't quite understand why we would build formatting in as > > mandatory, > > > >> functionality is great but it should be possible to turn it off. > > > >> > > > >> I agree that people complain when markup is not supported in a widget > > but > > > >> that is the expectation we have set - consistency is very important > > > indeed > > > >> and I think we don't have it in this regard. > > > >> > > > >> Additionally I think the markup_to_utf8 methods are peculiarly named - > > > they > > > >> do no character encoding so the usage of utf8 is probably incorrect... > > > >> > > > > > > > > They're correct. UTF-8 is the standard plaintext encoding. We support > > > UTF-8, > > > > and provide converters for your convenience. You probably won't need > > those > > > > most > > > > of the time. > > > > Your plaintext is always "encoded", but you probably won't notice that > > > > because > > > > it's backward-compatible with US ASCII (1-byte per character). > > > > > > > > > > > >> > > > >> Andrew > > > >> > > > >> > > > > Lastly, I would
Re: [E-devel] EFL Profiling Viewer Released!
On Thu, 29 Jun 2017 10:54:31 -0400 "William L. Thomson Jr."said: > I agree its good stuff and the timing of others comments is ironic. I > just was making a Gentoo ebuild for this yesterday. I was going to ask > about build systems, and others comments showed up :) > > I got ahead of myself and noticed there is no build system. Unless I > grabbed the wrong repo. Unless there is another repo that has that. > Which do you plan to use autotools or cmake? look closer. there is a build system. > Good stuff either way! Though if it remains as its own project, may go > with just like EFL Profiler, not sure Viewer is needed and makes the > name a bit long. But thats pretty moot. > > Thanks for the work! > > -- > William L. Thomson Jr. -- - Codito, ergo sum - "I code, therefore I am" -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [tools/edi] master 01/01: edi_screens_scm: convert markup to utf8 for commit message.
ajwillia-ms pushed a commit to branch master. http://git.enlightenment.org/tools/edi.git/commit/?id=2924b323f6dc15cf178e4ca53b10f71b89fa20a8 commit 2924b323f6dc15cf178e4ca53b10f71b89fa20a8 Author: Al PooleDate: Thu Jun 29 23:51:33 2017 +0100 edi_screens_scm: convert markup to utf8 for commit message. Summary: Do conversion and optimize string len check. Reviewers: ajwillia.ms Reviewed By: ajwillia.ms Differential Revision: https://phab.enlightenment.org/D4993 --- src/bin/screens/edi_scm_screens.c | 11 --- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/bin/screens/edi_scm_screens.c b/src/bin/screens/edi_scm_screens.c index e13dc70..635c13d 100644 --- a/src/bin/screens/edi_scm_screens.c +++ b/src/bin/screens/edi_scm_screens.c @@ -50,25 +50,30 @@ _edi_scm_screens_commit_cb(void *data, void *event_info EINA_UNUSED) { Edi_Scm_Engine *engine; - const char *message; + const char *text; + char *message; engine = edi_scm_engine_get(); // engine has been checked before now if (!engine) return; - message = elm_entry_entry_get((Evas_Object *) data); - if (!message || strlen(message) == 0) + text = elm_entry_entry_get((Evas_Object *) data); + if (!text || !text[0]) { _edi_scm_screens_message_open("Please enter a valid commit message."); return; } + message = elm_entry_markup_to_utf8(text); + edi_consolepanel_clear(); edi_consolepanel_show(); edi_scm_commit(message); evas_object_del(_popup); + + free(message); } void --
[EGIT] [core/efl] master 02/02: drm: Implement hardware plane support
derekf pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=fbb676584ed5ab12ce0dd101b24a1ebf06bf5043 commit fbb676584ed5ab12ce0dd101b24a1ebf06bf5043 Author: Derek ForemanDate: Thu Jun 29 17:15:36 2017 -0500 drm: Implement hardware plane support Adds the ability for drm to place native surfaces on harware planes. ref 33b50238d2d54e77c23f42c00c6bfafc9a9a1080 --- src/modules/evas/engines/drm/evas_engine.c | 120 + 1 file changed, 120 insertions(+) diff --git a/src/modules/evas/engines/drm/evas_engine.c b/src/modules/evas/engines/drm/evas_engine.c index c66578282e..f5474ab503 100644 --- a/src/modules/evas/engines/drm/evas_engine.c +++ b/src/modules/evas/engines/drm/evas_engine.c @@ -1,10 +1,19 @@ #include "evas_engine.h" +#include "../software_generic/evas_native_common.h" typedef struct _Render_Engine { Render_Engine_Software_Generic generic; + + int fd; } Render_Engine; +struct scanout_handle +{ + Evas_Native_Scanout_Handler handler; + void *data; +}; + static Evas_Func func, pfunc; int _evas_engine_drm_log_dom; @@ -21,6 +30,8 @@ _render_engine_setup(Evas_Engine_Info_Drm *info, int w, int h) ob = _outbuf_setup(info, w, h); if (!ob) goto err; + re->fd = info->info.fd; + if (!evas_render_engine_software_generic_init(>generic, ob, _outbuf_state_get, _outbuf_rotation_get, @@ -108,6 +119,113 @@ eng_output_free(void *engine EINA_UNUSED, void *data) } } +static Ecore_Drm2_Fb * +drm_import_simple_dmabuf(int fd, struct dmabuf_attributes *attributes) +{ + unsigned int stride[4] = { 0 }; + int dmabuf_fd[4] = { 0 }; + int i; + + for (i = 0; i < attributes->n_planes; i++) + { +stride[i] = attributes->stride[i]; +dmabuf_fd[i] = attributes->fd[i]; + } + + return ecore_drm2_fb_dmabuf_import(fd, attributes->width, + attributes->height, 32, 32, + attributes->format, stride, + dmabuf_fd, attributes->n_planes); +} + +static void +_eng_fb_release(Ecore_Drm2_Fb *fb EINA_UNUSED, Ecore_Drm2_Fb_Status status, void *data) +{ + struct scanout_handle *sh; + + sh = data; + if (status == ECORE_DRM2_FB_STATUS_DELETED) + { +free(sh); +return; + } + + if (!sh->handler) return; + + switch (status) + { + case ECORE_DRM2_FB_STATUS_SCANOUT_ON: +sh->handler(sh->data, EVAS_NATIVE_SURFACE_STATUS_SCANOUT_ON); +break; + case ECORE_DRM2_FB_STATUS_SCANOUT_OFF: +sh->handler(sh->data, EVAS_NATIVE_SURFACE_STATUS_SCANOUT_OFF); +break; + case ECORE_DRM2_FB_STATUS_PLANE_ASSIGN: +sh->handler(sh->data, EVAS_NATIVE_SURFACE_STATUS_PLANE_ASSIGN); +break; + case ECORE_DRM2_FB_STATUS_PLANE_RELEASE: +sh->handler(sh->data, EVAS_NATIVE_SURFACE_STATUS_PLANE_RELEASE); +break; + default: +ERR("Unhandled framebuffer status"); + } +} + +static void * +eng_image_plane_assign(void *data, void *image, int x, int y) +{ + Render_Engine *re; + Outbuf *ob; + RGBA_Image *img; + Native *n; + Ecore_Drm2_Fb *fb = NULL; + Ecore_Drm2_Plane *plane; + struct scanout_handle *g; + + EINA_SAFETY_ON_NULL_RETURN_VAL(image, EINA_FALSE); + + re = (Render_Engine *)data; + EINA_SAFETY_ON_NULL_RETURN_VAL(re, EINA_FALSE); + + ob = re->generic.ob; + EINA_SAFETY_ON_NULL_RETURN_VAL(ob, EINA_FALSE); + + img = image; + n = img->native.data; + + /* Perhaps implementable on other surface types, but we're +* sticking to this one for now */ + if (n->ns.type != EVAS_NATIVE_SURFACE_WL_DMABUF) return NULL; + + fb = drm_import_simple_dmabuf(re->fd, >ns_data.wl_surface_dmabuf.attr); + + if (!fb) return NULL; + + g = calloc(1, sizeof(struct scanout_handle)); + if (!g) goto out; + + g->handler = n->ns.data.wl_dmabuf.scanout.handler; + g->data = n->ns.data.wl_dmabuf.scanout.data; + ecore_drm2_fb_status_handler_set(fb, _eng_fb_release, g); + + /* Fail or not, we're going to drop that fb and let refcounting get rid of +* it later +*/ + plane = ecore_drm2_plane_assign(ob->priv.output, fb, x, y); + +out: + ecore_drm2_fb_discard(fb); + return plane; +} + +static void +eng_image_plane_release(void *data EINA_UNUSED, void *image EINA_UNUSED, void *plin) +{ + Ecore_Drm2_Plane *plane = plin; + + ecore_drm2_plane_release(plane); +} + static int module_open(Evas_Module *em) { @@ -139,6 +257,8 @@ module_open(Evas_Module *em) EVAS_API_OVERRIDE(setup, , eng_); EVAS_API_OVERRIDE(update, , eng_); EVAS_API_OVERRIDE(output_free, , eng_); + EVAS_API_OVERRIDE(image_plane_assign, , eng_); + EVAS_API_OVERRIDE(image_plane_release, , eng_); /* advertise our engine functions */ em->functions = (void
[EGIT] [core/efl] master 01/02: software_generic: fix eng_image_native_get
derekf pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=dc3873c8db964845aa12508874b13d3074265d18 commit dc3873c8db964845aa12508874b13d3074265d18 Author: Derek ForemanDate: Thu Jun 29 17:12:01 2017 -0500 software_generic: fix eng_image_native_get This has been a stub for a long time, but now we have a native_set, so we should have a native_get too. This is required for hw plane usage on the software engine. --- src/modules/evas/engines/software_generic/evas_engine.c | 9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/modules/evas/engines/software_generic/evas_engine.c b/src/modules/evas/engines/software_generic/evas_engine.c index f58fb494d3..85e9f401c3 100644 --- a/src/modules/evas/engines/software_generic/evas_engine.c +++ b/src/modules/evas/engines/software_generic/evas_engine.c @@ -1193,9 +1193,14 @@ eng_image_native_set(void *data EINA_UNUSED, void *image, void *native) } static void * -eng_image_native_get(void *data EINA_UNUSED, void *image EINA_UNUSED) +eng_image_native_get(void *data EINA_UNUSED, void *image) { - return NULL; + RGBA_Image *im = image; + Evas_Native_Surface *n; + + if (!im) return NULL; + n = im->native.data; + return n; } static void * --
[EGIT] [apps/terminology] master 01/01: feature: move cursor to position on click+alt. Closes T5537
billiob pushed a commit to branch master. http://git.enlightenment.org/apps/terminology.git/commit/?id=de3890dad36dcaa1869b13dc7590f4e3c0e81df3 commit de3890dad36dcaa1869b13dc7590f4e3c0e81df3 Author: Boris FaureDate: Thu Jun 29 23:45:05 2017 +0200 feature: move cursor to position on click+alt. Closes T5537 --- src/bin/termio.c | 7 +++ src/bin/termptyops.c | 26 ++ src/bin/termptyops.h | 2 ++ 3 files changed, 35 insertions(+) diff --git a/src/bin/termio.c b/src/bin/termio.c index 6d709f2..9b03008 100644 --- a/src/bin/termio.c +++ b/src/bin/termio.c @@ -6,6 +6,7 @@ #include "termio.h" #include "termiolink.h" #include "termpty.h" +#include "termptyops.h" #include "termcmd.h" #include "termptydbl.h" #include "utf8.h" @@ -3998,6 +3999,12 @@ _handle_mouse_down_single_click(Termio *sd, sd->pty->selection.end.y = cy; _selection_dbl_fix(sd); } + else if (!shift && alt && !sd->pty->selection.is_active +&& (sd->pty->mouse_mode == MOUSE_OFF)) + { +/* move cursor to position */ +termpty_move_cursor(sd->pty, cx, cy); + } else if (!shift && !sd->pty->selection.is_active) { /* New selection */ diff --git a/src/bin/termptyops.c b/src/bin/termptyops.c index e300db4..7635d0e 100644 --- a/src/bin/termptyops.c +++ b/src/bin/termptyops.c @@ -472,3 +472,29 @@ termpty_cursor_copy(Termpty *ty, Eina_Bool save) ty->cursor_state.cy = ty->cursor_save[ty->altbuf].cy; } } + + +void +termpty_move_cursor(Termpty *ty, int cx, int cy) +{ + int vect; + + /* right/left */ + vect = cx - ty->cursor_state.cx; + /* left */ + for (; vect < 0; vect++) + termpty_write(ty, "\033[D", strlen("\033[D")); + /* right */ + for (; vect > 0; vect--) + termpty_write(ty, "\033[C", strlen("\033[C")); + + /* up/down */ + vect = cy - ty->cursor_state.cy; + /* up */ + for (; vect < 0; vect++) + termpty_write(ty, "\033[A", strlen("\033[A")); + /* down*/ + for (; vect > 0; vect--) + termpty_write(ty, "\033[B", strlen("\033[B")); + +} diff --git a/src/bin/termptyops.h b/src/bin/termptyops.h index 7046d5b..ee27860 100644 --- a/src/bin/termptyops.h +++ b/src/bin/termptyops.h @@ -28,6 +28,8 @@ void termpty_cursor_copy(Termpty *ty, Eina_Bool save); void termpty_clear_tabs_on_screen(Termpty *ty); void termpty_clear_backlog(Termpty *ty); +void termpty_move_cursor(Termpty *ty, int cx, int cy); + #define _term_txt_write(ty, txt) termpty_write(ty, txt, sizeof(txt) - 1) #define TAB_WIDTH 8u --
Re: [E-devel] chart library based on the EFL
Hello Vincent, nice start there's lot of good stuff in that commercial js lib that I use in my job http://www.fusioncharts.com/charts/ I had to add the following to compile on archlinux (might not be the right way to do, I know nothing about meson yet) : +cc = meson.get_compiler('c') + dep_lib = [dependency('eina'), dependency('evas'), - dependency('eina')] + dependency('eina'), + cc.find_library('m')] cheers On Thursday 29 June 2017 22:23, Vincent Torri wrote : > Hello > > I would like to introduce a small library which renders chart using > Evas VG API : > > https://github.com/vtorri/echart2 > > I try to mimic a bit the area chart of google : > > https://developers.google.com/chart/interactive/docs/gallery/areachart > > It consist of a library and a test example. > > The library consists of > * a data API to fill data > * a chart API for the chart features > * an evas smart object for a "line" chart > > the test example is the first 'area' example in google charts > > I have attached a screenshot of the example > > The library is in its very early state and is wip. There may be bugs > and a lot of improvements can be done of course > > the build system is meson + ninja (see README.md for instructions). > Just install meson and ninja with your favorite package manager > > I have tested echart on Windows and Fedora. > > Any patches, remarks and ideas are welcome > > Vincent > -- > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel --- Hell'O from Yverdoom Jérémy (jeyzu) -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/efl] master 01/01: Elm layout: fix broken text part name resolving
herdsman pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c0e4a218dd06ecf790a5338c4fcc09a4073dba0c commit c0e4a218dd06ecf790a5338c4fcc09a4073dba0c Author: Daniel HirtDate: Thu Jun 29 21:33:12 2017 +0300 Elm layout: fix broken text part name resolving This adds a few workaround to overcome the efl_part port. Quite a few layouts got broken in some specific cases. --- src/lib/elementary/elc_multibuttonentry.c | 2 +- src/lib/elementary/elc_popup.c| 2 +- src/lib/elementary/elm_actionslider.c | 3 +++ src/lib/elementary/elm_bubble.c | 1 + src/lib/elementary/elm_label.c| 1 + src/lib/elementary/elm_layout.c | 5 + 6 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/lib/elementary/elc_multibuttonentry.c b/src/lib/elementary/elc_multibuttonentry.c index c982803062..ea4c23ff59 100644 --- a/src/lib/elementary/elc_multibuttonentry.c +++ b/src/lib/elementary/elc_multibuttonentry.c @@ -1523,7 +1523,7 @@ _elm_multibuttonentry_text_set(Eo *obj, Elm_Multibuttonentry_Data *sd EINA_UNUSE { Eina_Bool int_ret = EINA_TRUE; - if (!part || !strcmp(part, "default")) + if (!part || !strcmp(part, "default") || !strcmp(part, "elm.text")) { if (label) _label_set(obj, label); int_ret = EINA_TRUE; diff --git a/src/lib/elementary/elc_popup.c b/src/lib/elementary/elc_popup.c index 45862b0901..e3ef8425af 100644 --- a/src/lib/elementary/elc_popup.c +++ b/src/lib/elementary/elc_popup.c @@ -1062,7 +1062,7 @@ _elm_popup_text_set(Eo *obj, Elm_Popup_Data *_pd, const char *part, const char * { Eina_Bool int_ret = EINA_FALSE; - if (!part || !strcmp(part, "default")) + if (!part || !strcmp(part, "default") || !strcmp(part, "elm.text")) int_ret = _content_text_set(obj, label); else if (!strcmp(part, "title,text")) int_ret = _title_text_set(obj, label); diff --git a/src/lib/elementary/elm_actionslider.c b/src/lib/elementary/elm_actionslider.c index 95f4cd6b42..80888bbcc0 100644 --- a/src/lib/elementary/elm_actionslider.c +++ b/src/lib/elementary/elm_actionslider.c @@ -457,6 +457,8 @@ _elm_actionslider_text_set(Eo *obj, Elm_Actionslider_Data *_pd EINA_UNUSED, cons Eina_Bool int_ret = EINA_TRUE; _mirrored_part_fix(obj, ); + + if (!part || !strcmp(part, "elm.text")) part = _text_aliases[0].real_part; efl_text_set(efl_part(efl_super(obj, MY_CLASS), part), text); return int_ret; @@ -469,6 +471,7 @@ _elm_actionslider_text_get(Eo *obj, Elm_Actionslider_Data *_pd EINA_UNUSED, cons _mirrored_part_fix(obj, ); + if (!part) part = _text_aliases[0].real_part; text = efl_text_get(efl_part(efl_super(obj, MY_CLASS), part)); return text; diff --git a/src/lib/elementary/elm_bubble.c b/src/lib/elementary/elm_bubble.c index 520a16198d..51f2de1d59 100644 --- a/src/lib/elementary/elm_bubble.c +++ b/src/lib/elementary/elm_bubble.c @@ -121,6 +121,7 @@ _elm_bubble_text_set(Eo *obj, Elm_Bubble_Data *_pd EINA_UNUSED, const char *part { Eina_Bool int_ret = EINA_TRUE; + if (!part) part = _text_aliases[0].real_part; efl_text_set(efl_part(efl_super(obj, MY_CLASS), part), label); if (!int_ret) return EINA_FALSE; diff --git a/src/lib/elementary/elm_label.c b/src/lib/elementary/elm_label.c index 10a009cda1..7a5f65e2a9 100644 --- a/src/lib/elementary/elm_label.c +++ b/src/lib/elementary/elm_label.c @@ -348,6 +348,7 @@ _elm_label_text_set(Eo *obj, Elm_Label_Data *sd, const char *part, const char *l if (!label) label = ""; _label_format_set(wd->resize_obj, sd->format); + if (!part) part = _text_aliases[0].real_part; efl_text_set(efl_part(efl_super(obj, MY_CLASS), part), label); if (int_ret) diff --git a/src/lib/elementary/elm_layout.c b/src/lib/elementary/elm_layout.c index b15c99c241..5aa13a942b 100644 --- a/src/lib/elementary/elm_layout.c +++ b/src/lib/elementary/elm_layout.c @@ -2325,10 +2325,7 @@ elm_layout_table_clear(Elm_Layout *obj, const char *part, Eina_Bool clear) EAPI Eina_Bool elm_layout_text_set(Elm_Layout *obj, const char *part, const char *text) { - if (!part || (*part == '\0')) - { -part = "elm.text"; - } + if (!part) part = "elm.text"; efl_text_set(efl_part(obj, part), text); return EINA_TRUE; } --
[EGIT] [core/efl] master 01/03: dmabuf: Make a define for the version of the dmabuf attribute struct
derekf pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=892bfe7c98eedcc8f40e952d27ba3f65db6f0fed commit 892bfe7c98eedcc8f40e952d27ba3f65db6f0fed Author: Derek ForemanDate: Thu Jun 29 13:51:07 2017 -0500 dmabuf: Make a define for the version of the dmabuf attribute struct I should've done this in the first place, and the version checks are starting to spread out a bit. --- src/modules/evas/engines/gl_drm/evas_engine.c | 2 +- src/modules/evas/engines/software_generic/evas_native_common.h | 2 ++ src/modules/evas/engines/software_generic/evas_native_dmabuf.c | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/modules/evas/engines/gl_drm/evas_engine.c b/src/modules/evas/engines/gl_drm/evas_engine.c index b1083a18aa..fe69ef0dcc 100644 --- a/src/modules/evas/engines/gl_drm/evas_engine.c +++ b/src/modules/evas/engines/gl_drm/evas_engine.c @@ -1320,7 +1320,7 @@ eng_image_native_set(void *engine, void *image, void *native) struct dmabuf_attributes *a; a = ns->data.wl_dmabuf.attr; - if (a->version != 1) + if (a->version != EVAS_DMABUF_ATTRIBUTE_VERSION) { glsym_evas_gl_common_image_free(img); return NULL; diff --git a/src/modules/evas/engines/software_generic/evas_native_common.h b/src/modules/evas/engines/software_generic/evas_native_common.h index a3b721dc39..de3533550d 100644 --- a/src/modules/evas/engines/software_generic/evas_native_common.h +++ b/src/modules/evas/engines/software_generic/evas_native_common.h @@ -29,6 +29,8 @@ //#include +#define EVAS_DMABUF_ATTRIBUTE_VERSION 1 + struct dmabuf_attributes { /* This must exactly match the struct in Enlightenment. diff --git a/src/modules/evas/engines/software_generic/evas_native_dmabuf.c b/src/modules/evas/engines/software_generic/evas_native_dmabuf.c index f01a6c4751..bd88850ab4 100644 --- a/src/modules/evas/engines/software_generic/evas_native_dmabuf.c +++ b/src/modules/evas/engines/software_generic/evas_native_dmabuf.c @@ -107,7 +107,7 @@ _evas_native_dmabuf_surface_image_set(void *image, void *native) if (!n) return NULL; a = ns->data.wl_dmabuf.attr; -if (a->version != 1) +if (a->version != EVAS_DMABUF_ATTRIBUTE_VERSION) { free(n); return NULL; --
[EGIT] [core/efl] master 02/03: software_generic: Check dmabuf attribute version during set
derekf pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=2e0e017b87f77f97d0398c19372990eda7886072 commit 2e0e017b87f77f97d0398c19372990eda7886072 Author: Derek ForemanDate: Thu Jun 29 13:52:53 2017 -0500 software_generic: Check dmabuf attribute version during set We should check here instead of only at time of usage. --- src/modules/evas/engines/software_generic/evas_engine.c | 16 +++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/modules/evas/engines/software_generic/evas_engine.c b/src/modules/evas/engines/software_generic/evas_engine.c index 05078fd12f..f58fb494d3 100644 --- a/src/modules/evas/engines/software_generic/evas_engine.c +++ b/src/modules/evas/engines/software_generic/evas_engine.c @@ -1134,7 +1134,21 @@ eng_image_native_set(void *data EINA_UNUSED, void *image, void *native) RGBA_Image *im = image; Image_Entry *ie = image, *ie2; - if (!im) return NULL; + if (!im) + { +/* This is a probe for wl_dmabuf viability */ +if (ns && ns->type == EVAS_NATIVE_SURFACE_WL_DMABUF && +!ns->data.wl_dmabuf.resource) + { + struct dmabuf_attributes *attr; + + attr = ns->data.wl_dmabuf.attr; + if (attr->version != EVAS_DMABUF_ATTRIBUTE_VERSION) + ns->data.wl_dmabuf.attr = NULL; + } + +return NULL; + } if (!ns) { if (im->native.data && im->native.func.free) --
[EGIT] [core/enlightenment] master 01/01: Test dmabuf via native_surface_set even in software render
derekf pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=e26f2a12f53e6790950c91d6766f014f834cc2b1 commit e26f2a12f53e6790950c91d6766f014f834cc2b1 Author: Derek ForemanDate: Thu Jun 29 13:37:58 2017 -0500 Test dmabuf via native_surface_set even in software render This is necessary to verify the the attributes struct is the same version EFL can process, before we commit to displaying it. @fix --- src/bin/e_pixmap.c | 27 +-- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/src/bin/e_pixmap.c b/src/bin/e_pixmap.c index ed63c18b9..3dd608ef0 100644 --- a/src/bin/e_pixmap.c +++ b/src/bin/e_pixmap.c @@ -1107,25 +1107,24 @@ e_pixmap_dmabuf_test(struct linux_dmabuf_buffer *dmabuf) { Evas_Native_Surface ns; Evas_Object *test; + Eina_Bool ret; int size; void *data; memset(, 0, sizeof(ns)); - if (e_comp->gl) - { -Eina_Bool ret; -ns.type = EVAS_NATIVE_SURFACE_WL_DMABUF; -ns.version = EVAS_NATIVE_SURFACE_VERSION; -ns.data.wl_dmabuf.attr = >attributes; -ns.data.wl_dmabuf.resource = NULL; -test = evas_object_image_add(e_comp->evas); -evas_object_image_native_surface_set(test, ); -ret = evas_object_image_load_error_get(test) == EVAS_LOAD_ERROR_NONE; -evas_object_del(test); -if (!ns.data.wl_dmabuf.attr) return EINA_FALSE; -return ret; - } + ns.type = EVAS_NATIVE_SURFACE_WL_DMABUF; + ns.version = EVAS_NATIVE_SURFACE_VERSION; + ns.data.wl_dmabuf.attr = >attributes; + ns.data.wl_dmabuf.resource = NULL; + test = evas_object_image_add(e_comp->evas); + evas_object_image_native_surface_set(test, ); + ret = evas_object_image_load_error_get(test) == EVAS_LOAD_ERROR_NONE; + evas_object_del(test); + if (!ns.data.wl_dmabuf.attr) return EINA_FALSE; + + if (e_comp->gl || !ret) + return ret; /* TODO: Software rendering for multi-plane formats */ if (dmabuf->attributes.n_planes != 1) return EINA_FALSE; --
[EGIT] [core/efl] master 03/03: gl_drm: Check dmabuf attribute version before trusting attributes
derekf pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=944a4065e8c21a082d1eb826e243f9d813ed8876 commit 944a4065e8c21a082d1eb826e243f9d813ed8876 Author: Derek ForemanDate: Thu Jun 29 13:54:48 2017 -0500 gl_drm: Check dmabuf attribute version before trusting attributes We shouldn't do anything with a dmabuf structure until confirming the version matches the one we know. --- src/modules/evas/engines/gl_drm/evas_engine.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/modules/evas/engines/gl_drm/evas_engine.c b/src/modules/evas/engines/gl_drm/evas_engine.c index fe69ef0dcc..44134464e8 100644 --- a/src/modules/evas/engines/gl_drm/evas_engine.c +++ b/src/modules/evas/engines/gl_drm/evas_engine.c @@ -1197,10 +1197,11 @@ eng_image_native_set(void *engine, void *image, void *native) if (!ns->data.wl_dmabuf.resource) { struct dmabuf_attributes *attr; - void *v; + void *v = NULL; attr = ns->data.wl_dmabuf.attr; - v = gl_import_simple_dmabuf(ob->egl.disp, attr); + if (attr->version == EVAS_DMABUF_ATTRIBUTE_VERSION) +v = gl_import_simple_dmabuf(ob->egl.disp, attr); if (!v) { ns->data.wl_dmabuf.attr = NULL; return NULL; --
[EGIT] [tools/edi] master 02/02: ui: Use correct icon naming for FDO arrows
ajwillia-ms pushed a commit to branch master. http://git.enlightenment.org/tools/edi.git/commit/?id=a8d62ded23d6c5dea26a30a4be9363d7b0edf1b1 commit a8d62ded23d6c5dea26a30a4be9363d7b0edf1b1 Author: Andy WilliamsDate: Thu Jun 29 21:25:26 2017 + ui: Use correct icon naming for FDO arrows --- src/bin/edi_main.c | 38 +++--- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/bin/edi_main.c b/src/bin/edi_main.c index 4b5075f..02d8d45 100644 --- a/src/bin/edi_main.c +++ b/src/bin/edi_main.c @@ -242,12 +242,12 @@ _edi_toggle_file_panel(void *data, Evas_Object *obj EINA_UNUSED, void *event_inf if (size == 0.0) { -elm_icon_standard_set(_edi_filepanel_icon, "stock_left"); +elm_icon_standard_set(_edi_filepanel_icon, "go-previous"); _edi_slide_panel_new(_edi_leftpanes, panel, _edi_project_config->gui.leftsize, EINA_TRUE, EINA_TRUE); } else { -elm_icon_standard_set(_edi_filepanel_icon, "stock_right"); +elm_icon_standard_set(_edi_filepanel_icon, "go-next"); _edi_slide_panel_new(_edi_leftpanes, panel, _edi_project_config->gui.leftsize, EINA_FALSE, EINA_TRUE); } } @@ -273,7 +273,7 @@ _edi_toggle_panel(void *data, Evas_Object *obj, void *event_info) if (item == _edi_selected_bottompanel) { -elm_toolbar_item_icon_set(item, "stock_up"); +elm_toolbar_item_icon_set(item, "go-up"); _edi_slide_panel_new(_edi_bottompanes, panel, _edi_project_config->gui.bottomsize, EINA_FALSE, EINA_FALSE); _edi_selected_bottompanel = NULL; @@ -281,8 +281,8 @@ _edi_toggle_panel(void *data, Evas_Object *obj, void *event_info) else { if (_edi_selected_bottompanel) - elm_toolbar_item_icon_set(_edi_selected_bottompanel, "stock_up"); -elm_toolbar_item_icon_set(item, "stock_down"); + elm_toolbar_item_icon_set(_edi_selected_bottompanel, "go-up"); +elm_toolbar_item_icon_set(item, "go-down"); size = elm_panes_content_right_size_get(_edi_bottompanes); if (size == 0.0) @@ -382,9 +382,9 @@ edi_content_setup(Evas_Object *win, const char *path) icon = elm_icon_add(content_in); if (_edi_project_config->gui.leftopen) - elm_icon_standard_set(icon, "stock_left"); + elm_icon_standard_set(icon, "go-previous"); else - elm_icon_standard_set(icon, "stock_right"); + elm_icon_standard_set(icon, "go-next"); button = elm_button_add(content_in); elm_object_part_content_set(button, "icon", icon); elm_object_focus_allow_set(button, EINA_FALSE); @@ -434,27 +434,27 @@ edi_content_setup(Evas_Object *win, const char *path) _edi_toolbar_separator_add(tb); - _edi_logpanel_item = elm_toolbar_item_append(tb, "stock_up", "Logs", + _edi_logpanel_item = elm_toolbar_item_append(tb, "go-up", "Logs", _edi_toggle_panel, "0"); _edi_toolbar_separator_add(tb); - _edi_consolepanel_item = elm_toolbar_item_append(tb, "stock_up", "Console", + _edi_consolepanel_item = elm_toolbar_item_append(tb, "go-up", "Console", _edi_toggle_panel, "1"); _edi_toolbar_separator_add(tb); - _edi_testpanel_item = elm_toolbar_item_append(tb, "stock_up", "Tests", + _edi_testpanel_item = elm_toolbar_item_append(tb, "go-up", "Tests", _edi_toggle_panel, "2"); _edi_toolbar_separator_add(tb); - _edi_searchpanel_item = elm_toolbar_item_append(tb, "stock_up", "Search", + _edi_searchpanel_item = elm_toolbar_item_append(tb, "go-up", "Search", _edi_toggle_panel, "3"); _edi_toolbar_separator_add(tb); - _edi_taskspanel_item = elm_toolbar_item_append(tb, "stock_up", "Tasks", + _edi_taskspanel_item = elm_toolbar_item_append(tb, "go-up", "Tasks", _edi_toggle_panel, "4"); _edi_toolbar_separator_add(tb); - _edi_debugpanel_item = elm_toolbar_item_append(tb, "stock_up", "Debug", + _edi_debugpanel_item = elm_toolbar_item_append(tb, "go-up", "Debug", _edi_toggle_panel, "5"); _edi_toolbar_separator_add(tb); @@ -503,32 +503,32 @@ edi_content_setup(Evas_Object *win, const char *path) elm_panes_content_right_size_set(logpane, _edi_project_config->gui.bottomsize); if (_edi_project_config->gui.bottomtab == 1) { - elm_toolbar_item_icon_set(_edi_consolepanel_item, "stock_down"); + elm_toolbar_item_icon_set(_edi_consolepanel_item, "go-down"); _edi_selected_bottompanel = _edi_consolepanel_item; } else if (_edi_project_config->gui.bottomtab == 2) { - elm_toolbar_item_icon_set(_edi_testpanel_item, "stock_down"); +
[EGIT] [tools/edi] master 01/02: config: Correct project name comparison for substrings
ajwillia-ms pushed a commit to branch master. http://git.enlightenment.org/tools/edi.git/commit/?id=a34a71f8f64c9167fa3f96ef95c1b3e9e17cc9ee commit a34a71f8f64c9167fa3f96ef95c1b3e9e17cc9ee Author: Andy WilliamsDate: Thu Jun 29 21:18:15 2017 + config: Correct project name comparison for substrings --- src/bin/edi_config.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/bin/edi_config.c b/src/bin/edi_config.c index 93339bd..4ae8549 100644 --- a/src/bin/edi_config.c +++ b/src/bin/edi_config.c @@ -353,7 +353,8 @@ _edi_config_project_add(const char *path) EINA_LIST_FOREACH_SAFE(_edi_config->projects, list, next, project) { -if (!strncmp(project->path, path, strlen(project->path))) +if (strlen(project->path) == strlen(path) && +!strncmp(project->path, path, strlen(project->path))) _edi_config->projects = eina_list_remove_list(_edi_config->projects, list); } --
[E-devel] chart library based on the EFL
Hello I would like to introduce a small library which renders chart using Evas VG API : https://github.com/vtorri/echart2 I try to mimic a bit the area chart of google : https://developers.google.com/chart/interactive/docs/gallery/areachart It consist of a library and a test example. The library consists of * a data API to fill data * a chart API for the chart features * an evas smart object for a "line" chart the test example is the first 'area' example in google charts I have attached a screenshot of the example The library is in its very early state and is wip. There may be bugs and a lot of improvements can be done of course the build system is meson + ninja (see README.md for instructions). Just install meson and ninja with your favorite package manager I have tested echart on Windows and Fedora. Any patches, remarks and ideas are welcome Vincent -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] EFL Profiling Viewer Released!
I agree its good stuff and the timing of others comments is ironic. I just was making a Gentoo ebuild for this yesterday. I was going to ask about build systems, and others comments showed up :) I got ahead of myself and noticed there is no build system. Unless I grabbed the wrong repo. Unless there is another repo that has that. Which do you plan to use autotools or cmake? Good stuff either way! Though if it remains as its own project, may go with just like EFL Profiler, not sure Viewer is needed and makes the name a bit long. But thats pretty moot. Thanks for the work! -- William L. Thomson Jr. pgpsdSahy27Lc.pgp Description: OpenPGP digital signature -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/efl] master 01/01: Evas textblock: fix legacy_newline in legacy API
herdsman pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4024857bf6098b91ed3859fac9bfc149b4db3b81 commit 4024857bf6098b91ed3859fac9bfc149b4db3b81 Author: Daniel HirtDate: Sun Jun 25 13:21:52 2017 +0300 Evas textblock: fix legacy_newline in legacy API Fixes 4fda417bc9e0c59f3a3645057279a29cc0057cd2 that disabled legacy_newline for both legacy (textblock) and new (canvas text) api. It should enable legacy_newline for legacy. --- src/lib/evas/canvas/evas_object_textblock.c | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/lib/evas/canvas/evas_object_textblock.c b/src/lib/evas/canvas/evas_object_textblock.c index a85cef5646..7806cce028 100644 --- a/src/lib/evas/canvas/evas_object_textblock.c +++ b/src/lib/evas/canvas/evas_object_textblock.c @@ -6650,11 +6650,14 @@ _find_layout_line_num(const Evas_Object *eo_obj, int line) EAPI Evas_Object * evas_object_textblock_add(Evas *e) { + Efl_Canvas_Text_Data *o; MAGIC_CHECK(e, Evas, MAGIC_EVAS); return NULL; MAGIC_CHECK_END(); Evas_Object *eo_obj = efl_add(MY_CLASS, e, efl_text_multiline_set(efl_added, EINA_TRUE)); + o = efl_data_scope_get(eo_obj, MY_CLASS); + o->legacy_newline = EINA_TRUE; return eo_obj; } @@ -6677,9 +6680,6 @@ _efl_canvas_text_efl_object_constructor(Eo *eo_obj, Efl_Canvas_Text_Data *class_ o->cursors = eina_list_remove_list(o->cursors, o->cursors); _format_command_init(); evas_object_textblock_init(eo_obj); - // Override legacy newline (enabled in legacy textblock through - // textblock_init. - o->legacy_newline = EINA_FALSE; _FMT(ref) = 1; _FMT(halign) = 0.0; @@ -12907,7 +12907,6 @@ evas_object_textblock_init(Evas_Object *eo_obj) co->obj = eo_obj; evas_object_textblock_text_markup_set(eo_obj, ""); - o->legacy_newline = EINA_TRUE; o->multiline = EINA_FALSE; #ifdef BIDI_SUPPORT o->inherit_paragraph_direction = EINA_TRUE; --
[E-devel] EFL 1.20.0 alpha 1
This alpha release for 1.20 starts the freeze period and stabilization phase for the 1.20 release cycle. **Download** http://download.enlightenment.org/rel/libs/efl/efl-1.20.0-alpha1.tar.gz 34dc7d890c727609aab281c833f3e052755a23e8f0241dec5372bfe3c1ce30da | http://download.enlightenment.org/rel/libs/efl/efl-1.20.0-alpha1.tar.xz eae0d9dbd01ba40d8408924d4dbaa08da07a149908d655eebc9cf0182436f241 **Features:** * evas: Make save() work on snapshots (T2102) * ecore-drm2: Add support for plane formats * ecore-drm2: Support multiple planes on a given output * ecore-drm2: Add hardware plane functions * ecore-drm2: Add API function to set plane destination * ecore-drm2: Add library symlink to merge atomic commit requests * ecore-drm2: Add API functions for atomic commit test and commit * eo: Add new API efl_cast (T5311) * Ecore_Win32: add ecore_win32_window_state_get() API to retrieve a window states * Ecore_Win32: add Property event API * Ecore_Win32: add API to retrieve the geometry and dpi of plugged displays * evas map: Introduce new API for maps (Efl.Gfx.Map) * evas map: Reach feature parity with legacy API * ecore-evas: add function for unsetting a specific seat's cursor * ecore-wl2: store names for inputs and add api for retrieving name * ecore-wl2: add some accessors for useful Ecore_Wl2_Input struct members * ecore-wl2: add function for checking if a client connection sync is done * ecore-wl2: change selection setting apis to return the serial of the request * ecore-wl2: add events for changes in keymap, selection, and kbd repeat rate * ecore-wl2: add function for accepting a single mime type * ecore-wl2: add function for setting a drag source's actions without a drag * ecore-wl2: add functions for proxying a selection receive externally * efl_input_device: add seat_id property * evas_device: add seat_id property, set seat id for default fallback seat * ecore-wl2: add ecore_wl2_display_input_find() * ecore-wl2: add ecore_wl2_display_name_get() * elm_cnp: add event for selection change * elm_cnp: add elm_cnp_clipboard_selection_has_owner() * elm_win: add elm_win_get() * ecore-wl2: add ecore_wl2_display_input_find_by_name() * ecore-wl2: add ecore_wl2_window_activated_get() * ecore-wl2: add ecore_wl2_window_popup_input_set() * evas: add evas_device_get_by_seat_id() * edje: Implement EO API for message_send * evas: Add children_iterate to Efl.Input.Device * evas/elm: Add Efl.Image.image_size read-only property * elput: group tablet input devices into pointer devices * elput: add initial input tablet support * ecore-wl2: implement compose keys (T5006) * elput: implement compose sequences (T5006) * wayland/drm: create evas_devices and add device pointer to input events * Efl text: add Font, Format and Style interfaces * Canvas text: implement Font, Format and Style interfaces * edje: Add recursive flag for message_signal_process * eolian: add new unit API * Efl.Ui.Image.Zoomable: implement Ui.Image.icon property * ecore-wl2: Add event for output transformation * ecore-wl2: Add API function to find an output for given window * ecore-wl2: Add API function to return an output transformation * ecore-wl2: Add API function to set surface buffer transform * evas_map: support map with number of points as multiples of 4 * efl.gfx.map: support for map points as multiples of 4 * elput: Add API function to swap dx & dy axis from pointer motion event * ecore-drm2: Add API function to set pointer rotation * Efl.Ui.Image.Zoomable: make zoomable to work with edj file * ecore-wl2: Add API function to set if wm rotation is supported * ecore-wl2: Add API to get if window manager rotation is supported * ecore-wl2: Add API to set if an application has rotation a window * ecore-wl2: Add API to get if an application has set window rotation * ecore-wl2: Add API to set window preferred rotation * ecore-wl2: Add API to return a windows preferred rotation * ecore-wl2: Add API to set window available rotations * ecore-wl2: Add API to return window available rotations * ecore-wl2: Add API and event for window rotation change prepare * ecore-wl2: Add API and Event for window rotation change prepare done * ecore-wl2: Add API and Event for window rotation change request * ecore-wl2: Add API and Event for window rotation change done * ecore-wl2: Add event type for window rotate events * ecore-evas-wl: Add support for Window Manager rotations * efl_input_device: add function for determining if a device has pointer caps * evas: add some functions for determining if pointer coords are inside an object * evas: add new event_grabber smart-ish object * efl.canvas: Add "seat" (by id) and "device" (by name) properties * ecore-evas-wayland: Add aux_hint functions to Wayland Interface * ecore-wl2: Add event and
[EGIT] [website/www-content] master 01/01: Wiki page efl-1.20.0-alpha1 changed with summary [created] by Stefan Schmidt
WWW-www.enlightenment.org pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=4dbbba35e5fe70f5e0163ed9e65682ebf07f3352 commit 4dbbba35e5fe70f5e0163ed9e65682ebf07f3352 Author: Stefan SchmidtDate: Thu Jun 29 06:12:34 2017 -0700 Wiki page efl-1.20.0-alpha1 changed with summary [created] by Stefan Schmidt --- pages/news/efl-1.20.0-alpha1.txt | 277 +++ 1 file changed, 277 insertions(+) diff --git a/pages/news/efl-1.20.0-alpha1.txt b/pages/news/efl-1.20.0-alpha1.txt new file mode 100644 index ..20d8b879 --- /dev/null +++ b/pages/news/efl-1.20.0-alpha1.txt @@ -0,0 +1,277 @@ +=== EFL 1.20.0 alpha 1 === + * //2017-06-29 - by Stefan Schmidt// + +This alpha release for 1.20 starts the freeze period and stabilization phase for the 1.20 release cycle. + +**Download** + +|LINK| SHA256| +| http://download.enlightenment.org/rel/libs/efl/efl-1.20.0-alpha1.tar.gz | 34dc7d890c727609aab281c833f3e052755a23e8f0241dec5372bfe3c1ce30da | +| http://download.enlightenment.org/rel/libs/efl/efl-1.20.0-alpha1.tar.xz | eae0d9dbd01ba40d8408924d4dbaa08da07a149908d655eebc9cf0182436f241 | + +**Features:** + * evas: Make save() work on snapshots (T2102) + * ecore-drm2: Add support for plane formats + * ecore-drm2: Support multiple planes on a given output + * ecore-drm2: Add hardware plane functions + * ecore-drm2: Add API function to set plane destination + * ecore-drm2: Add library symlink to merge atomic commit requests + * ecore-drm2: Add API functions for atomic commit test and commit + * eo: Add new API efl_cast (T5311) + * Ecore_Win32: add ecore_win32_window_state_get() API to retrieve a window states + * Ecore_Win32: add Property event API + * Ecore_Win32: add API to retrieve the geometry and dpi of plugged displays + * evas map: Introduce new API for maps (Efl.Gfx.Map) + * evas map: Reach feature parity with legacy API + * ecore-evas: add function for unsetting a specific seat's cursor + * ecore-wl2: store names for inputs and add api for retrieving name + * ecore-wl2: add some accessors for useful Ecore_Wl2_Input struct members + * ecore-wl2: add function for checking if a client connection sync is done + * ecore-wl2: change selection setting apis to return the serial of the request + * ecore-wl2: add events for changes in keymap, selection, and kbd repeat rate + * ecore-wl2: add function for accepting a single mime type + * ecore-wl2: add function for setting a drag source's actions without a drag + * ecore-wl2: add functions for proxying a selection receive externally + * efl_input_device: add seat_id property + * evas_device: add seat_id property, set seat id for default fallback seat + * ecore-wl2: add ecore_wl2_display_input_find() + * ecore-wl2: add ecore_wl2_display_name_get() + * elm_cnp: add event for selection change + * elm_cnp: add elm_cnp_clipboard_selection_has_owner() + * elm_win: add elm_win_get() + * ecore-wl2: add ecore_wl2_display_input_find_by_name() + * ecore-wl2: add ecore_wl2_window_activated_get() + * ecore-wl2: add ecore_wl2_window_popup_input_set() + * evas: add evas_device_get_by_seat_id() + * edje: Implement EO API for message_send + * evas: Add children_iterate to Efl.Input.Device + * evas/elm: Add Efl.Image.image_size read-only property + * elput: group tablet input devices into pointer devices + * elput: add initial input tablet support + * ecore-wl2: implement compose keys (T5006) + * elput: implement compose sequences (T5006) + * wayland/drm: create evas_devices and add device pointer to input events + * Efl text: add Font, Format and Style interfaces + * Canvas text: implement Font, Format and Style interfaces + * edje: Add recursive flag for message_signal_process + * eolian: add new unit API + * Efl.Ui.Image.Zoomable: implement Ui.Image.icon property + * ecore-wl2: Add event for output transformation + * ecore-wl2: Add API function to find an output for given window + * ecore-wl2: Add API function to return an output transformation + * ecore-wl2: Add API function to set surface buffer transform + * evas_map: support map with number of points as multiples of 4 + * efl.gfx.map: support for map points as multiples of 4 + * elput: Add API function to swap dx & dy axis from pointer motion event + * ecore-drm2: Add API function to set pointer rotation + * Efl.Ui.Image.Zoomable: make zoomable to work with edj file + * ecore-wl2: Add API function to set if wm rotation is supported + * ecore-wl2: Add API to get if window manager rotation is supported + * ecore-wl2: Add API to set if an application has rotation a window + * ecore-wl2: Add API to get if an application has set window rotation + * ecore-wl2: Add API to set window preferred rotation + * ecore-wl2: Add API to return a windows preferred rotation + * ecore-wl2: Add API to set window
[EGIT] [core/efl] master 01/01: Evas textblock: re-apply paragraph position inference
herdsman pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a10f726fc5540196e9ac64fe5e1aa2951904910a commit a10f726fc5540196e9ac64fe5e1aa2951904910a Author: Daniel HirtDate: Thu Jun 29 13:57:54 2017 +0300 Evas textblock: re-apply paragraph position inference For some reason, c39855a8ac6f86c2dd8b1856ed70f85e0e521f3e also seems to address an issue with height calculations (although not mentioned in the commit message). It already went in v1.19, so by applying b8beb6834b01f9688cb5e7aa177bacbc713318b9 I also reverted that behavior. Seems like a correct one, so re-applying. Fixes T5594 --- src/lib/evas/canvas/evas_object_textblock.c | 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/lib/evas/canvas/evas_object_textblock.c b/src/lib/evas/canvas/evas_object_textblock.c index c64f3007f6..a85cef5646 100644 --- a/src/lib/evas/canvas/evas_object_textblock.c +++ b/src/lib/evas/canvas/evas_object_textblock.c @@ -5493,8 +5493,16 @@ _layout_par(Ctxt *c) /* After this par we are no longer at the beginning, as there * must be some text in the par. */ - if (c->position == TEXTBLOCK_POSITION_START) -c->position = TEXTBLOCK_POSITION_ELSE; + if (!EINA_INLIST_GET(c->par)->next) + { + c->position = (c->position == TEXTBLOCK_POSITION_START) ? + TEXTBLOCK_POSITION_SINGLE : TEXTBLOCK_POSITION_END; + } + else + { + if (c->position == TEXTBLOCK_POSITION_START) + c->position = TEXTBLOCK_POSITION_ELSE; + } if (c->par->last_fw > c->wmax) c->wmax = c->par->last_fw; return 0; --
Re: [E-devel] Announcing: GL-accelerated blurs!
Hey, The color is not in the blur itself, there's a rectangle above the snapshot/blur. I really didn't put much effort into this theme customization, feel free to do so! :) I doubt this should go into EFL for a couple of reasons: - It's a huge power drain - There are some bugs (missing redraws, or too many redraws) - It won't work on Wayland (client-side decorations, not server-side) But I definitely agree we should put some love into this. Maybe work with raster's flat theme as a base instead of the current default. Best regards, 2017-06-29 21:01 GMT+09:00 Andrew Williams: > Very nice indeed. > > I could not figure out how myself - but can we make this a darker blur? > (the windows on a non-sharp background tend to blend in a little too much > with this patch). > Any chance we get this into EFL so the next E release gets a blurry theme? > > It works on software too but layering a few windows gets a tad slow ;) > > Nice work, thanks, > Andy > > On Fri, 14 Apr 2017 at 11:45 Al Poole wrote: > > > Just tried the patch, love this feature, thanks!!! > > > > On Fri, Apr 14, 2017 at 11:14 AM, Vincent Torri > > > wrote: > > > > > very nice ! good work :) > > > > > > Vincent > > > > > > On Fri, Apr 14, 2017 at 7:19 AM, Jean-Philippe André < > j...@videolan.org> > > > wrote: > > > > Hello, > > > > > > > > > > > > Some of you may already know it, but I've recently been working on > > > > accelerating evas filters with GL shaders. In particular I focused on > > the > > > > blur filter. > > > > > > > > I have now merged my work in master (for 1.20) and it is thus > possible > > to > > > > apply blur filters to your enlightenment's window borders. > > > > > > > > I'm interested in your feedback, if something doesn't work, if you > > > observe > > > > a memory leak, crash, etc... but also in the overall performance as I > > > could > > > > only test on a limited set of hardware. > > > > > > > > > > > > Preview video: > > > > https://www.youtube.com/watch?v=ZnJlpPgJivY > > > > > > > > > > > > Here's a patch for the theme: > > > > https://phab.enlightenment.org/F895504 > > > > > > > > > > > > Best regards, > > > > > > > > -- > > > > Jean-Philippe André > > > > > > > -- > > > > Check out the vibrant tech community on one of the world's most > > > > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > > > > ___ > > > > enlightenment-devel mailing list > > > > enlightenment-devel@lists.sourceforge.net > > > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > > > > > > -- > > > Check out the vibrant tech community on one of the world's most > > > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > > > ___ > > > enlightenment-devel mailing list > > > enlightenment-devel@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > > > > > -- > > Check out the vibrant tech community on one of the world's most > > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > > ___ > > enlightenment-devel mailing list > > enlightenment-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > -- > http://andywilliams.me > http://ajwillia.ms > > -- > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- Jean-Philippe André -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Announcing: GL-accelerated blurs!
Very nice indeed. I could not figure out how myself - but can we make this a darker blur? (the windows on a non-sharp background tend to blend in a little too much with this patch). Any chance we get this into EFL so the next E release gets a blurry theme? It works on software too but layering a few windows gets a tad slow ;) Nice work, thanks, Andy On Fri, 14 Apr 2017 at 11:45 Al Poolewrote: > Just tried the patch, love this feature, thanks!!! > > On Fri, Apr 14, 2017 at 11:14 AM, Vincent Torri > wrote: > > > very nice ! good work :) > > > > Vincent > > > > On Fri, Apr 14, 2017 at 7:19 AM, Jean-Philippe André > > wrote: > > > Hello, > > > > > > > > > Some of you may already know it, but I've recently been working on > > > accelerating evas filters with GL shaders. In particular I focused on > the > > > blur filter. > > > > > > I have now merged my work in master (for 1.20) and it is thus possible > to > > > apply blur filters to your enlightenment's window borders. > > > > > > I'm interested in your feedback, if something doesn't work, if you > > observe > > > a memory leak, crash, etc... but also in the overall performance as I > > could > > > only test on a limited set of hardware. > > > > > > > > > Preview video: > > > https://www.youtube.com/watch?v=ZnJlpPgJivY > > > > > > > > > Here's a patch for the theme: > > > https://phab.enlightenment.org/F895504 > > > > > > > > > Best regards, > > > > > > -- > > > Jean-Philippe André > > > > > -- > > > Check out the vibrant tech community on one of the world's most > > > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > > > ___ > > > enlightenment-devel mailing list > > > enlightenment-devel@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > > > -- > > Check out the vibrant tech community on one of the world's most > > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > > ___ > > enlightenment-devel mailing list > > enlightenment-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > -- > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- http://andywilliams.me http://ajwillia.ms -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] main menu breakage
Hi, I meant to get this resolved at the weekend but we ran out of the time. Some strange sizing issues have been haunting us ( https://phab.enlightenment.org/T5482) I have tracked it down to a main menu that's bigger than the window content. If someone can help please apply the attached patch to EFL then run elementary_test and click "Main menu" - you will see a very unhappy window... First to solve this get's a special prize! Thanks, Andy -- http://andywilliams.me http://ajwillia.ms diff --git a/src/bin/elementary/test_main_menu.c b/src/bin/elementary/test_main_menu.c index 507a138709..04ab8d3736 100644 --- a/src/bin/elementary/test_main_menu.c +++ b/src/bin/elementary/test_main_menu.c @@ -33,8 +33,8 @@ test_main_menu(void *data EINA_UNUSED, evas_object_show(bx); label = elm_label_add(win); - elm_object_text_set(label, "Note: the D-Bus menu example requires support from the " - "desktop environment to display the application menu"); + elm_object_text_set(label, "Note: the D-Bus..."); // menu example requires support from the " +// "desktop environment to display the application menu"); evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_pack_end(bx, label); -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] EFL Profiling Viewer Released!
looks very, very nice indeed :-) do you have any plans to hook this with system profilers such as `systemtap`/`oprofile`/`dtrace` and the likes? On Thu, Jun 29, 2017 at 3:15 AM, Carsten Haitzlerwrote: > On Fri, 23 Jun 2017 17:11:52 +0300 Mykyta Biliavskyi > > said: > > Well the page is brilliant.. the images/gifs you have... fantastic. i tried it > on an older log file i had and it segfaulted :( it seems i now no longer > know how to even produce evlog files now given jackdanielz changes... i have > to > figure this out now again... > > you and jackdanielz need to work together ... i think this should go into > clouseau (with log begin/end controls, dynamic update as logs come in and then > the ability to inspect older logs...). > > and other than the above... > > this is BLOODY BRILLIANT. fantastic! like super duper amazing fantastic! i > haven't looked how you do the cpu freq bars (i was using rects... basically > but i found they really did slow things down... so i was tossing up doing just > image objects with custom generated ARGB pixel data). > > this is just simply FANTASTIC stuff. i was planning on coming back and adding > per-frame/window update region info (and display it visually). what i had not > decided on was how to capture the image of the window/frame each fram and > display it nicely... that would make debugging simply amazing to have a > thumbnail or even full image/frame capture per frame as well as everything. > you could see what did and didn't draw that frame (did it overdraw? why? what > triggered that change?). ... go back and inspect "error frames" that you saw > a glitch in but couldn't catch it easily... i hadn't decided on how to do this > with evlog yet... but it'd likely have been a new kind of evlog "blob" with > arbitrary binary data in it not just strings. > > truly awesome work here... nice! > >> Hello all! >> >> I am glad to announce that EFL Profiling Viewer is published at >> enlightenment repos. >> This project inspired by Raster evlog tool. >> And done as Oleksii Piskun internship project. >> >> Description could be find here: >> https://phab.enlightenment.org/w/projects/efl_profiling_viewer/ >> (Please help to place link into Application section on the phriction >> main page) >> >> Source code available here: >> https://git.enlightenment.org/devs/nikawhite/efl_profiler_viewer.git/ >> >> Project and dashboards for ideas and bugs locates here: >> https://phab.enlightenment.org/project/profile/151/ >> >> Thanks for your feedbacks and support. >> >> NikaWhite >> >> -- >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> ___ >> 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" -- > The Rasterman (Carsten Haitzler)ras...@rasterman.com > > > -- > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Gustavo Sverzut Barbieri -- Mobile: +55 (16) 99354-9890 -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/efl] annotated tag v1.20.0-alpha1 created (now 0945eda0ed)
This is an automated email from the git hooks/post-receive script. stefan pushed a change to annotated tag v1.20.0-alpha1 in repository core/efl. at 0945eda0ed (tag) tagging 96ce1333b388e07a41ae62e0d3733bb6d9d0024d (commit) replaces v1.19.0 tagged by Stefan Schmidt on Thu Jun 29 13:34:13 2017 +0200 - Log - v1.20.0-alpha1 Al Poole (8): eio: improve Kevent (FreeBSD et. al) elm_code : LINE_APPEND Render fix efreetd: BSD optimizations. elm_code: fix carriage return at EOF scroller behaviour elm_code: fix cursor position (100%) examples: fix efl_net_control_example.c on BSD. efl_debugd: only compile this on Linux. eina: fix implicit declaration of pthread_set_name_np in eina_debug. Amitesh Singh (56): Efl.Ui.Autorepeat: Add efl autorepeat interface Efl.Ui.Autorepeat: add 'autorepeat' prefix to methods. photocam: remove internal_image_get as eo api photocam: merge image_region_show() into image_region photocam: implement Efl.Gfx.View.view_size.get photocam: rename 'paused' API to 'zoom_animation' photocam: move zoom related APIs to Efl.Ui.Zoomable rename Efl.Ui.Zoomable to Efl.Ui.Zoom photocam: fix make distcheck nstate: correct the legacy class name check: fix efl_ui_check_selected_set() API rename elm_check to Efl.Ui.Check update po files after elm check rename config: fix keybindings for Efl.Ui.Check rename elm_button to Efl.Ui.Button Add po/* files changes after elm_button rename rename elm_radio to Efl.Ui.Radio update po/* files after elm_radio rename Efl.Ui.Check: correct the include gaurds name Efl.Ui.Radio: correct the 'changed' event name elm: rename elm_progressbar to Efl.Ui.Progressbar update po/* files after progressbar rename Efl.Ui.Progressbar: add pulse_mode & pulse as eo API Efl.Ui.Progressbar: Implement Efl.Ui.Progress intf for progressbar part elm: rename elm_photocam to Efl.Ui.Image.Zoomable Efl.Ui.Image.Zoomable: inherit from Efl.Ui.Image Efl.Ui.Image.Zoomable: implement Ui.Image.icon property tests:efl.ui.image: Add test case for icon api efl.ui.image: fix icon_get API tests:efl.ui.image.zoomable: add a test case for icon APIs Efl.Ui.Image: fix efl.player.playable.get API Efl.Ui.Image.Zoomable: implement efl.player.playable.get Efl.Ui.Image.Zoomable: implement efl.play.get/set Efl.Ui.Image.Zoomable: inherit elm.widget as class elm_test:ui.image.zoomable: Allow image click to enable/disable animation elm-test: ui.image.zoomable: make anim example to work with zoom Efl.Ui.Image.Zoomable: make zoomable to work with edj file elm test:image.zoomable: fix the compilation warnings elm slider: remove *not* required set/get{} from eo file elm slider: indicator_visible_mode - move API document at one place. elm: rename elm slider to Efl.Ui.Slider intf: Efl.Ui.Progress: Add progress_min_max property Efl.Ui.Slider: implement Efl.Ui.Progress.progress_min_max intf: rename progress to range slider: remove range APIs intf: range: rename unit_format to range_unit_format efl.ui.slider: rename data members related to interval apis Efl.Ui.Slider: rename data get macros Efl.Ui.Check: rename data get macros Efl.Ui.Progressbar: rename data get macros. Efl.Ui.Slider: move legacy APIs at the bottom of the file. Efl.Ui.Slider: implement slider internal part class Efl.Ui.Image.Zoomable: rename data get macros Efl.Ui.Image.Zoomable: move legacy APIs at the bottom of the file. elm test: image zoomable - allow gif to be played in test example spinner: don't allow dragging if widget is disabled Andrii Kroitor (1): examples: fix ecore_exe_child example to work properly on Windows Andy Williams (21): elm_code: Fix selection,start signal elm_code: Expose API for inserting text at cursor elm_code: fix make check, sorry elm_code: Move the 'default' font name and size into the theme. elm_code: Fix insertion of multiline content in widget elm_code: Add a save_as API call for writing buffers to a new file elm_code: Fix off by 1 in selection refactor Revert "elm_code: Add a save_as API call for writing buffers to a new file" elm_code: Fix crash on tabs in long lines elm_code: improving cursor move behavior. elm_code: reduce race conditions in rendering cursor elm_code: Allow multibyte characters to be entered elm_code: Fix possible crash when deleting a selection elm_code: Fix make check elm_code: Fix select-all column calculations elementary: Balance menu operations with an open method elementary: fix typos and warnings in my menu changes fix
[EGIT] [core/efl] master 04/04: release: Update NEWS and bump version for 1.20.0-alpha1 release
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=96ce1333b388e07a41ae62e0d3733bb6d9d0024d commit 96ce1333b388e07a41ae62e0d3733bb6d9d0024d Author: Stefan SchmidtDate: Thu Jun 29 12:49:09 2017 +0200 release: Update NEWS and bump version for 1.20.0-alpha1 release --- NEWS | 270 ++- configure.ac | 4 +- 2 files changed, 271 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index 1aa67aaf61..4a86816b45 100644 --- a/NEWS +++ b/NEWS @@ -1,7 +1,275 @@ == -EFL 1.19.0 +EFL 1.20.0 == +Changes since 1.19.0: +- + +Features: + + * evas: Make save() work on snapshots (T2102) + * ecore-drm2: Add support for plane formats + * ecore-drm2: Support multiple planes on a given output + * ecore-drm2: Add hardware plane functions + * ecore-drm2: Add API function to set plane destination + * ecore-drm2: Add library symlink to merge atomic commit requests + * ecore-drm2: Add API functions for atomic commit test and commit + * eo: Add new API efl_cast (T5311) + * Ecore_Win32: add ecore_win32_window_state_get() API to retrieve a window states + * Ecore_Win32: add Property event API + * Ecore_Win32: add API to retrieve the geometry and dpi of plugged displays + * evas map: Introduce new API for maps (Efl.Gfx.Map) + * evas map: Reach feature parity with legacy API + * ecore-evas: add function for unsetting a specific seat's cursor + * ecore-wl2: store names for inputs and add api for retrieving name + * ecore-wl2: add some accessors for useful Ecore_Wl2_Input struct members + * ecore-wl2: add function for checking if a client connection sync is done + * ecore-wl2: change selection setting apis to return the serial of the request + * ecore-wl2: add events for changes in keymap, selection, and kbd repeat rate + * ecore-wl2: add function for accepting a single mime type + * ecore-wl2: add function for setting a drag source's actions without a drag + * ecore-wl2: add functions for proxying a selection receive externally + * efl_input_device: add seat_id property + * evas_device: add seat_id property, set seat id for default fallback seat + * ecore-wl2: add ecore_wl2_display_input_find() + * ecore-wl2: add ecore_wl2_display_name_get() + * elm_cnp: add event for selection change + * elm_cnp: add elm_cnp_clipboard_selection_has_owner() + * elm_win: add elm_win_get() + * ecore-wl2: add ecore_wl2_display_input_find_by_name() + * ecore-wl2: add ecore_wl2_window_activated_get() + * ecore-wl2: add ecore_wl2_window_popup_input_set() + * evas: add evas_device_get_by_seat_id() + * edje: Implement EO API for message_send + * evas: Add children_iterate to Efl.Input.Device + * evas/elm: Add Efl.Image.image_size read-only property + * elput: group tablet input devices into pointer devices + * elput: add initial input tablet support + * ecore-wl2: implement compose keys (T5006) + * elput: implement compose sequences (T5006) + * wayland/drm: create evas_devices and add device pointer to input events + * Efl text: add Font, Format and Style interfaces + * Canvas text: implement Font, Format and Style interfaces + * edje: Add recursive flag for message_signal_process + * eolian: add new unit API + * Efl.Ui.Image.Zoomable: implement Ui.Image.icon property + * ecore-wl2: Add event for output transformation + * ecore-wl2: Add API function to find an output for given window + * ecore-wl2: Add API function to return an output transformation + * ecore-wl2: Add API function to set surface buffer transform + * evas_map: support map with number of points as multiples of 4 + * efl.gfx.map: support for map points as multiples of 4 + * elput: Add API function to swap dx & dy axis from pointer motion event + * ecore-drm2: Add API function to set pointer rotation + * Efl.Ui.Image.Zoomable: make zoomable to work with edj file + * ecore-wl2: Add API function to set if wm rotation is supported + * ecore-wl2: Add API to get if window manager rotation is supported + * ecore-wl2: Add API to set if an application has rotation a window + * ecore-wl2: Add API to get if an application has set window rotation + * ecore-wl2: Add API to set window preferred rotation + * ecore-wl2: Add API to return a windows preferred rotation + * ecore-wl2: Add API to set window available rotations + * ecore-wl2: Add API to return window available rotations + * ecore-wl2: Add API and event for window rotation change prepare + * ecore-wl2: Add API and Event for window rotation change prepare done + * ecore-wl2: Add API and Event for window rotation change request + * ecore-wl2: Add API and Event for window rotation change done + * ecore-wl2: Add event type for window rotate events + * ecore-evas-wl: Add support for Window Manager rotations + * efl_input_device: add
[EGIT] [core/efl] master 01/04: tests : eolain: make sure all the needed files for land in dist
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a774fd93b6c8e984deafb45fa13abf38db0a0ffa commit a774fd93b6c8e984deafb45fa13abf38db0a0ffa Author: Stefan SchmidtDate: Wed Jun 28 18:16:11 2017 +0200 tests : eolain: make sure all the needed files for land in dist All kind of test files for the function pointer test in eolian have been missing in dist and thus failed distcheck. --- src/Makefile_Eolian.am | 6 ++ 1 file changed, 6 insertions(+) diff --git a/src/Makefile_Eolian.am b/src/Makefile_Eolian.am index 1a85c15118..09fa4d7085 100644 --- a/src/Makefile_Eolian.am +++ b/src/Makefile_Eolian.am @@ -94,6 +94,8 @@ tests/eolian/data/no_nmsp.eo \ tests/eolian/data/import.eo \ tests/eolian/data/decl.eo \ tests/eolian/data/docs.eo \ +tests/eolian/data/function_types.eot \ +tests/eolian/data/function_as_argument.eo \ tests/eolian/data/import_types.eot EOLIAN_TESTS_EOS_GENERATED = \ @@ -144,5 +146,9 @@ tests/eolian/data/class_simple_ref_legacy.h \ tests/eolian/data/import_types_ref.h \ tests/eolian/data/docs_ref.h \ tests/eolian/data/docs_ref_legacy.h \ +tests/eolian/data/function_types_ref.h \ +tests/eolian/data/function_as_argument_impl_ref.c \ +tests/eolian/data/function_as_argument_ref.c \ +tests/eolian/data/function_as_argument_ref.h \ tests/eolian/generated_future.eo \ $(EOLIAN_TESTS_EOS) --
[EGIT] [core/efl] master 03/04: build: split of BUILT_SOURCES cleanup from CLEANFILES
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a8d41831d7ed44ad92725f6cf0c51935e15ae652 commit a8d41831d7ed44ad92725f6cf0c51935e15ae652 Author: Stefan SchmidtDate: Thu Jun 29 11:37:29 2017 +0200 build: split of BUILT_SOURCES cleanup from CLEANFILES This was another instance of the arguments list to long problem when the file list of CLEANFILES got to long. During distclean the cleanup failed and left tons of files sitting around. We rm these files in our own local clean rule now. --- src/Makefile.am | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index 3231cd9266..48b00273b7 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -96,9 +96,6 @@ endif include Makefile_Eolian_Js.am include Makefile_Efl_Js.am -# Make sure all generated files getting cleaned up -CLEANFILES += $(BUILT_SOURCES) - .PHONY: benchmark examples BENCHMARK_SUBDIRS = \ @@ -186,6 +183,7 @@ clean-local: find . -type f -name check-results.xml -delete rm -f $(GENERATED_JS_BINDINGS) rm -f $(GENERATED_LUA_BINDINGS) + rm -f $(BUILT_SOURCES) install-exec-hook: $(MKDIR_P) $(DESTDIR)$(libdir) --
Re: [E-devel] Elm_Entry assuming markup input???
Hi, Just to wrap this thread up following EDD: * no-one is proposing that we remove the ability to mark up text through the markup format mechanism, it is a great feature * we cannot make changes to this legacy API as apps depend on it or have adapted to it * the new textblock API, which is currently plain text only is being extended with a solid markup API * The existing markup format will be supported through _markup_text_set or similar API leaving text_set/get to be plain text only It was beileved that this would satisfy all requirements whilst removing any confusion about the nature of text encoding when using plain text. This allows us to take a path-of-least-surprise approach for the new Eo based text APIs Thanks everyone for the discussion :) Andy On Sat, 24 Jun 2017 at 05:39 Carsten Haitzlerwrote: > On Fri, 23 Jun 2017 21:55:14 +0200 Davide Andreoli > > said: > > > 2017-06-19 13:36 GMT+02:00 Daniel Hirt : > > > Hi, > > > > > > On Mon, Jun 19, 2017 at 12:01 PM, Andrew Williams < > a...@andywilliams.me> > > > wrote: > > > > > >> Hi, > > >> > > >> Looking at the tests you point me at - selection (and the past) is a > > plain > > >> text copy with the markup stripped - exactly what I would expect for > > >> text_get - but the current content transformed with the helper will > not > > get > > >> you there - there is no built in interpretation of formatting - just > > >> rendered understands it. > > >> > > >> > > > "elm_entry_selection_get" returns the text in markup format. The test > > prints > > > both types one after another (markup followed by plaintext) using > > > "elm_entry_markup_to_utf8". > > > It is essential for copy & paste of markup text between two entry > clients, > > > so the pasted formatting is kept. > > > > > > > > >> Overall the implementation feels wrong - supporting markup is great > but > > >> returning it inline in text_get feels like we are imposing internal > > choices > > >> on other devs. > > >> > > >> I note that the code considers format but only when interacting with > > files > > >> - so I can have plain text files but not plain text input. > > >> > > >> > > > Right, it's a feature so you can load plain files. You specify the > format > > > you > > > want to load (plaintext or markup). But, after the file is loaded, it's > > > discarded. > > > > > > It's important to point out that because there's an actual > representation > > > (markup), it's costly to store both plaintext and markup content in the > > > object. > > > Asking you to convert using "markup_to_utf8" is understandable, as it > what > > > we would actually do internally if we were to add API to get the text > in > > > plaintext. It's only one function call away, and it's easier than just > add > > > more > > > API to the widget. No need for a new function if there's a way to do > this > > > already. > > > > > > > > >> Lastly the documentation clearly discussed markup capability but it > > *never* > > >> discusses encoding and there is no explicit mention that your text > will > > be > > >> transformed after text_set. If it were then it should be symmetrically > > >> transformed back on text_get - path of least surprise. > > >> > > >> > > > Actually, it is not transformed on "text_set". You are expected to > enter a > > > markup-compatible text. Otherwise you will have the mentioned special > > > characters (like "<") misinterpreted as markup. You can try with > > > "elm_object_text_set" on an entry widget. > > > > > > > > >> I don't quite understand why we would build formatting in as > mandatory, > > >> functionality is great but it should be possible to turn it off. > > >> > > >> I agree that people complain when markup is not supported in a widget > but > > >> that is the expectation we have set - consistency is very important > > indeed > > >> and I think we don't have it in this regard. > > >> > > >> Additionally I think the markup_to_utf8 methods are peculiarly named - > > they > > >> do no character encoding so the usage of utf8 is probably incorrect... > > >> > > > > > > They're correct. UTF-8 is the standard plaintext encoding. We support > > UTF-8, > > > and provide converters for your convenience. You probably won't need > those > > > most > > > of the time. > > > Your plaintext is always "encoded", but you probably won't notice that > > > because > > > it's backward-compatible with US ASCII (1-byte per character). > > > > > > > > >> > > >> Andrew > > >> > > >> > > > Lastly, I would like to mention "Efl.Ui.Text" - this new widget is a > part > > > of a > > > rework of the Textblock object. It's in BETA stage. > > > It does what you require: all text input is expected to be plaintext. > > > There's no > > > "markup" logic in it. Instead, you format your text by setting ranges > and > > > calling > > > functions to apply formatting. Again, markup does not exist in this > > object, > > > > What? no more markup support?
[EGIT] [core/efl] master 01/02: efl/interface: emit path change event when stroke width change.
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=cf927cdb3414f6b2d3d056cccb98d2313dba228c commit cf927cdb3414f6b2d3d056cccb98d2313dba228c Author: smohantyDate: Thu Jun 29 17:27:37 2017 +0900 efl/interface: emit path change event when stroke width change. Reviewers: jpeg Subscribers: cedric, jpeg Differential Revision: https://phab.enlightenment.org/D4991 --- src/lib/efl/interfaces/efl_gfx_shape.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lib/efl/interfaces/efl_gfx_shape.c b/src/lib/efl/interfaces/efl_gfx_shape.c index 203ca4d0dc..922f6b9226 100644 --- a/src/lib/efl/interfaces/efl_gfx_shape.c +++ b/src/lib/efl/interfaces/efl_gfx_shape.c @@ -157,10 +157,11 @@ _efl_gfx_shape_stroke_color_get(Eo *obj EINA_UNUSED, Efl_Gfx_Shape_Data *pd, } static void -_efl_gfx_shape_stroke_width_set(Eo *obj EINA_UNUSED, Efl_Gfx_Shape_Data *pd, -double w) +_efl_gfx_shape_stroke_width_set(Eo *obj, Efl_Gfx_Shape_Data *pd, double w) { pd->public.stroke.width = w; + efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, NULL); + efl_event_callback_legacy_call(obj, EFL_GFX_EVENT_CHANGED, NULL); } static double --
[EGIT] [core/efl] master 02/02: evas/vg: rewrite the vg example with more test cases
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4650a62e85db6fbe84e07ca4b4304450cd5f47ba commit 4650a62e85db6fbe84e07ca4b4304450cd5f47ba Author: smohantyDate: Thu Jun 29 17:20:45 2017 +0900 evas/vg: rewrite the vg example with more test cases basic shape, stroke, transformation, interpolation test cases added Reviewers: jpeg Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D4992 --- src/examples/evas/evas-vg-simple.c | 610 ++--- 1 file changed, 425 insertions(+), 185 deletions(-) diff --git a/src/examples/evas/evas-vg-simple.c b/src/examples/evas/evas-vg-simple.c index 4bcdd970b2..30eed1edac 100644 --- a/src/examples/evas/evas-vg-simple.c +++ b/src/examples/evas/evas-vg-simple.c @@ -15,8 +15,8 @@ #define PACKAGE_EXAMPLES_DIR "." #endif -#define WIDTH 400 -#define HEIGHT 400 +#define WIDTH 600 +#define HEIGHT 600 #ifndef EFL_BETA_API_SUPPORT #define EFL_BETA_API_SUPPORT @@ -26,8 +26,6 @@ #define EFL_EO_API_SUPPORT #endif -#include - #include #include #include @@ -35,28 +33,58 @@ #include #include -#define PATH_KAPPA 0.5522847498 -#define PI 3.1415926535 - -static Efl_VG *beginning = NULL; -static Efl_VG *end = NULL; -static Efl_VG *root = NULL; -static double start_time = 0; -static Ecore_Animator *anim = NULL; - struct example_data { Ecore_Evas *ee; Evas*evas; Evas_Object *bg; Evas_Object *vg; + Eina_List *shape_list; + }; static struct example_data d; +Ecore_Animator *animator; +static const char *batman = "M 256,213 C 245,181 206,187 234,262 147,181 169,71.2 233,18 220,56 235,81 283,88 285,78.7 286,69.3 288,60 289,61.3 290,62.7 291,64 291,64 297,63 300,63 303,63 309,64 309,64 310,62.7 311,61.3 312,60 314,69.3 315,78.7 317,88 365,82 380,56 367,18 431,71 453,181 366,262 394,187 356,181 344,213 328,185 309,184 300,284 291,184 272,185 256,213 Z"; + +static const char *morph1[2] = {"M 0,0 L 0,0 L 100,0 L 100,0 L 100,100 L 100,100 L 0,100 L 0,100 L 0,0", +"M 0,0 L 50,-80 L 100,0 L 180,50 L 100,100 L 50,180 L 0,100 L -80,50 L 0,0"}; + +static void _main_menu(); +static void _main_menu_key_handle(void *data, Evas *evas, Evas_Object *o, void *einfo); + +static const char *main_menu = \ + "Main Menu:\n" + "\t1 - Basic Shape test\n" + "\t2 - Interpolation\n" + "\te - Exit\n" + "\th - print help\n"; + +static const char *basic_shape_menu = \ + "Basic Shape Menu:\n" + "\tup - Increase Stroke Width by 0.5\n" + "\tdown - Decrease Stroke Width by 0.5\n" + "\tr- +10 degree rotation\n" + "\tR- -10 degree rotation\n" + "\ts- +(.1, .1) scale\n" + "\tS- -(.1, .1) scale\n" + "\tt- +(10,10) translation\n" + "\tT- +(10,10) translation\n" + "\td- Reset path data\n" + "\te- Exit\n" + "\tb- Back to Main Menu\n" + "\th- print help\n"; + +static const char *interpolation_menu = \ + "Interpolation Menu:\n" + "\te- Exit\n" + "\tb- Back to Main Menu\n" + "\th- print help\n"; static void _on_delete(Ecore_Evas *ee EINA_UNUSED) { + if (animator) ecore_animator_del(animator); ecore_main_loop_quit(); } @@ -71,193 +99,414 @@ _canvas_resize_cb(Ecore_Evas *ee) } static void -vector_set(int x, int y, int w, int h) +reset_test() { - int vg_w = w, vg_h = h; - Efl_VG *root_node, *tmp_vg; + if(d.vg) evas_object_del(d.vg); + d.shape_list = eina_list_free(d.shape_list); - //Create VG Object - Evas_Object *tmp = evas_object_rectangle_add(d.evas); - evas_object_resize(tmp, vg_w, vg_h); - evas_object_color_set(tmp, 100, 100, 50, 100); - evas_object_move(tmp, x,y); - evas_object_show(tmp); - d.vg = evas_object_vg_add(d.evas); - evas_object_resize(d.vg, vg_w, vg_h); - evas_object_move(d.vg, x,y); - evas_object_show(d.vg); - evas_object_clip_set(d.vg, tmp); - - // Applying map on the evas_object_vg -// Evas_Map *m = evas_map_new(4); -// evas_map_smooth_set(m, EINA_TRUE); -// evas_map_util_points_populate_from_object_full(m, d.vg, 0); -// evas_map_util_rotate(m, 10, 0,0); -// evas_object_map_enable_set(d.vg, EINA_TRUE); -// evas_object_map_set(d.vg, m); - - // apply some transformation - double radian = 30.0 * 2 * 3.141 / 360.0; - Eina_Matrix3 matrix; - eina_matrix3_identity(); - eina_matrix3_rotate(, radian); - - root = efl_add(EFL_VG_CONTAINER_CLASS, NULL); - //evas_vg_node_transformation_set(root, ); - - Efl_VG *bg = efl_add(EFL_VG_SHAPE_CLASS, root, efl_vg_name_set(efl_added, "bg")); - evas_vg_shape_append_rect(bg, 0, 0 , vg_w, vg_h, 0, 0); - evas_vg_node_origin_set(bg, 0,0); - evas_vg_shape_stroke_width_set(bg, 1.0); - evas_vg_node_color_set(bg, 80, 80, 80, 80); - - Efl_VG *shape = efl_add(EFL_VG_SHAPE_CLASS, root, efl_vg_name_set(efl_added, "shape")); - Efl_VG *rgradient =
[EGIT] [core/efl] master 01/02: els_tooltip: Remove infinite job calls
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=ba91b00aa8a957c9a48b1bcfd85cf34e1f3dfdae commit ba91b00aa8a957c9a48b1bcfd85cf34e1f3dfdae Author: Jaehyun ChoDate: Thu Jun 29 16:12:37 2017 +0900 els_tooltip: Remove infinite job calls Summary: When tooltip or content size is 0, tooltip reconfigure job is called infinitely. This patch removes the infinite job calls. Test Plan: See following patch, test case "Tooltip" -> "Tooltip with no min size" Reviewers: zmike Subscribers: cedric, jpeg Differential Revision: https://phab.enlightenment.org/D4982 --- src/lib/elementary/els_tooltip.c | 11 --- 1 file changed, 11 deletions(-) diff --git a/src/lib/elementary/els_tooltip.c b/src/lib/elementary/els_tooltip.c index 89febf6647..0fc32d663b 100644 --- a/src/lib/elementary/els_tooltip.c +++ b/src/lib/elementary/els_tooltip.c @@ -518,17 +518,6 @@ _elm_tooltip_reconfigure(Elm_Tooltip *tt) if (eminw && (ominw < eminw)) ominw = eminw; if (eminh && (ominh < eminh)) ominh = eminh; - if ((ominw < 1) || (ominh < 1)) - { -evas_object_move(tt->tt_win ? : tt->tooltip, -, -); -evas_object_resize(tt->tt_win ? : tt->tooltip, 1, 1); -TTDBG("FAKE: tx=%d,ty=%d,tw=%d,th=%d\n", -, -, 1, 1); -evas_object_show(tt->tooltip); -if (tt->tt_win) evas_object_show(tt->tt_win); -_elm_tooltip_reconfigure_job_start(tt); -return; - } - edje_object_size_min_restricted_calc(tt->tooltip, , , ominw, ominh); TTDBG("TTSIZE: tw=%d,th=%d,ominw=%d,ominh=%d\n", tw, th, ominw, ominh); --
[EGIT] [core/efl] master 02/02: elm_test: Add test edc for tooltip with no min size
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=dd04248bb8f11076c00bc59d8d138c002bd5ae8a commit dd04248bb8f11076c00bc59d8d138c002bd5ae8a Author: Jean-Philippe AndreDate: Thu Jun 29 17:11:00 2017 +0900 elm_test: Add test edc for tooltip with no min size See 283afce3c8acd902d4708ab491b6192f1665dd77 Test case name: Tooltip -> "Tooltip with no min size" --- data/Makefile.am | 10 +++- data/elementary/objects/Makefile.am | 1 + data/elementary/objects/test_tooltip.edc | 41 src/bin/elementary/test_tooltip.c| 21 +--- 4 files changed, 69 insertions(+), 4 deletions(-) diff --git a/data/Makefile.am b/data/Makefile.am index db5822f260..82b221acc0 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -218,7 +218,10 @@ elementary/objects/postit_ent.edj \ elementary/objects/multibuttonentry.edj \ elementary/objects/test_prefs.edj \ elementary/objects/test_prefs.epb \ -elementary/objects/test_focus_style.edj +elementary/objects/test_focus_style.edj \ +elementary/objects/test_tooltip.edj \ +$(NULL) + CLEANFILES += $(elementaryobjects_DATA) include elementary/objects/Makefile.am @@ -273,6 +276,11 @@ elementary/objects/test_focus_style.edj: elementary/objects/test_focus_style.edc $(MKDIR_P) elementary/objects/; \ $(EDJE_CC) $(EDJE_CC_FLAGS) -id $(top_srcdir)/data/elementary/themes/img $< $@ +elementary/objects/test_tooltip.edj: elementary/objects/test_tooltip.edc + $(AM_V_EDJ) \ + $(MKDIR_P) elementary/objects/; \ + $(EDJE_CC) $(EDJE_CC_FLAGS) -id $(top_srcdir)/data/elementary/themes/img $< $@ + elementary/objects/test_prefs.epb: elementary/objects/test_prefs.epc $(AM_V_EPB) \ $(MKDIR_P) elementary/objects/; \ diff --git a/data/elementary/objects/Makefile.am b/data/elementary/objects/Makefile.am index e5de55cc66..1c98813325 100644 --- a/data/elementary/objects/Makefile.am +++ b/data/elementary/objects/Makefile.am @@ -12,6 +12,7 @@ elementary/objects/font_preview.edc \ elementary/objects/postit_ent.edc \ elementary/objects/multibuttonentry.edc \ elementary/objects/test_focus_style.edc \ +elementary/objects/test_tooltip.edc \ elementary/objects/over.png \ elementary/objects/under.png \ elementary/objects/sky.jpg \ diff --git a/data/elementary/objects/test_tooltip.edc b/data/elementary/objects/test_tooltip.edc new file mode 100644 index 00..976996f506 --- /dev/null +++ b/data/elementary/objects/test_tooltip.edc @@ -0,0 +1,41 @@ +collections { + group { "elm/tooltip/base/nomin"; + /* Copied from default theme */ + data.item: "pad_x" "10"; + data.item: "pad_y" "10"; + data.item: "pad_border_x" "1"; + data.item: "pad_border_y" "1"; + data.item: "hide_timeout" "0.35"; + data.item: "transparent" "enabled"; + parts { + rect { "base"; +desc { ""; + color: 32 32 32 255; +} + } + rect { "outside"; +desc { ""; + rel1.offset: -60 -20; + rel2.offset: 59 19; + color: 32 64 96 128; +} + } + text { "info"; +desc { ""; + text { + font: "Sans"; + size: 10; + text: "No Min Size"; + } + rel1.offset: -60 -20; + rel2.offset: 59 19; + color: 255 255 255 255; +} + } + swallow { "elm.swallow.content"; +desc { ""; +} + } + } + } +} diff --git a/src/bin/elementary/test_tooltip.c b/src/bin/elementary/test_tooltip.c index e105b1ef65..b93ffcc2a6 100644 --- a/src/bin/elementary/test_tooltip.c +++ b/src/bin/elementary/test_tooltip.c @@ -341,6 +341,18 @@ _tt_text_replace_timed(void *data EINA_UNUSED, } static Evas_Object * +_no_min_tt_icon(void *data EINA_UNUSED, +Evas_Object *obj EINA_UNUSED, +Evas_Object *tt) +{ + Evas_Object *box = elm_box_add(tt); + evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(box); + + return box; +} + +static Evas_Object * _tt_icon(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, Evas_Object *tt) @@ -538,10 +550,13 @@ test_tooltip(void *data EINA_UNUSED, evas_object_event_callback_add(bt, EVAS_CALLBACK_DEL, _tt_timer_del, NULL); + /* Add no min size tooltip style */ + elm_theme_extension_add(NULL, eina_slstr_printf("%s/objects/test_tooltip.edj", elm_app_data_dir_get())); + bt = elm_button_add(win); - elm_object_text_set(bt, "Icon tooltip"); - elm_object_tooltip_content_cb_set(bt, _tt_icon, (void *)123L, - _tt_icon_del); + elm_object_text_set(bt, "Tooltip with no min size"); +
[EGIT] [core/efl] master 01/03: gl_drm: Fix a few compilation warnings
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1ef1c04f421736bfed5a5d9d22b1a6be21e65812 commit 1ef1c04f421736bfed5a5d9d22b1a6be21e65812 Author: Jean-Philippe AndreDate: Thu Jun 29 13:42:21 2017 +0900 gl_drm: Fix a few compilation warnings warning: expression which evaluates to zero treated as a null pointer constant of type 'void *' [-Wnon-literal-null-conversion] --- src/modules/evas/engines/gl_drm/evas_engine.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/modules/evas/engines/gl_drm/evas_engine.c b/src/modules/evas/engines/gl_drm/evas_engine.c index 2e0fea8868..b1083a18aa 100644 --- a/src/modules/evas/engines/gl_drm/evas_engine.c +++ b/src/modules/evas/engines/gl_drm/evas_engine.c @@ -784,13 +784,13 @@ eng_image_plane_assign(void *data, void *image, int x, int y) Ecore_Drm2_Plane *plane = NULL; struct scanout_handle *g; - EINA_SAFETY_ON_NULL_RETURN_VAL(image, EINA_FALSE); + EINA_SAFETY_ON_NULL_RETURN_VAL(image, NULL); re = (Render_Engine *)data; - EINA_SAFETY_ON_NULL_RETURN_VAL(re, EINA_FALSE); + EINA_SAFETY_ON_NULL_RETURN_VAL(re, NULL); ob = eng_get_ob(re); - EINA_SAFETY_ON_NULL_RETURN_VAL(ob, EINA_FALSE); + EINA_SAFETY_ON_NULL_RETURN_VAL(ob, NULL); img = image; n = img->native.data; --
[EGIT] [core/efl] master 03/03: evas: Fix compilation warnings
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=505aca0e42f3d3bb9a3afc8d78b03ed43d97ee6f commit 505aca0e42f3d3bb9a3afc8d78b03ed43d97ee6f Author: Jean-Philippe AndreDate: Thu Jun 29 13:52:13 2017 +0900 evas: Fix compilation warnings See 7365c087c7feb218881fb8de9e371312bf1421cc Shadow variable. --- src/lib/evas/canvas/evas_render.c | 18 +- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/lib/evas/canvas/evas_render.c b/src/lib/evas/canvas/evas_render.c index e02ee0d5ef..b994aa29cd 100644 --- a/src/lib/evas/canvas/evas_render.c +++ b/src/lib/evas/canvas/evas_render.c @@ -3166,22 +3166,22 @@ evas_render_updates_internal(Evas *eo_e, if (ENFN->image_plane_assign) EINA_INARRAY_FOREACH(>active_objects, ao) { - Evas_Object_Protected_Data *obj; - Evas_Object *eo_obj; + Evas_Object_Protected_Data *obj2; + Evas_Object *eo_obj2; - obj = ao->obj; - eo_obj = obj->object; + obj2 = ao->obj; + eo_obj2 = obj2->object; - if (!efl_isa(eo_obj, EFL_CANVAS_IMAGE_INTERNAL_CLASS)) continue; + if (!efl_isa(eo_obj2, EFL_CANVAS_IMAGE_INTERNAL_CLASS)) continue; - if (evas_object_image_video_surface_get(eo_obj)) continue; + if (evas_object_image_video_surface_get(eo_obj2)) continue; - _evas_object_image_plane_release(eo_obj, obj); - if (!_evas_render_can_use_overlay(e, eo_obj)) + _evas_object_image_plane_release(eo_obj2, obj2); + if (!_evas_render_can_use_overlay(e, eo_obj2)) { /* This may free up things temporarily allocated by * _can_use_overlay() testing in the engine */ - _evas_object_image_plane_release(eo_obj, obj); + _evas_object_image_plane_release(eo_obj2, obj2); } } --
[EGIT] [core/efl] master 02/03: elm_code: Fix a compilation warning
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=65644d074e1f7b87bece5860014df6d782e5aafd commit 65644d074e1f7b87bece5860014df6d782e5aafd Author: Jean-Philippe AndreDate: Thu Jun 29 13:42:35 2017 +0900 elm_code: Fix a compilation warning warning: expression result unused; should this cast be to 'void'? [-Wunused-value] --- src/lib/elementary/elm_code_widget_selection.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elementary/elm_code_widget_selection.c b/src/lib/elementary/elm_code_widget_selection.c index 441bf9b3fe..5c5c1b7dbc 100644 --- a/src/lib/elementary/elm_code_widget_selection.c +++ b/src/lib/elementary/elm_code_widget_selection.c @@ -100,7 +100,7 @@ elm_code_widget_selection_select_all(Evas_Object *widget) elm_code_widget_selection_start(widget, 1, 1); int maxrow = elm_code_file_lines_get(pd->code->file); last_line = elm_code_file_line_get(pd->code->file, elm_code_file_lines_get(pd->code->file)); - (void*) elm_code_line_text_get(last_line, _length); + elm_code_line_text_get(last_line, _length); last_col = elm_code_widget_line_text_column_width_to_position(widget, last_line, last_length); elm_code_widget_selection_end(widget, maxrow, last_col); --
Re: [E-devel] EFL Profiling Viewer Released!
On Fri, 23 Jun 2017 17:11:52 +0300 Mykyta Biliavskyisaid: Well the page is brilliant.. the images/gifs you have... fantastic. i tried it on an older log file i had and it segfaulted :( it seems i now no longer know how to even produce evlog files now given jackdanielz changes... i have to figure this out now again... you and jackdanielz need to work together ... i think this should go into clouseau (with log begin/end controls, dynamic update as logs come in and then the ability to inspect older logs...). and other than the above... this is BLOODY BRILLIANT. fantastic! like super duper amazing fantastic! i haven't looked how you do the cpu freq bars (i was using rects... basically but i found they really did slow things down... so i was tossing up doing just image objects with custom generated ARGB pixel data). this is just simply FANTASTIC stuff. i was planning on coming back and adding per-frame/window update region info (and display it visually). what i had not decided on was how to capture the image of the window/frame each fram and display it nicely... that would make debugging simply amazing to have a thumbnail or even full image/frame capture per frame as well as everything. you could see what did and didn't draw that frame (did it overdraw? why? what triggered that change?). ... go back and inspect "error frames" that you saw a glitch in but couldn't catch it easily... i hadn't decided on how to do this with evlog yet... but it'd likely have been a new kind of evlog "blob" with arbitrary binary data in it not just strings. truly awesome work here... nice! > Hello all! > > I am glad to announce that EFL Profiling Viewer is published at > enlightenment repos. > This project inspired by Raster evlog tool. > And done as Oleksii Piskun internship project. > > Description could be find here: > https://phab.enlightenment.org/w/projects/efl_profiling_viewer/ > (Please help to place link into Application section on the phriction > main page) > > Source code available here: > https://git.enlightenment.org/devs/nikawhite/efl_profiler_viewer.git/ > > Project and dashboards for ideas and bugs locates here: > https://phab.enlightenment.org/project/profile/151/ > > Thanks for your feedbacks and support. > > NikaWhite > > -- > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > ___ > 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" -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel