2018-04-09 08:23:34 -07:00
|
|
|
enum Efl.Ui.Textpath_Direction {
|
2017-08-31 02:47:03 -07:00
|
|
|
[[Textpath direction]]
|
|
|
|
cw, [[Clockwise]]
|
|
|
|
ccw [[Counter-clockwise]]
|
2017-08-29 03:04:15 -07:00
|
|
|
}
|
|
|
|
|
2019-02-14 08:37:02 -08:00
|
|
|
class @beta Efl.Ui.Textpath extends Efl.Ui.Layout implements Efl.Text, Efl.Gfx.Path
|
2017-08-29 03:04:15 -07:00
|
|
|
{
|
|
|
|
[[Efl Ui Textpath class]]
|
elementary textpath: support legacy APIs
Summary:
Efl.Ui.Textpath was added when we were developing new interfaces.
So, basically, it does not support 'legacy' APIs. ex) elm_textpath_add
But, in Tizen, the legacy APIs had been delivered in old version of EFL.
To reduce maintainning cost between the platforms, this patch will be helpful.
@feature
Test Plan: N/A
Reviewers: Hermet, woohyun, zmike, cedric, herdsman
Reviewed By: Hermet
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7033
2018-10-11 23:42:31 -07:00
|
|
|
legacy_prefix: elm_textpath;
|
2017-08-29 03:04:15 -07:00
|
|
|
methods {
|
|
|
|
circle_set {
|
|
|
|
[[Set a circle with given center, radius, and start angle.]]
|
|
|
|
params {
|
2017-08-31 02:58:52 -07:00
|
|
|
@in x: double; [[X coordinate of center]]
|
|
|
|
@in y: double; [[Y coordinate of center]]
|
|
|
|
@in radius: double; [[Radius of the circle]]
|
|
|
|
@in start_angle: double; [[Start angle of the circle]]
|
2018-04-09 08:23:34 -07:00
|
|
|
@in direction: Efl.Ui.Textpath_Direction; [[Textpath direction]]
|
2017-08-29 03:04:15 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
@property slice_number {
|
|
|
|
[[The number of slices. The larger the number of slice_num is,
|
|
|
|
The better the text follows the path.]]
|
|
|
|
values {
|
2017-08-31 02:58:52 -07:00
|
|
|
slice_no: int; [[Number of slices]]
|
2017-08-29 03:04:15 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
@property ellipsis {
|
|
|
|
[[Control the ellipsis behavior of the textpath.]]
|
|
|
|
set {
|
|
|
|
}
|
|
|
|
get {
|
|
|
|
}
|
|
|
|
values {
|
|
|
|
ellipsis: bool; [[To ellipsis text or not]]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
implements {
|
|
|
|
Efl.Object.constructor;
|
|
|
|
Efl.Object.destructor;
|
efl gfx_path: remove EFL_GFX_PATH_EVENT_CHANGED
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
2018-12-27 19:20:15 -08:00
|
|
|
Efl.Gfx.Path.commit;
|
2017-08-29 03:04:15 -07:00
|
|
|
Efl.Canvas.Group.group_calculate;
|
|
|
|
Efl.Text.text {get; set;}
|
2018-05-03 16:34:17 -07:00
|
|
|
Efl.Part.part_get;
|
2018-01-07 20:55:35 -08:00
|
|
|
Efl.Ui.Widget.theme_apply;
|
2018-04-05 01:47:26 -07:00
|
|
|
Efl.Gfx.Entity.position { set; }
|
|
|
|
Efl.Gfx.Entity.size { set; }
|
2017-08-29 03:04:15 -07:00
|
|
|
}
|
|
|
|
}
|