Summary:
Variation sequence treated as a single run, if we found one, we keep looking adding to the same run, but if it is not, then we need to start a new one.
Before:
{F3826735}
After:
{F3826736}
Test Plan:
```
#include <stdio.h>
#include <Elementary.h>
/*
gcc -o example test.c `pkg-config --cflags --libs elementary`
*/
EAPI_MAIN int
elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
{
Evas_Object *win, *en;
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
win = elm_win_util_standard_add("emoji-example", "emoji-example");
elm_win_autodel_set(win, EINA_TRUE);
en = elm_entry_add(win);
elm_entry_scrollable_set(en, EINA_TRUE);
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_object_text_set(en, "<font_size=25>☪☪️☪가</font_size>");
evas_object_show(en);
elm_object_content_set(win, en);
evas_object_resize(win, 400, 200);
evas_object_show(win);
elm_run();
return 0;
}
ELM_MAIN()
```
Reviewers: woohyun, bowonryu
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8542
Differential Revision: https://phab.enlightenment.org/D11096
the iteration over the content of the box did never cleanup the
children pointer, which resulted in buggy behavior.
This fixes test suite crashes with freeq debugging on.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11123
Summary:
In animation classes, "Animation" is not used as a namespace but it is
used as a prefix in the class names.
e.g. Efl.Canvas.Animation_Alpha
However, those classes are basically animation classes with different
features. Therefore, "Animation" should be used as a postfix in the
class names.
e.g. Efl.Canvas.Animation_Alpha -> Efl.Canvas.Alpha_Animation
However, for the easier usage of C APIs, c_prefix of animation classes
are remained to be "efl_animation_xxx".
Reviewers: segfaultxavi, bu5hm4n, zmike, Hermet, jsuya
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11108
Summary:
Name of `Efl_Class_Description` should be eo-style class name.
Please check there is no segmentation fault on Test code below.
Thanks to @woohyun for reporting and test case.
Test Plan:
```
//mcs test.cs -out:test.exe `pkg-config --libs efl-mono`
using System;
class Program
{
public static void Main() {
Efl.All.Init(Efl.Csharp.Components.Ui);
Efl.Ui.Win win = new Efl.Ui.Win(null);
Efl.Ui.Box box = new Efl.Ui.Box(win);
Efl.Ui.Textbox tb = new Efl.Ui.Textbox(win);
Efl.Ui.Button btn = new Efl.Ui.Button(box);
btn.Text = "Click Me!";
btn.ClickedEvent += (s, e) =>
{
Efl.Text.Cursor cur1, cur2;
tb.GetSelectionCursors(out cur1, out cur2);
cur1.SetPosition(3);
cur2.SetPosition(7);
};
box.Pack(btn);
box.Pack(tb);
win.SetContent(box);
win.SetSize(new Eina.Size2D(200, 400));
Efl.Ui.Config.Run();
Efl.All.Shutdown();
}
}
```
Reviewers: woohyun, ali.alzyod, bu5hm4n
Reviewed By: woohyun
Subscribers: cedric, #reviewers, #committers, woohyun
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11115
To preserve each animation's duration, group animation's duration is
copied to each animation's duration only if group animation's duration
is set.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11104
Summary:
Since the current Efl.Gesture.Events has canvas gesture events only,
Efl.Gesture.Events should be renamed to Efl.Canvas.Gesture_Events.
If other types of gesture events are newlly required later, which are
not based on canvas, then class Efl.XXX.Gesture_Events is required to
be introduced.
Reviewers: CHAN, segfaultxavi, bu5hm4n, zmike
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11073
Markup_set will emit change events, if user set empty string.
This Change is related to D10985, where markup_prepend will not emit events if empty string was added
Reviewed-by: Al Poole <netstar@gmail.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11020
these were flattened to all be EFL_GESTURE_$MEMBER, which made them
impossible to read and use effectively
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11026
Summary:
Revert part of old commit which caused wrong behavior in textblock with obstacles, we should use obstacle x pos.
There is no comments about why this was changed.
{F3821294}
Old commit is :
Aug 23, 2017 e63be982d9
related to D10955
Test Plan: Run Textblock Obstacle example
Reviewers: ali.alzyod, woohyun, segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11005
Summary:
when someone accidently does not clean up all his animation callbacks,
we might end up with a lot of errors on console, as we keep delivering
tick events to a dead object.
Reviewers: zmike, cedric, segfaultxavi
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10998
After splitting font family and size set operation, expedite lost a 10%
speed due to doing a double initialization (Once when the family is set
and one when the size is set). This was noticable in a few tight running
tests. This patch enforce that no initialization is called until the size
and the family are set.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10976
efl.text.cursor: emit events CANVAS_TEXTBLOCK_CHANGED when insert text using efl_text_cursor_markup_insert
Differential Revision: https://phab.enlightenment.org/D10985
Summary:
evas_object_clip_unset was broken for group object in several month or year..
basically,
evas_object_clip_unset(obj)
efl_canvas_object_clipper_set(obj, NULL)
is equal on efl_clip implements,
but on the group object, we need to unclip the whole group children in
efl_canvas_group_efl_canvas_object_clipper_set
which was not performed by legacy clip_usnet API.
Test Plan:
try clip_unset(obj) and clipper_set(obj, NULL) in any group clipped case
(i.e. scroller content) and see clip_unset is broken and fixed by patch.
Reviewers: cedric, bu5hm4n, zmike
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10984
Summary: We need an efficient method to navigate children faster.
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10989
Currently, edje.pc gets its lua Requires from the -Dlua-interpreter argument.
If -Dlua-interpreter=lua, an unversioned lua entry ends up in Requires, which
cannot always be satisifed. The evas filters meson.build handles this case by
generating a version-specific entry. This patch copies that logic into the top
level meson.build, and passes the result to the edje subproject.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10965
Summary:
This patch will make **efl_text_cursor_move** method, when it is working with **WORD_START** or **WORD_END** If no actual movement happened then return false, and do not fire CHANGE event
for example if cursor at word start, and we call efl_text_cursor_move(cursor, word_start);
1- this call should return false because no actual movement happened. If no actual movement happened then return false
2- this call should not fire CHANGE event for cursor.and do not fire CHANGE event
Reviewers: woohyun, segfaultxavi, cedric, zmike
Reviewed By: woohyun
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8454
Differential Revision: https://phab.enlightenment.org/D10949