Commit Graph

3190 Commits

Author SHA1 Message Date
Daniel Hirt 1624417d91 Evas textblock: fix width calculation of non-dirty paragraphs
This reverts commit 0a28cb97af, as the
addressed issue was still occurring.
Non-dirty paragraphs were not considered when recalculating the
formatted width of the text.
This could easily be reproduced with two paragraphs, getting the width,
and then updating only the second paragraph.

Added a test case.

@fix
2017-05-23 13:26:32 +03:00
Jean-Philippe Andre 3082dc212e evas: Fix build for Windows without segv
Revert "Revert "evas: Fix build for Windows (hopefully)""
This reverts commit c8ec1cb2af.

The two efl_input_ functions need to be declared as EOAPI inside
the file where they are implemented. Otherwise the symbols aren't
exposed and weak linking means the function call crashes.

Sorry for the first untested patch and subsequent revert. Things
should be in order now.
2017-05-22 17:37:35 +09:00
Jean-Philippe Andre c8ec1cb2af Revert "evas: Fix build for Windows (hopefully)"
This reverts commit 1e2d382298.
This segfaults. Ouch... Will need more time to fix this.
2017-05-22 15:05:16 +09:00
Jean-Philippe Andre 1e2d382298 evas: Fix build for Windows (hopefully)
The declaration of some internal EO APIs was located in the wrong
library, which results on Windows to an invalid definition of
EAPI (dllexport vs dllimport).

Thanks @vtorri for the report!
2017-05-22 14:52:26 +09:00
Mike Blumenkrantz 31295a95d7 evas: fix doc copypaste on evas_device_get() 2017-05-19 13:17:31 -04:00
Mike Blumenkrantz d47197e65b evas: add evas_device_get_by_seat_id()
sometimes it may be more useful to find a device by its hw id

@feature
2017-05-19 13:17:31 -04:00
Mike Blumenkrantz 589773055a evas_device: add seat_id property, set seat id for default fallback seat
@feature
2017-05-19 12:41:16 -04:00
Jean-Philippe Andre 55b529cebc evas/elm: Make group_add/group_del internal functions
This hides those two legacy functions from the EO API.
2017-05-19 14:07:00 +09:00
Jean-Philippe Andre 2cdc02b03c evas: Make beta events from Evas.Canvas internal
This includes 4 events:
 - render,flush,pre
 - render,flush,post
 - axis,update
 - viewport,resize

Those were not accessible from the EO API since Evas.Canvas
isn't part of the public EO API.
2017-05-19 14:07:00 +09:00
Jean-Philippe Andre 4310e641cd evas: Make Efl.Canvas.Object.type internal 2017-05-19 14:07:00 +09:00
Jean-Philippe Andre 781594088e evas: Make Efl.Canvas.Object.legacy_ctor internal
Continuing...
2017-05-19 14:07:00 +09:00
Jean-Philippe Andre de4627030a evas: Make Efl.Input.Event.instance_get internal
Same as the previous patch. This removes the definition from
the EO file, implementing the feature in C.
2017-05-19 14:06:59 +09:00
Jean-Philippe Andre 60444d681e evas: Make Efl.Input.Event.legacy_info.get internal
This removes the function from the EO file by using EXTRA_OPS
as introduced in 53fef30db0.
2017-05-19 14:06:59 +09:00
Amitesh Singh 5ed8ed5ba2 photocam: fix make distcheck
Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-05-18 15:30:41 +09:00
Amitesh Singh 5e1711aac1 rename Efl.Ui.Zoomable to Efl.Ui.Zoom
Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-05-18 14:56:49 +09:00
Amitesh Singh c124534a5e photocam: move zoom related APIs to Efl.Ui.Zoomable
Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-05-18 12:56:14 +09:00
Jean-Philippe Andre ba8db108cb evas map: Fix uninitialized fields
This fixes a "jump on uninitialized value" as reported by valgrind.
See evas_map.c:85:
  if (obj->map->cur.map->normal_geometry.x != x1) ch = 1;
2017-05-17 15:32:04 +09:00
Jean-Philippe Andre a96b7edb41 evas: Rename evas_types to evas_canvas3d_types
Now evas_types has nothing but canvas3d definitions.

Fixes T5312
2017-05-16 20:47:49 +09:00
Jean-Philippe Andre d974e708c2 evas: Remove unnecessary imports of evas_types
Ref T5312
2017-05-16 20:47:49 +09:00
Jean-Philippe Andre 9c494489e8 evas: Remove Efl.Canvas.Text.Annotation from evas_types.eot
This moves it to efl/interfaces which may not be the best...
@herdsman should know where to place this opaque definition.

