Summary:
For basic types, this will make it easier to pass Eina.Values into
functions, without requiring to setup and later Set() or Get() calls.
As discussed on irc, this seems to be a better way to improve the Value
C# API than using method chaining.
Fixes T7388
Test Plan: run tests
Reviewers: segfaultxavi, felipealmeida
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7388
Differential Revision: https://phab.enlightenment.org/D7526
Summary:
Event wrappers have a comment saying:
///<summary>Event argument wrapper for event XxxEvt</summary>"
This patch simply adds a link to that comment:
///<summary>Event argument wrapper for event <see cref="Fully.Qualified.XxxEvt"/></summary>"
Test Plan: Generate the C# files and enjoy fully-linked doc comments for event wrappers.
Reviewers: lauromoura
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7525
Cleaned up the case when null parent is coming.
and found out efl_data_scope_get() could return invalid data
when invalid CLASS type is given. it's handled as well.
Summary:
Here is an additional optmization patch for removing
unnecessary updation of path,
For instance, let's assume this scenario:
If one vg object has 20 path nodes(shapes),
and every single nodes would have 50 path changes.
(like, append_cubic, append_rect, append_xxx ...);
There would 1000 events triggering.
Furthermore, if there are 20 vector objects in one view,
hese events would be triggered 20000 in one frame.
It's insane, actually I could figured out that happens.
and it took a lot of cpu consumption in some vector usages.
efl_gfx_path_commit() is my idea to avoid this.
When path is ready, the path need to get this api call in the last
to make object changed properly.
@feature
Reviewers: #committers, cedric
Reviewed By: #committers, cedric
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7494
i was comparing the bindir results of aurtofoo vs meson and some
things were missing/poking out at me. this makes them be in sync -
install the ewl_wl+test obnaries, ensure to chmod +x+r etc. scritps
AND install them
commit 9b5155c9f1 brought about crashes
- specifically that i saw in terminology because it actually uses
eina_promise_data_set() and the new efl_loop_promise_new basically
took over ownership of that data, but if anyone used
eina_promise_data_set() the data ptr used by this new code would bwe
overwritten, causing segfauls when terminology loses selection
ownership. for days i had mysterious crashes of terminology until i
narrowed it down to the above, so if you have too, then this will fix
it.
what this does is create a data set intercept function callback that
for now is only for use inside efl to everride data sets so they set
data inside the new struct that tracks data. i also had to add and
intercept for eina_promise_data_free_cb_set() as this in theory could
also ber a similar problem.
so perhaps the idea/design of efl_loop_promise_new() is not right and
this kind of thgn has to be internal to eina promise... this means
eina promise and loops are much more tied together.
Summary:
Unlikely efl.ui.Layout, Item need to be focusable,
so it may traverse list by your command of focus moving.
Test Plan:
tested in
efl_ui_list_example_1.c
efl_ui_grid_example_1.c
check whether item show their focus properly.
scroll feature is not yet supported by efl_ui_scroll itself.
Reviewers: eagleeye, cedric, Hermet, felipealmeida, bu5hm4n
Reviewed By: bu5hm4n
Subscribers: bu5hm4n, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7465
there are the 3 files in ecore. However, they have not been tested,
there are additionally no examples at all, which did not bring up the
missing API calls, now they are here.
Note: they are compiling, however, it seems that it is not working right
now.
This reverts commit 9b5155c9f1.
For now lets revert this, this breaks copy and paste, further more it
has the potential to break a lot more things, as eio_model tends to use
efl_loop_promise new, and then eina_promise_data_set, which is
explicitly forbidden.
This fixes crashing terminology instances.
Summary:
assumtion: textblock A has the clipper rect B.
1. evas_render_updates_internal start
: evas_object_clip_dirty_do( rect B)
: evas_object_textblock_render_pre( textblock A)
- if textlock A's o->redraw is EINA_TRUE (o->changed=1 is also same case)
- textblock A's vis 1->0
- clipper rect B lose the chance to call render_pre function.
- clipper rect B's evas_render_mapped function is not called
: pending_change(Rect B)
- obj->pre_render_done = 0, so rect cannot be get the change to call evas_object_change_reset
when rect b remained the pending list and changed value is EINA_TRUE, it cause textblock's rendering problem
Reviewers: raster, Hermet, kimcinoo
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7512
Summary:
Here is an additional optmization patch for removing
unnecessary updation of path,
For instance, let's assume this scenario:
If one vg object has 20 path nodes(shapes),
and every single nodes would have 50 path changes.
(like, append_cubic, append_rect, append_xxx ...);
There would 1000 events triggering.
Furthermore, if there are 20 vector objects in one view,
hese events would be triggered 20000 in one frame.
It's insane, actually I could figured out that happens.
and it took a lot of cpu consumption in some vector usages.
efl_gfx_path_commit() is my idea to avoid this.
When path is ready, the path need to get this api call in the last
to make object changed properly.
@feature
Reviewers: #committers, cedric
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7494
Summary:
This method reserves path commands buffer in advance.
If user know the count of path commands coming,
they can reserve commands buffer in advance to avoid buffer growing job.
This reserved buffer would grow up by double size, if the buffer is full.
@feature
Reviewers: #committers, cedric
Reviewed By: #committers, cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7456
Summary:
Some EO docs include () after a @method reference (some don't).
When the method reference is redered by DocFX it already includes
the trailing parenthese (and it even includes the parameter types),
so it looks very weird: Efl.Gfx.Stack.Raise()()
This patch removes the "()" string from any text comment following
an @ reference.
Test Plan:
Check DocFX docs for Efl.Gfx.Stack.Lower before and after this patch.
There are references to other methods which include the double parentheses.
Reviewers: lauromoura
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7504
Summary:
Use the getter or the setter documentation when a property has no documentation.
This is not ideal (all properties should have documentation!) but at least we
have less undocumented properties.
See for example Efl.Canvas.Vg.Above.
Test Plan:
The Efl.Canvas.Vg.Above property in src/lib/evas/canvas/efl_canvas_vg_node.eo.cs
was previously undocumented because that property (inherited from Efl.Gfx.Stack)
has no docs, only its getter has docs.
Reviewers: lauromoura
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7500
Summary:
This allows them to be nicely rendered by IDEs and automatic
documentation generators like DocFX.
The conversion includes things like turning $name to <c>name</c>
or solving references to objects, which in turn requires converting
from EO object names to C# names.
It uses the same helper methods used to generate the C# object names,
so if these change in the future, the references in the comments
will change too.
Additionally, this patch fixes some minor bugs, like <para> tags
outside <summary> tags, misspelled <returns> tags or missing <returns>
documentation for getter methods.
Fixes T7453
Reviewers: lauromoura, vitor.sousa
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7453
Differential Revision: https://phab.enlightenment.org/D7467
I am not sure this is the right way to do it as binding would have to likely
to bind it manually.
Reviewed-by: Lauro Neto <Lauro Moura <lauromoura@expertisesolutions.com.br>>
Differential Revision: https://phab.enlightenment.org/D7492
This build was never complete and also was not maintained probebly.
It is also dropped in favour of meson which is cool, merged, works & is fast.
Differential Revision: https://phab.enlightenment.org/D7010
the ecore wl2.pc wanted to -lwayland_protocol ... which is never
installed. it's an in-tree .a we stattically link in, so remove it
from the pub libs in the pc. rthis was causing things that build
against efl to fail (like enlightenment).
what happens was is that efl_model_children_count_get trigger the
monitoring to start. However, that means that *sometimes* the created
file in this test was sometimes called in a ADDED event due to the
listing of files, and sometimes due to the event of a newly added file.
The problem here is that when the ADDED event is added due to the file
listing and not the monitoring, then there *could* be a ADDED event and
the deletion of the file will not trigger a REMOVED event. Which is a
bug.
However, up to this point it is not fully clear to me if this is
solvable with this setup of monitoring or not. So this test is changed
to not trigger this deadlock anymore, the idea of the test is still
tested, just in another way.
ref T7478
Differential Revision: https://phab.enlightenment.org/D7412
This brings in the possibility to receive the app object from bindings.
With the app object you can listen to pause / args / terminate / resume
events.
fix T7509
Differential Revision: https://phab.enlightenment.org/D7480
Summary:
they are not implemented - so using them would not work, to me it looks
like they can be dropped.
Reviewers: cedric, raster, stefan_schmidt, Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7455
Summary:
In commit 98b716d0fa the new file was
added but the autotools build system not made aware that it is needed in
dist as well. The missing file broke the eolian_cxx tes suite build in
distcheck.
Depends on D7477
Reviewers: lauromoura, q66
Reviewed By: q66
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7478
Summary:
Due to our EXTRA_DIST2 crutch we need to handle the directory creation
on our won here. That was forgotten for the new data_aux folder in the
eolian tests. Creating it allows the files to be copied over and the
eolain seuite to pass in distcheck.
Reviewers: q66
Reviewed By: q66
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7477
Dectected huge amount of unnecessray internal events triggering
which were signaled via vg nodes.
By events, nodes were connected with each others,
and finally reaches to vg object to update its rendering properly.
However GFX_PATH_CHANGE signal is too commonly triggered for scenarios,
listening and response it is too burdensome.
We acutally don't need to do this if all nodes could share the
vg object. Nodes directly notify vg object to update it.
Next patch will come to remove stupid GFX_PATH_CHANGE that's aweful
in performance wise.