Commit Graph

2500 Commits

Author SHA1 Message Date
Subhransu Mohanty 6e6c85293e evas vg: don't apply transformation to the origin point
Summary: Which will apply translate property twice once to shape and once to origin.

Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4086
2016-06-24 15:15:43 +09:00
Hermet Park 05d81d3c63 evas/canvas: rewrite a previous patch, ed444b698b
Reviwed further, I found out the origin shouldn't be accumulated with
previous clippers origin. I forgot this function is recursive
function.
2016-06-24 11:33:04 +09:00
Subhransu Mohanty e73533ebbc canvas/vg: fix the reference issue in evas_vg objects.
Reviewers: jpeg, cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4079

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-06-23 10:15:44 -07:00
Oleksandr Shcherbina 71c1481e57 evas: avoid calculation bounding for camera and light objects
Summary:
Including camera and light to calculation aabb can lead to confusing in detemination
bounding of the whole scene (root node).
@fix

Reviewers: cedric, Hermet, raster

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4060

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-06-23 10:05:09 -07:00
Hermet Park ed444b698b evas canvas: fix broken proxy clipping.
Origin of clipper's clipper won't be transformed to derivative space.
So it needs to transform the coordinate additionally.
2016-06-24 00:48:34 +09:00
Hermet Park 48a64d827f evas canvas: code refactoring.
Compare integers clearly.
2016-06-24 00:27:45 +09:00
Tom Hacohen 56562b1643 Canvas text: Add missing cursor changed callbacks.
In some cases we were changing the cursors but not emitting callbacks.
This should fix that.
2016-06-22 14:03:06 +01:00
Tom Hacohen 3dc4490a99 Canvas text: Don't call callbacks while cursors are in inconsistent states.
The issue is that in some cases we were calling user code (callbacks)
when some of the nodes were referencing already deleted text nodes. This
caused invalid memory access. This commit delays the callback calling
until after all of the cursors got into a consistent legal state.
2016-06-22 14:03:06 +01:00
Jean-Philippe Andre f067bc6f71 evas: Fix crash in Efl.Ui.Box
This goes back to a stupid comment I made in 93fad2a19f2507a:
  No idea why evas_box was overwriting smart_data.get
  (esp. since it was returning a private struct).
Well, it turns out the struct is NOT private and the smart
data pointer can be used by any user of evas box (including
Efl.Ui.Box).

Fixes T3926
2016-06-22 10:53:37 +09:00
Daniel Hirt dbbb4bf8ad Canvas text: revert new behavior on text append
This was discussed and still wasn't decided whether this is required to be
supported internally.
The reason for this revert is that the behavior still needs tweaking to work
just right along with the legacy behavior.
2016-06-21 10:40:48 +00:00
Daniel Hirt 2651ab54a3 Canvas text cursor: fix text insertion
The cursor update hasn't considered when the pararaph is broken. The reason the
code path is different from legacy is because that it was originally intended to
support append and prepend operations in the new API. Since we don't anymore
(only supporting append operations in the new cursor with 'text_insert'), we can
simplify the insertion implementation and fix this.
2016-06-21 10:34:19 +00:00
Daniel Hirt e920b47d2b Canvas text cursor: remove redefinition, already in legacy. 2016-06-21 10:34:19 +00:00
Jean-Philippe Andre e445e1bb08 evas: Fix redefinition of Efl_Canvas_Object type 2016-06-21 16:28:41 +09:00
Jean-Philippe Andre 269fc4f7a6 evas: Remove common interface and use provider_find
Evas.Common_Interface not only had a bad name, it also
wasn't in line with how we can get a loop object, for
instance.

Use eo_provider_find in each implementing class.
2016-06-21 16:13:04 +09:00
Jean-Philippe Andre 7bf8da2baa evas: Rename Evas.Object to Efl.Canvas.Object
One step closer to make the EO inheritance tree look like
it's all Efl.
2016-06-21 14:35:19 +09:00
Tom Hacohen 6202cc7485 Adjust the code according to the eo event stop changes.
This was changed in the previous commit.
2016-06-20 18:02:00 +01:00
Jean-Philippe Andre 0ffa16d9cf evas: Fix usage of fill_set
efl.gfx.fill will reset the filled flag, so the internal function
needs to be called instead of the gfx api.