Ref T5312
2017-05-16 20:47:49 +09:00
Jean-Philippe Andre 01d4886328 evas: Add seat arg to modifier/lock EO APIs
This now matches the new seat-related set of APIs present as EAPI.
2017-05-16 20:47:49 +09:00
Jean-Philippe Andre 4c81e0c5b9 evas: Remove Evas.Modifier from EO
Similar to the previous patch with Evas.Lock

Ref T5312
2017-05-16 20:47:48 +09:00
Jean-Philippe Andre 054aa012c4 evas: Use enum instead of string in Efl.Input.State
Ref T5312
2017-05-16 20:47:48 +09:00
Jean-Philippe Andre 83d1162171 evas: Remove Evas.Lock from EO
This is a step towards the removal of the modifier & lock API
as it is and use enums exclusively.

Ref T5312
2017-05-16 20:47:48 +09:00
Jean-Philippe Andre fe7f07615b evas: Move Efl_Gfx_Fill_Spread to legacy
This was never implemented and was translated to EO without
any implementation.
2017-05-16 20:47:48 +09:00
Jean-Philippe Andre c64f9ee235 evas: Move evas event info types to Evas_Legacy.h
This moves the following definitions from Common to Legacy:
 - Evas_Event_Mouse_Down
 - Evas_Event_Mouse_Up
 - Evas_Event_Mouse_In
 - Evas_Event_Mouse_Out
 - Evas_Event_Mouse_Move
 - Evas_Event_Mouse_Wheel
 - Evas_Event_Multi_Down
 - Evas_Event_Multi_Up
 - Evas_Event_Multi_Move
 - Evas_Event_Key_Down
 - Evas_Event_Key_Up
 - Evas_Event_Hold
 - Evas_Event_Axis_Update
2017-05-16 20:47:48 +09:00
Jean-Philippe Andre d682c3dfbb evas: Move Evas_Engine_Info to Evas_Legacy.h 2017-05-16 20:47:48 +09:00
Jean-Philippe Andre 2d6f53f2b9 evas: Replace Evas.Modifier_Mask with Efl.Input enums
This removes Evas.Modifier_Mask from EO.

This introduces two new types instead:
 - Efl.Input.Modifier
 - Efl.Input.Lock

Those are enums, not strings, containing all the known and
currently supported lock and modifier keys. The enums are
bit masks.

This effectively removes the ability for an application to
create and handle specific modifier or lock keys - with EO
API (legacy compatibility is unchanged, of course). I wonder
who ever required this?
2017-05-16 20:47:48 +09:00
Jean-Philippe Andre fd35532d9e evas: Remove evas_key_modifier_mask_get from EO
Such an ugly API. This is an API to match a string to a number,
build a bitmask from it, and then use that. The supported
strings are well known (should be enum) and would need a
recompilation (ABI update) to support anything new anyway.
2017-05-16 20:47:47 +09:00
Bryce Harrington ddfc6f0632 evas: Improve linespacing consistency
Reviewers: cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4879
2017-05-15 11:07:48 +02:00
Jean-Philippe Andre af3cb10185 evas: Remove Evas.Coord from EO
This may be a bit more controversial...
But Evas_Coord really is just an int and all the internals
of EFL assume that the base coordinate type is a 32-bit int.
So this type is a bit redondant and can't easily be changed
to, say, a float or int64.

Ref T5312
2017-05-15 17:26:42 +09:00
Jean-Philippe Andre a1abc129ec evas: Remove font_hinting from EO
We only need it in elm_config.
This removes the type Evas_Font_Hinting_Flags from EO,
as well as the functions font_hinting_set/get and
font_hinting_can_hint.

Ref T5312
2017-05-15 17:12:15 +09:00
Jean-Philippe Andre da229e34aa evas: Remove evas touch_point from EO
Note: it seems the EAPI evas_touch_point_list_xy_get() was
lst at some point, as it doesn't appear in the headers anymore.
It looks like we fail to catch an ABI break! abi_checker didn't
catch this!?

Ref T5312
2017-05-15 16:21:20 +09:00
Jean-Philippe Andre 9a251d6d5d evas: Remove Evas_Border_Fill_Mode from EO
Ref T5312
2017-05-15 15:07:43 +09:00
Jean-Philippe Andre f8473a2d19 evas: Remove Evas_Image_Orient from EO
Ref T5312
2017-05-15 15:05:14 +09:00
Jean-Philippe Andre e0ed9bb8b8 evas: Remove some types from EO
Those are legacy only.

Ref T5312
2017-05-15 15:05:10 +09:00
Jean-Philippe Andre 47b6db15c5 evas: Remove Evas_Callback_Type from EO
This moves the enum to legacy only, but in Evas_Common.h and not
Evas_Legacy.h because some other legacy things are in Evas_Common.h

