so getting context at least on some dviers is expensive. it may really
impact cpu usage a lot (in this cate getpid() was being called by the
nouveau drivers and that can be expensive. it is on ARM as it's a full
syscall and 1-2% of cpu time was just getting pid all the time thanks
to this...
@opt
"default" should not be appended to the group name in new EFL interface
theme. e.g. "efl/button"
Therefore, if "default" is given as a style name, then the style name
should be converted to NULL for the group name in new EFL interface
theme.
This adds many Efl.Text.* that are useful for manipulating the
underlying TEXTBLOCK object's propeties using efl_part.
This has been implemented as part of the "user-defined" properties of
the layout part, so that the changes on the part persist across load of
different groups.
Note that text styles have precedence over the TEXTBLOCK (Canvas.Text)
object's properties. if an edc provides a style, the properties it
manipulates as part of the "base:" string would not be affected by this
API.
In general, this helps reducing the amount of styles for objects (or
modes of the same objects) that share the same setup, but are different
in some properties (e.g. ellipsis, wrap etc).
@feature
Canvas layout: add text part "expand" property
This adds "expansion modes", which are essentially the same as min/max
hints in the edje part's 'description.text' fields.
The user can then customize his widget to different modes without being
forced to create a new edje group in the theme.
Note that there is an added check in case one of the min/max text flags
are provided from the theme. In such case, all flags from this new API
will be ignored.
This fortifies misuse where the flags are set both in theme and the API.
@feature
This is a big rewrite. In addition to implementing functionality with
the new Efl interfaces, a lot of legacy (Elm) code was removed.
A lot of work is squashed in this patch as the widget would've been
completely broken otherwise.
The major changes are:
Life-cycle:
- Code was split to have 'finalize'
- Item anchors (emoticons, images) were rewritten to have proper
life-cycle
Scrolling logic:
- Efl.Ui.Internal_Text_Scroller widget was added, and replaces the old
Elm.Interface_Scrollable implementation. Singe-line and multi-line
modes were fixed as well as sizing calculations. The object is now
swallowed inside the Ui.Text widget.
Copy and paste:
- Code was converted to Efl.Selection logic.
Modified tests:
elementary_test -to "efl.ui.text"
elementary_test -to "efl.ui.text label"
Added tests:
elementary_test -to "efl.ui.text inputfield"
Removed test:
elementary_test -to "efl.ui.text.async"
This class inherits Efl.Ui.Scroller and has its own sizing_eval logic to
handle the text content sizing as needed.
It's kept internal as it only serves Efl.Ui.Text in a scrollable mode.