This test error was added in a very recent commit: ccaf12e1b6.
2016-06-20 15:48:46 +09:00
Jean-Philippe Andre ccaf12e1b6 evas: Use efl_gfx APIs where appropriate
This is a better fix than the previous patch, as it keeps
the legacy API check. The point of that check is: if the object
has been created with legacy API (evas_object_image_[filled_]add,
then legacy APIs are allowed, otherwise they are disallowed. This
means only EO APIs should be used on an eo_add() image object.
2016-06-20 14:11:32 +09:00
Jean-Philippe Andre 17a51cffd3 evas: Fix type checking for legacy APIs
This should fix canvas 3d examples (that were calling fill_set
and evas would reject with "object is not an image").
2016-06-20 14:04:09 +09:00
Marcel Hollerbach b69071d3ce evas: fix double define
/usr/local-efl/include/evas-1/Evas_Legacy.h:3762:30: warning: redefinition of typedef 'Evas_Load_Error'
      is a C11 feature [-Wtypedef-redefinition]
typedef Efl_Image_Load_Error Evas_Load_Error;
                             ^
/usr/local-efl/include/evas-1/Evas_Loader.h:126:30: note: previous definition is here
typedef Efl_Image_Load_Error Evas_Load_Error;
                             ^

thank you jpeg :P
2016-06-19 11:32:05 +02:00
Jean-Philippe Andre 52f9220b3f Evas: Rename smart object into Efl.Canvas.Group 2016-06-17 19:32:43 +09:00
Jean-Philippe Andre 4653cc44dd Evas: Cleanup evas smart clipped class
This is legacy stuff. I wish we could hide it from our inheritance
entirely. Instead, just make it abstract, remove all functions from
eo (doable here) and rename with the keyword "internal" in the new
ugly java style name.
2016-06-17 19:32:43 +09:00
Jean-Philippe Andre 9c156c0be7 Evas: Remove a useless magic check 2016-06-17 19:25:48 +09:00
Jean-Philippe Andre 42b63f5507 Evas: Add smart_ prefix to all smart functions (eo)
This is a first step at separating legacy smart
object features away from standard efl interfaces.
2016-06-17 19:25:48 +09:00
Jean-Philippe Andre 2a0bb33f1d Evas: Move smart_members_get to legacy
Going forward, we prefer to return iterators rather than
lists.
2016-06-17 19:25:47 +09:00
Jean-Philippe Andre 3d1e474fc6 Evas: Move smart data to legacy 2016-06-17 19:25:47 +09:00
Jean-Philippe Andre 9a052a740d Evas: Move smart_callbacks_descriptions to legacy 2016-06-17 19:25:47 +09:00
Jean-Philippe Andre b88ca02fe9 Evas: Move smart_get to legacy and smart_attach to internals
smart_get and attach referred to an opaque struct, from EO
point of view.

Also, attach was an EO-only function, used nowhere besides
evas object smart itself, and evas grid (which is not EO
public API).
2016-06-17 19:25:47 +09:00
Tom Hacohen 132e89bb46 Canvas text: Fix idiotic memory leak.
Thanks to vtorri for reporting.
2016-06-17 09:02:43 +01:00
Jean-Philippe Andre a50a0f5d76 Evas: Move Object_Pointer_Mode to Efl.Event 2016-06-17 11:37:39 +09:00
Jean-Philippe Andre f2fafb8044 Evas: Move BiDi type to Efl.Text
This renames it to Efl.Text.Bidirectional_Type.
2016-06-17 11:37:39 +09:00
Jean-Philippe Andre fc6ba5561e Evas: Move Evas.Load_Error to legacy, use Efl.Image.Load.Error
This also disables the unused interface "load_state".
2016-06-17 11:37:39 +09:00
Jean-Philippe Andre e77c056c5f Evas: Remove Evas.Render_Op and switch to Efl.Gfx
Note: Only two modes are supported (blend and copy).
The Efl.Gfx and Evas enums were different. All other values
were not supported. For legacy compatibility (since GL engine
actually implements some kind of support for all operations),
render_op_set() should still work fine, even though it's not
recommended, and won't work anymore with EO API.
2016-06-17 11:37:39 +09:00
Jean-Philippe Andre dc3c6703f3 Evas: Move Evas_Native_Surface to legacy 2016-06-17 11:37:39 +09:00
Jean-Philippe Andre bb7edc2ed4 Evas: Fix clipees_get and return an iterator
The legacy function was broken: it was returning the
private data.
2016-06-17 11:37:39 +09:00
Jean-Philippe Andre 5177725ed8 Evas: Mark legacy_ctor as constructor and beta
This is a futile attempt at hiding an internal function.
2016-06-17 11:37:39 +09:00
Jean-Philippe Andre 1535135580 Evas: Move smart_move_children_relative to evas smart
This is temporary...
2016-06-17 11:37:39 +09:00
Jean-Philippe Andre 84a91ec6d4 Evas: Move smart_type_check[_ptr] to legacy 2016-06-17 11:37:39 +09:00
Jean-Philippe Andre 5974ff0175 Evas: Move smart_clipped_clipper to its class
It was in Evas.Object, probably to make it work without any ERR
message on invalid objects. Not worth it right now...
2016-06-17 11:37:39 +09:00
Jean-Philippe Andre 93fad2a19f Evas: Nove smart data get to smart class
It didn't make sense where it was.
No idea why evas_box was overwriting smart_data.get
(esp. since it was returning a private struct).
2016-06-17 11:37:39 +09:00
Jean-Philippe Andre e2eebc1221 Evas: Rename object focus to key_focus
The evas focus concept is valid and applies only to the
keyboard inputs.
2016-06-17 11:37:39 +09:00
Jean-Philippe Andre ab4e15e9c3 Evas: Move object static_clip to legacy
This is a horrible API used for internal optimizations. Which
may or may not be partly broken anyway.

We can do better, in the future. Let's not expose this kind
of API.
2016-06-17 11:37:39 +09:00
Jean-Philippe Andre cc427152bd Evas: Move object name to legacy
All EO objects have a name now. No need for evas object
names anymore.

Also move name_child_find.
2016-06-17 11:37:39 +09:00
Jean-Philippe Andre d4b96d33d6 Evas: Mark type as legacy and protected
Only set() is allowed for EO, and it's a constructor,
protected function. Unfortunately, this means a lot
of #define EVAS_OBJECT_PROTECTED
2016-06-17 11:37:39 +09:00
Daniel Hirt ed512ea49e Canvas Text: continue porting api and fixup bugs
Also: This merges style user and normal style into a list with precedence. This
allows for more flexibility while keeping the API clean.

@feature
2016-06-16 19:15:20 +01:00
Tom Hacohen c297ff4115 Canvas text cursor: introduce this new object
The text cursor is now an eo object. Consult the efl_canvas_text_cursor.eo file
for the API.

@feature
2016-06-16 19:15:20 +01:00
Daniel Hirt 3a6c648d28 Canvas text: introduce new text object
The implementation depends on creating different code paths from the now-legacy
behavior of text appending.

The annotation system introduced in this commit replaces the current way of
applying formats on text.
Up until now it has been quite a hassle for the user to control the formats, as
it required keeping track of the format positions with an opener and closer
formats almost every time (with the exception of own-closing formats).

The combination of Efl.Text API along with the Efl.Canvas.Text annotation API
essentially replaces the capabilities of the old format.

There is additional annotation API to allow more control, so be sure to check
the documentation/.eo files and the wiki page of Efl.Canvas.Text.

The style API now accepts actual strings of format style. There is not longer
need to instantiate as style with style_new() followed later by style_free().

@feature
2016-06-16 19:15:20 +01:00
Jean-Philippe Andre da1e53820b Evas: Fix usage of callback arrays
This should fix compilation of EFL for Windows (at least
this is one more step...)

- evas box
- evas table
2016-06-16 13:10:34 +09:00
Jean-Philippe Andre 74e1c9bb75 Evas: Stop using Evas.Image in public inheritance
So, it seems my previous commit 79abba52c5 was a job
half done, as I forgot to remove Evas.Image from the inheritance
tree of all new evas image classes.
2016-06-16 13:10:34 +09:00
Jean-Philippe Andre d97c07d675 Efl: Move Efl.Canvas to efl/interfaces
Not sure this is a good name for this interface, but it
definitely doesn't belong inside lib/evas/

Thanks Jiyoun for the question / report :)
2016-06-16 10:57:56 +09:00