the previous commits introduced a abstraction for drag in drop which can
be now used for this here. With this commit all the direct protocol
handling in efl.ui is removed, and only the ecore evas API is used.
Additionally, this lead to a giant refactor of how APIs do work. All
Efl.Ui. interfaces have been removed except Efl.Ui.Selection and
Efl.Ui.Dnd, these two have been restructored.
A small list of what is new:
- In general no function pointers are used anymore. They feel very
uncompftable in bindings and in C. For us its a lot easier to just
listen to a event when a drop enters or leaves, there is no need to
register custom functions for that.
- Asynchronous data transphere is handled via futures, which proved to
be more error safe.
- Formats and actions are handled as mime types / strings.
- 0 is the default seat if you do not know what else to take.
- Content is in general passes as a content container from eina, this
also allows applications to pass custom types
The legacy dnd and cnp API is implemented based on that.
All cnp related things are in elm_cnp.c the dnd parts are in elm_dnd.c
Differential Revision: https://phab.enlightenment.org/D11190
This causes many issues because textbox functions deals with <br> <tab> differently depending that user write them with or without '/' at the end (for example <br> vs <br/>)
while most functionaliity are the same (like viewing <br> and <br/> are the same).
cursor dealing with these tags can be differently.
now we will assume <br> <tab> are already have there own closing tag, even if it is missing
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11293
these two objects have zero relation, and I don't know why this ever
existed
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11243
a touch press is both a touch and a move event, which means the canvas must
update its list of target objects on the first touch press to avoid using the
wrong objects when processing events
@fix
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D11163
This fixes a bunch of warnings like that
```
../src/lib/eo/eo.c:644 _efl_object_call_resolve() NULL passed to function xxx().
```
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11283
the function text_underline_dashed_gap_get return underline_dash_width value instead of underline_dash_gap value.
this patch return the correct value.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11277
Summary:
This makes a proxy object use a selective region of a source object.
So far a proxy has not worked for load_region at all.
This should be better solution than https://phab.enlightenment.org/D10604
introducing new interface.
This is useful when the source is too big to allocate a proxy surface.
This will be used by elm_scroller to solve following issue.
[Issue]
If size of elm_sclloer content is too big, then the proxy of
elm_scroller to show loop effect does not work. Because
evas_gl_common_image_surface_new does not allow
bigger size surface than max_texture_size
Reviewers: Hermet, jsuya
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10626
Summary:
File_Save.save does not work for proxy object from following commit.
c53f152 evas: Make save() work on snapshots
Test Plan:
1. Add an image object and set source object.
evas_object_image_source_set(obj, source);
2. Save the object as a file when you need.
evas_object_image_save(obj, "./file_name.png", NULL, NULL);
Reviewers: cedric, Hermet, jsuya
Reviewed By: Hermet
Subscribers: zmike, subodh6129, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10629
_evas_object_smart_clipped_init() (in evas_object_smart.c) is called when evas_object_grid is created.
And a rectangle is created in the function.
But, the rectangle is not deleted even though evas_objecct_grid is deleted.
This patch fixes the problem by deleting it in smart_del fucntion.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11140
Summary:
Change type to matrix4 for 3-axis use when using value provider.
Depends on D11159
Test Plan: N/A
Reviewers: Hermet, kimcinoo, smohanty
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11213
previously multi-line property does not effect <ps> tag.
now <ps> is treated visually like <br> when multiline is set to EINA_FALSE
this issue was that each new paragraph will create new line regardless of multi line property value, now only first paragraph will create new line if multi-line property is false, and other paragraphs will use same line
this will also fix the following patch https://phab.enlightenment.org/D8603
And both will use same test suite code
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9064
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
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