Commit Graph

4528 Commits

Author SHA1 Message Date
Ali Alzyod 932ea7a70e efl.canvas.textblock: annotate obstacle methods as beta
Summary:
We decided to annotate these methods as beta

**obstacle_add**
**obstacle_del**
**obstacles_update**

Reviewers: woohyun, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8460

Differential Revision: https://phab.enlightenment.org/D11136
2020-01-23 12:34:39 +01:00
Ali Alzyod 8143b81dd6 evas_object_textblock: treat variation sequence as single run
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>&#x262a;&#x262a;&#xfe0f;&#x262a;가</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
2020-01-23 16:21:22 +09:00
Marcel Hollerbach baa7870082 evas_object_box: fix invalidator
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
2020-01-22 15:11:22 +01:00
Shinwoo Kim 7311b6fe32 Efl.Canvas.Group: implement Efl.Gfx.Filter
Summary: This patch makes Efl.Canvas.Group work for Efl.Gfx.Filter

Reviewers: Hermet, jsuya, zmike

Reviewed By: Hermet

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10435
2020-01-21 19:29:37 +09:00
Xavi Artigas a49e3ad7e3 docs: Typos in Doxygen docs 2020-01-21 10:59:12 +01:00
Jaehyun Cho 40b73758a0 efl_canvas_animation: rename Animation_XXX to XXX_Animation
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
2020-01-20 12:53:10 +09:00
Ali Alzyod ad63375199 efl.text.cursor: movement types rename
Summary: replace prev with previous, replace char with character

Reviewers: woohyun, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8567

Differential Revision: https://phab.enlightenment.org/D11095
2020-01-20 10:07:40 +09:00
Carsten Haitzler 7eeeb3c6f9 evas - fix access-after-free number 2
follow on from 3aa250e17f and T8534
looking into more possible problems and fixes

@fix
2020-01-18 12:25:08 +00:00
Carsten Haitzler 3aa250e17f evas - fix access-after-free where during destroy hash item not cleared
leave it in the hash unfreed as it will be freed when the hash is soon
after durint destruction.

@fix
2020-01-18 00:14:58 +00:00
Xavi Artigas a0523ebba5 docs: Typo in Efl.Text_Cursor 2020-01-17 12:56:51 +01:00
Yeongjong Lee 478863862a efl_text_cursor: correct class description name of simple class
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
2020-01-17 15:06:18 +09:00
Hermet Park 0a61d5a44b canvas vector: fix to refresh svg file of vector object.
previously, svg file is not refreshed though the file is changed.

Let changed flag true properly to re-render properly.

@fix
2020-01-17 10:48:24 +09:00
Jaehyun Cho 090df4331b evas_gesture: change getter methods to read-only properties
Summary:
From language bindings' perspective, it seems better that read-only
properties are provided instead of getter methods.

ref T8557

Reviewers: segfaultxavi, CHAN

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8557

Differential Revision: https://phab.enlightenment.org/D11094
2020-01-15 14:40:38 +01:00
WooHyun Jung e1a329a3e9 efl_text_cursor: update doc for Efl.Text.Cursor_Type
Summary: ref T8566

Reviewers: segfaultxavi, ali.alzyod

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8566

Differential Revision: https://phab.enlightenment.org/D11105
2020-01-15 14:19:34 +01:00
Jaehyun Cho 7661473f28 efl_canvas_animation_group: preserve each animation's duration
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
2020-01-15 11:09:21 +01:00
Jaehyun Cho 914fa2fd7c efl_gesture: rename Efl.Gesture.Events to Efl.Canvas.Gesture_Events
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
2020-01-13 14:31:15 +01:00
Ali Alzyod d6649ad80a evas_textblock: emit change event on markup_set
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
2020-01-13 11:33:14 +01:00
Xavi Artigas 93c7e7dc8f docs: Improvements to Text API documentation
Ref T7855
Ref T7934
Ref T7935
Ref T7936
Ref T7937
Ref T7938
Ref T7941
Ref T7942
Ref T7943
Ref T7944
Ref T7945
2020-01-09 18:17:33 +01:00
Xavi Artigas f7c859d9f8 docs: Fine-tuning the gesture descriptions 2020-01-09 15:38:23 +01:00
Ali Alzyod 1a02745a88 efl.text.cursor: change to abstract class
Summary:
1- Change cursor to abstract class
2- Remove copy method from cursor
3- remove cursor_Add method from efl.canvas.textblock and efl.ui.textbox

