Note: Their isn't any ability to do something like a static array of
events at the moment. It might lead to large memory being used when it
wouldn't be necessary. If that was the case, we could fix it, but it
would require a lot of dynamic hash operation I think.
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7482
If you are to trigger an event and just cancelled the one being processed, it would just
not propagate any event while it should. The code looks like more like it was forgotten line
or something.
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7481
If we are to choose Efl.Ui.I18n for the internationalization support, the localization API
should be named accordingly L10n.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7507
After the loop_promise_new changes. Also fix unused var warning.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7531
Summary:
There are cases where the drm card that we wish to run on is not
always the first card (ie: card1, card2, etc). In our previous code,
we would always start searching at card0 and if found we would always
use that card. This patch allows a card to be specified in the
environment that can be searched for and used. For example, if we
specify ECORE_DRM2_CARD=card1 than that card will be searched and used
if found. This also allows wildcard searches such as
ECORE_DRM2_CARD=card[1-9]* which can be used to skip the first card
(card0).
Reviewers: ManMower
Reviewed By: ManMower
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7530
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