Ref T5312
2017-05-15 10:29:23 +09:00
Jean-Philippe Andre 07263e881c evas: Remove Evas_Text_Style_Type from EO
It belongs to legacy only... Evas.Text is not part of EO.

Ref T5312
2017-05-15 10:29:23 +09:00
Jean-Philippe Andre 3df12eb690 evas: Remove Evas_Font_Size from EO
Ref T5312
2017-05-15 10:29:23 +09:00
Cedric BAIL 35e54acc46 evas: stat introducing a concept of engine and output in the backend. 2017-05-12 15:24:45 -07:00
Mike Blumenkrantz ef471e4eca evas: ensure even no-op renders emit RENDER_PRE
ref 67fae7aa0fdc9d778e8db88fc49bc149576994d2
2017-05-12 12:08:24 -04:00
Bryce Harrington 226c1cff82 evas: Revise documentation for evas_async_events*()
Summary:
Straightens up grammar and simplifies phrasing to make the functions
purposes clearer.

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4874
2017-05-12 14:46:55 +09:00
Bryce Harrington 6c2826db03 evas: Fix two whitespace errors
Summary:
Removes extraneous newline, and fixes the indentation of the while
statement's sub-clause (which looked like a code error at first
glance).

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4875
2017-05-12 14:41:49 +09:00
Youngbok Shin f97920816d evas textblock: fix dereferenced memory after free issue for ellipsis
Summary:
_layout_ellipsis_item_new() function deallocates "ellip_ti" and
allocates memory for new one. The local "ellip_ti" pointer should be
updated.
@fix

Test Plan: N/A

Reviewers: raster, cedric, herdsman, jpeg, woohyun

Differential Revision: https://phab.enlightenment.org/D4854
2017-05-12 14:34:13 +09:00
Jean-Philippe Andre c6d6e13060 evas map: Rename raw_coord to coord_absolute
This is more in line with the other "absolute" APIs.
2017-05-12 12:02:24 +09:00
Jean-Philippe Andre 290f1893cd evas map: Reach feature parity with legacy API
I've done this by translating "Flip Page" to this new set of
EO APIs. In particular, absolute coordinates need to be used
in some calls, and the map needs to be calculated between
get and set operations.

This required an adjustment of the raw_coord API as the flip_page
code does some math after reading and then writing to the map.
Same for color. Those two properties now act like commands (ie.
like the other gfx map functions).

This also introduces a duplicate set of APIs to handle absolute
coordinates. Other solutions included:

 - Use an enum to specify the type of coordinates (but then the
   unit of cx,cy varies between non-unit relative position and
   pixel position. Also this adds an extra argument to all those
   function calls.

 - Pass a special value (an empty eo object) as the argument for
   pivot. Same remark about the unit as above. This way was
   deemed too confusing because of the weird object.

Those two options have been discarded after asking the opinion
of a few developers I could reach.

@feature
2017-05-11 18:02:31 +09:00
Jean-Philippe Andre 0a224da86f evas map: Introduce new API for maps (Efl.Gfx.Map)
This implements an entirely new API model for Evas Map by relying
on high-level transformations on the object rather than an external
Evas_Map structure that needs to be constantly updated manually.

The implementation relies on Evas_Map.

To rotate an object all you need to do now is
  efl_gfx_map_rotate(obj, 45.0, NULL, 0.5, 0.5);

Or with a C++ syntax:
  obj.rotate(45.0, NULL, 0.5, 0.5);

Or even simply (with default arguments):
  obj.rotate(45.0);

The map transformation functions are:
 - rotate
 - rotate_3d
 - rotate_quat
 - zoom
 - translate (new!)
 - perspective_3d
 - lightning_3d

@feature
2017-05-11 17:54:00 +09:00
Jean-Philippe Andre d111c6e1dd evas map: Replace EO APIs for populate with reset
Manual points population will eventually be useless as the
map API will become more like a transformation API, where
the current object geometry doesn't matter as much as which
transformation is applied to it.
2017-05-11 17:53:57 +09:00
Jean-Philippe Andre 81dd06a6ed evas map: Move Efl.Gfx.Map mixin to its own C file 2017-05-11 17:53:51 +09:00
Cedric BAIL 4baeb17dba evas: adjust pointer mode set to work in headless scenario.
With the wayland backend, it is posible to have no seat connected
until later. This would lead to calling evas_object_pointer_mode_set
and fail without returning a boolean it was impossible to detect it
did fail. This patch correct it.
2017-05-09 15:54:45 -07:00