Reviewers: woohyun, segfaultxavi, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: lauromoura, YOhoho, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8299, T8454

Differential Revision: https://phab.enlightenment.org/D11034
2020-01-09 22:33:07 +09:00
Ali Alzyod 7b0a44dd33 efl.canvas.textblock: rename style strings to have underscore between words
Summary:
rename following styling strings:
tabstops -> tab_stops
linesize -> line_size
linerelsize -> line_rel_size
linegap -> line_gap
linerelgap -> line_rel_gap
linefill -> line_fill

This will affect Style_Apply, all_style_get,  and any method expect styling string

Reviewers: segfaultxavi, woohyun

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8523

Differential Revision: https://phab.enlightenment.org/D11043
2020-01-09 12:16:55 +01:00
Ali Alzyod dcc7813caf TEXT_FORMAT_HORIZONTAL_ALIGNMENT_AUTO_TYPE: rename end enum into opposite
Summary: TEXT_FORMAT_HORIZONTAL_ALIGNMENT_AUTO_TYPE: rename end enum into opposite

Reviewers: segfaultxavi, woohyun

Reviewed By: segfaultxavi, woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7939

Differential Revision: https://phab.enlightenment.org/D11058
2020-01-09 11:00:16 +01:00
Hermet Park f6f67d60f3 evas ector: ++safety.
add return value by ector_begin() for vector safety.
2020-01-09 15:01:47 +09:00
Ali Alzyod 43ad91ee40 Text_Format_Horizontal_Alignment_Auto_Type: rename enums, and Doc details
Summary: Text_Format_Horizontal_Alignment_Auto_Type: rename enums, and Doc details

Reviewers: woohyun, ali.alzyod

Reviewed By: ali.alzyod

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7939

Differential Revision: https://phab.enlightenment.org/D10993
2020-01-08 16:11:38 +01:00
Xavi Artigas 7378056116 docs: Better description of the Flick gesture 2020-01-07 17:36:30 +01:00
Mike Blumenkrantz 227483e079 efl/gesture: correct namespacing of all gesture enums in C
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
2020-01-07 16:08:23 +01:00
Xavi Artigas 62c9eb1791 docs: Clarify how Gesture objects are used
Ref T8502
2020-01-07 12:27:55 +01:00
Ali Alzyod 36a50f4d82 efl.text_style: remame underline2 and glow2
Summary: rename underline2 into secondary_underline and glow2 into secondary_glow

Reviewers: woohyun, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7857

Differential Revision: https://phab.enlightenment.org/D11024
2020-01-07 09:32:03 +01:00
Hermet Park 0313104719 canvas vg: remove redudant code.
The render preparation of vector nodes will be
done by user_vg_entry_render().
2020-01-07 13:25:47 +09:00
Xavi Artigas c836d82774 docs: whitespace and punctuation of Efl.Canvas.Animation_Scale 2020-01-03 16:14:45 +01:00
Hermet Park dea448d40c evas map: ++Safety for range overflow.
This might fix this issue.

{T8199}
2020-01-03 20:54:26 +09:00
Hermet Park d5463dfb1a Revert "Revert "Revert "evas map: diable high quality texture mapping feature."""
This reverts commit 1cb7d11ea8.
2020-01-03 20:54:19 +09:00
Xavi Artigas 744d4682c2 docs: Remove Evas reference from Efl.Canvas.Textblock 2020-01-03 11:57:27 +01:00
abdulleh Ghujeh c9cc3ab3f0 Evas Textblock : Fix obstacles & word overlap
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
2020-01-03 16:45:27 +09:00
Marcel Hollerbach 9f712bbf2f efl_canvas_animation_scale: enhance documentation
Reviewers: segfaultxavi, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10996
2020-01-02 09:35:34 -05:00
Marcel Hollerbach 9d428c610d evas: protect against leaking callbacks
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
2020-01-02 09:35:31 -05:00
Ali Alzyod 87e5907f18 efl.text: add null check for cursor and attribute internal methods
Reviewers: woohyun, segfaultxavi, bu5hm4n, zmike

Reviewed By: bu5hm4n

Subscribers: ProhtMeyhet, cedric, #reviewers, #committers

Tags: #efl

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10899
2020-01-02 12:53:20 +01:00
Cedric BAIL 4e6fd08306 evas: don't initialize font multiple time.
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
2020-01-02 12:53:12 +01:00
Ali Alzyod 3c54f6458f Efl.Text.Font.Properties: rename Efl.Text_Font_Properties
Efl.Text.Font.Properties: rename Efl.Text_Font_Properties

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10990
2020-01-02 12:43:46 +01:00
Ali Alzyod 41c7e1c908 efl.text.cursor: emit events CANVAS_TEXTBLOCK_CHANGED when insert text using efl_text_cursor_markup_insert
efl.text.cursor: emit events CANVAS_TEXTBLOCK_CHANGED when insert text using efl_text_cursor_markup_insert

Differential Revision: https://phab.enlightenment.org/D10985
2020-01-02 12:16:11 +01:00
SangHyeon Jade Lee 2f8683ef41 evas: fix legacy evas_object_clip_unset for group object.
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
2019-12-31 09:48:18 -05:00
Hermet Park 0f0f8d7fbc vector container: skip re-ordering as possible.
don't try anything if the stack is already top or bottom.
2019-12-31 15:15:56 +09:00
Hermet Park 174c593c70 evas vg: add an new interface efl_canvas_vg_container_children_direct_get()
Summary: We need an efficient method to navigate children faster.

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10989
2019-12-31 14:19:01 +09:00
Hermet Park d79693d1a9 evas vg: rewrite efl_gfx_stack_raise_to_top, lower_to_bottom()
The implementation was totally stupid,
previous function were wrongly working.

Thus, we rewrite it simple again.
2019-12-31 13:32:56 +09:00
Ali Alzyod 64d160da0a efl.text.style: underline enum rename + underline method fix
Summary: underline methods was not working + fix enums names

Reviewers: woohyun, segfaultxavi, bu5hm4n, zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7945

Differential Revision: https://phab.enlightenment.org/D10975
2019-12-30 13:27:13 +09:00
Ross Vandegrift 2e854ce7ed correct edje pkg-config generation for luaold
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
2019-12-28 10:47:46 +01:00
Xavi Artigas 858caa21b0 docs:Clarify Efl.Text_Formatter format parameter
Ref T8455
2019-12-27 11:37:43 +01:00
Ali Alzyod 55e9d31569 efl.text.font: rename to efl.text.font.properties
Reviewers: segfaultxavi, woohyun, zmike, bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7855

Differential Revision: https://phab.enlightenment.org/D10966
2019-12-26 18:08:00 +09:00
Ali Alzyod 3bd4f04ec7 efl_text_format: rename tabstops,lingap,linerelgap
Summary: rename tabstops,lingap,linerelgap to have underscore between words

Reviewers: segfaultxavi, woohyun

Reviewed By: woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7856

Differential Revision: https://phab.enlightenment.org/D10963
2019-12-26 18:01:32 +09:00
Ali Alzyod a239fc4a1a efl_text_cursor: movement word start/end
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
2019-12-26 16:05:37 +09:00