Commit Graph

200 Commits

Author SHA1 Message Date
Jean-Philippe Andre 84a91ec6d4 Evas: Move smart_type_check[_ptr] to legacy 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
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
Ji-Youn Park a75fb5763a evas_canvas: move evas_output_XXX API from eo to legach.
evas canvas will be removed from eo.
evas_output_XXX APIs are usually used by widget or e17.
I decided not open these kind of APIs to eo.
app can use the size of elm win instead of evas output apis.
2016-06-13 18:53:06 +08:30
Jean-Philippe Andre 7872690e73 Efl: Move evas size hints to Efl.Gfx.Size.Hint
This includes:
- align
- min (now content_min)
- request
- max
- padding (now margin)
- weight

This does NOT include:
- display mode (compress, expand... a hint used by naviframe only).
2016-06-08 17:10:07 +09:00
Jean-Philippe Andre 7d5811a99a Evas: Move aspect ratio to Efl.Gfx.Size.Hint
Problem:
- edje aspect ratio is defined by 1 enum and 2 double (min, max)
- window aspect ratio is defined by only 1 double
- evas object aspect ratio is defined by 1 enum and 2 ints (w, h)

Which one is the best interface? Are min/max a better option?

Also, not sure how to call the enum...
2016-06-08 15:14:11 +09:00
Jean-Philippe Andre 915e09aed3 Evas: Rename Evas.Rectangle as Efl.Canvas.Rectangle 2016-06-02 18:57:30 +09:00
Jean-Philippe Andre b0a32b0bd0 Efl: Rename Efl.Pointer.Event into Efl.Event.Pointer
Also renames two types: Efl.Pointer.Flags and Efl.Event.Flags
2016-05-31 19:03:04 +09:00
Jean-Philippe Andre f119327495 evas: Move event feed and input to legacy 2016-05-31 19:03:04 +09:00
Jean-Philippe Andre fb35171186 Evas.Canvas: Move some event_feed to legacy
Paving the way to Efl.Pointer.Event...
2016-05-31 19:03:04 +09:00
Derek Foreman 72b1997f06 evas: Add wayland dmabuf native surface type
Add the structures required for supporting dmabuf native surfaces
2016-05-18 11:52:24 -05:00
Tom Hacohen d64f2fdd43 Efl vg: Remove the no longer needed .Base hack. 2016-05-11 13:13:27 +01:00
Subhransu Mohanty 648422c60b efl: add new efl_gfx_shape_append_arc() api.
Reviewers: Hermet, cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-04-18 15:32:39 -07:00
Jean-Philippe Andre a5b89d8ab3 Evas.Image: Remove pixels_dirty and pixels_callback
Those APIs belong to legacy, not Eo. Also, the image object
shouldn't be used directly for GL rendering, instead the GLview
widget should be used.
2016-03-29 14:54:03 +09:00
Jean-Philippe Andre b8f682b842 Efl.Gfx.Fill: Rename filled to fill_auto
fill_filled is a strange name for the property.
fill_auto seems to make more sense. If you disagree, scream at
me or revert this commit.
2016-03-18 13:28:45 +09:00
Jean-Philippe Andre 055ea6445a Evas image: Move content_hint and scale_hint to Efl.Image 2016-03-15 11:11:59 +09:00
Jean-Philippe Andre 35f8d81d97 Evas image: Deprecate evas_object_image_alpha_mask_set 2016-03-15 11:11:59 +09:00
Jean-Philippe Andre 0c95b69474 Evas.Image: Move native surfaces to Efl.Canvas.Surface
X11, TBM and Wayland support are implemented for now.
2016-03-15 11:11:59 +09:00
Jean-Philippe Andre a58a3532e3 Evas.Image: remove video surface
Video stuff should move to a proper player class. I still wonder
how exactly Tizen video should be handled, as they continue to
reject emotion.
2016-03-15 11:11:59 +09:00
Jean-Philippe Andre 06cf9e6bea Evas.Image: Complete implementation of proxy and snapshot
This moves the EO APIs away from Evas.Image and adds the required
legacy bindings.
2016-03-15 11:11:59 +09:00
Jean-Philippe Andre ba53f0e785 Efl.Gfx.Buffer: Introduce buffer_set/get/copy_set
Hopefully the doc and signature are better than the current
evas image equivalents data_get/data_set.

Those APIs are not like map/unmap so we need to decide which
model we prefer.
2016-03-15 11:11:59 +09:00
Jean-Philippe Andre b458341a13 Efl.Gfx.Buffer: Add interface skeletton 2016-03-15 11:11:59 +09:00
Jean-Philippe Andre fd2c4b4a26 Evas image: Create interface Efl.Image.Animated
This interface groups all low-level animated image functions.

FIXME:
- Rename to Efl.Image.Animated once eolian is fixed
- Fix mess with emile enum (loop_hint)
2016-03-15 11:11:59 +09:00
Jean-Philippe Andre 2d10127524 Evas image: Move filled property to Efl.Gfx.Fill and set as default
The filled property should be set to true by default since it
makes more sense. Legacy APIs behaviour is preserved by setting
the default to false.
2016-03-15 11:11:59 +09:00
Cedric BAIL 0ff7429ea7 evas: move Evas_Polygon to become Efl_Canvas_Polygon.
TODO: add support for 2 points (aka line).
2016-03-14 15:12:52 -07:00
Tom Hacohen f24210caac Revert "Automatic migration to the new eo_add syntax."
This reverts commit 4f949a2757.
2016-03-11 12:29:03 +00:00
Tom Hacohen 4f949a2757 Automatic migration to the new eo_add syntax. 2016-03-09 16:09:14 +00:00
Tom Hacohen f21ade6123 Automatic migration to Eo4.
I just ran my script (email to follow) to migrate all of the EFL
automatically. This commit is *only* the automatic conversion, so it can
be easily reverted and re-run.
2016-03-03 09:58:08 +00:00
Ji-Youn Park c11764534b evas: Updated documentation of evas_object_image_save. 2016-01-23 18:06:07 +08:30
Ji-Youn Park d395a867a4 evas: Updated documentation of evas_object_image_save. 2016-01-23 17:16:34 +08:30
Amitesh Singh 83beb559e9 evas: fix typos in documentation 2015-09-29 09:14:28 +05:30
Jean-Philippe Andre 32dc8f092c Evas.Image: Deprecate some functions and remove from Eo
This patch deprecates the following functions:
- evas_object_image_data_convert
- evas_object_image_pixels_import
- evas_object_image_reload

I could not find any place where they are used.

The old documentation is kept in the header, but not as a doxygen
anymore.
2015-07-02 14:32:07 +09:00
Amitesh Singh 24a5e2cdba evas: fix typo in API documentation.
Summary: Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>

Reviewers: raster, Hermet

Subscribers: seoz, cedric, sachin.dev

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-05 10:44:41 +02:00
Cedric BAIL 0b4d525e59 evas: make all of Evas_Object_VG API part of BETA
As JP pointed out there is no point of having an API if the only way to use
it is through a BETA API.
2015-04-07 13:11:21 +02:00
Cedric BAIL 899b70d3dc evas: mark Evas VG API as beta API to. 2015-04-03 16:57:35 +02:00
Subhransu Sekhar Mohanty f73352adec evas : add documentation to legacy vector api's.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-03 16:34:02 +02:00
Subhransu Sekhar Mohanty e80a759139 evas: add legacy api for creating vg_shape and vg_container object.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-03 16:34:00 +02:00
Cedric BAIL 9f8c35002b efl: add Efl.Gfx.Shape.append_rect following SVG specification.
SVG rectangle can have rounded corner.
2015-04-03 16:31:53 +02:00
Cedric BAIL eb2bd9a8d8 evas: move Evas.VG_* to Efl.VG.*
This also introduce legacy API for all of them.
2015-04-03 16:30:59 +02:00
Subhransu Sekhar Mohanty a068378c83 evas: add documentation for Evas_Object_VG 2015-04-03 16:30:36 +02:00
Cedric BAIL a395f5ded5 efl: add Efl.Gfx.View and use it in Evas.Image. 2015-04-03 16:23:26 +02:00
Cedric BAIL 7ba7ed4a1c efl: add Efl.Gfx.Fill and migrate Evas.Image to it. 2015-04-03 16:23:24 +02:00
Cedric BAIL 500fe6ef1b efl: add Efl.Gfx.Stack interface and update Evas_Object accordingly. 2015-04-03 16:23:22 +02:00
Cedric BAIL c08f8e26a6 efl: add Efl.Gfx.Base and fix inheritance for Evas_Object. 2015-04-03 16:23:17 +02:00
Cedric BAIL c2e75544e1 efl: move mmap API to be part of Efl_File class. 2015-04-03 16:23:13 +02:00
Amitesh Singh 0f32ab49ce evas callback: Fix typo in documentation of evas_object_event_callback_del_full
Reviewers: cedric, seoz

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D1904
2015-02-03 11:02:20 +09:00
Jason Gerecke 26c943bac0 Expose device (e.g. pen) axis information to applications
Summary:
This patch set adds the necessary code to expose device axis state to applications. This was primarily written with graphics tablets in mind, which -- in addition to acting like a mouse -- also provide information about pen pressure, tilt, etc. Other devices could potentially benefit from this API as well: touchscreens, joysticks, knob controllers, "spaceballs", etc.

Whenever an update to the device state is recieved, an "Axis update" event is synthesized. This event contains the updated information, typically scaled and normalized to a particular logical range (e.g. zero to one for pressure, -pi to pi radians for angles, etc.). Information about the tool which generated the event is also stored so that applications can disambiguate events from multiple devices (or in the case of multitouch screens, individual fingers).

This API is only wired up for use with X11 at the moment. Support for other backends (e.g. Wayland) should be easy to add for those familiar them.

**Note**: The following is a list of changes from the "v2" patches originally sent to the mailinglist

//Define and implement new Ecore_Event_Axis_Update events//
 * Harcode axis labels instead of including xserver-properties.h
 * Use C89-style comments
 * Use doxygen comments
 * Update comment text to note axes with unbounded/undefined ranges/units
 * Create "Ecore_Axis" and "Ecore_Axis_Label" typedefs
 * Reference typedef'd instead of raw types
 * Adjust how we count through valuators to support tilt/az
 * Add support for tilt and azimuth
 * Tweak memory management in case number of valuators differ
 * Expand TWIST axis normalization to declared range
 * Only normalize TWIST axis if resolution == 1 (wacom bug)
 * Cache label atoms on first use to minimize round-trips

//Implement EVAS_CALLBACK_AXIS_UPDATE event and friends//
 * Update to doxygen comments
 * Update comment text to note axes with unbounded/undefined ranges/units
 * Typedef 'Evas_Axis_Label', 'Evas_Axis'
 * Move typedef for 'Evas_Event_Axis_Update'
 * Reference typedef'd instead of raw types

//Wire the Ecore and Evas implementations of axis update events together//
 * Expose ecore_event_evas_axis_update in Ecore_Input_Evas.h
 * Move ecore_event_evas_axis_update to more logical position

//DEBUG: Add axis update logging to evas-multi-touch.c//
 * Removed from patch set

//Make evas-multi-touch demo use new axis functionality//
 * Have pressure adjust rectangle brightness instead of size
 * Use more available axis data when rendering rectangle (azimuth, tilt, twist)

Test Plan: The evas-multi-touch demo was updated to support axis update events. A graphics tablet was then used to verify that the pressure, azimuth, tilt, and twist data was coming through correctly.

Reviewers: cedric, raster

Subscribers: cedric

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

Conflicts:
	src/lib/ecore_input/Ecore_Input.h

Carsten Haitzler -

** fixed forward enum typedefs (make things unhappy)
** fixed conflict above
** fixed wrong param type for _evas_canvas_event_feed_axis_update()
** fixed @sinces to be 1.13
** fixed formatting/indeting
** fixed order of operation reliance in if's with ()'s to be clear
** fixed functions to be static that should have been
2014-11-25 12:43:15 +09:00
Jaehyun Cho 10e8039be5 evas: change the docs of evas_object_image_load_size_set()/get()
Summary: Change the docs of evas_object_image_load_size_set()/get() since the previous docs were not clear to identify those functions from evas_object_image_size_set()/get()

Reviewers: raster, eunue, cedric, Hermet

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-11-02 22:16:48 +01:00
Nicolas Aguirre b9fcd48986 evas: documentation on missing apis 2014-10-20 18:27:26 +02:00
Tom Hacohen fe374084ed Efl interfaces: Add text interface and start using it. 2014-08-21 11:02:11 +01:00
Tom Hacohen 69219fe1e2 Efl interface: Add image interface and start using it. 2014-08-21 11:02:11 +01:00
Tom Hacohen 500c4019dd Interface file: Update file interface and use it for image. 2014-08-21 11:02:11 +01:00
Tom Hacohen bf55348a92 Efl interfaces: Start using the text_properties interface. 2014-08-21 11:02:11 +01:00
Tom Hacohen 7f3a44894b Evas canvas eolian: Fix namespace and class name for the evas canvas. 2014-06-30 17:47:06 +01:00
Tom Hacohen 0fc3279db9 Efl: Update code to use the new class names generated by eolian. 2014-06-03 11:28:01 +01:00
Daniel Zaoui de65937980 TextBlock: fix porting to Eolian.
evas_object_text_clear was no more defined in the headers. Since the
function code is not generated by Eolian, the declaration in the headers
has to be done manually too.
2014-04-24 14:20:29 +03:00
Yossi Kantor edd4f14f00 Eolian: Legacy integration of Evas class 2014-04-23 16:14:12 +03:00
Yossi Kantor e791050383 Eolian: Legacy integration of Evas Box and Evas Out 2014-04-23 16:14:12 +03:00
Yossi Kantor 334db73866 Eolian: Legacy integration of Evas Image 2014-04-23 16:14:12 +03:00
Yossi Kantor d9855e9a3d Eolian: Legacy integration of Evas Grid 2014-04-23 16:14:12 +03:00
Yossi Kantor cf1ed77c7d Eolian: Legacy integration of Evas Object 2014-04-23 16:14:12 +03:00
Yossi Kantor f1e1a79822 Eolian: Legacy integration of Evas Common Interface 2014-04-23 16:14:12 +03:00
Yossi Kantor 33cf815737 Eolian: Legacy partial integration of Evas Smart 2014-04-23 16:13:58 +03:00
Gwanglim Lee ca443ac152 Fixed a problem with e wl server that sent invalid key value to wl client.
Summary:
This problem occurred due to xkb_keysym_t value of libxkbcommon by e wl server.
e wl server should pass keycode from evdev input device on to wl client.
In order that e wl server receives valid keycode Ecore_Event_Key should have
an extended data member. This patch should be applied with server side patch.

@fix

Test Plan: run e wl server -> create wl client -> type keys

Reviewers: raster, devilhorns, zmike

CC: cedric

Differential Revision: https://phab.enlightenment.org/D712
2014-04-14 09:41:43 -04:00
Yossi Kantor 58afcdc9ed Eolian: Legacy integration of Evas Table 2014-04-13 11:30:58 +03:00
Yossi Kantor c13bbe3c89 Eolian: Legacy Integration of Evas Text 2014-04-13 11:30:57 +03:00
Yossi Kantor 1563181922 Eolian: Legacy integration of Evas Rectangle, Polygon, Line, Textgrid and Textblock 2014-04-11 09:26:15 +03:00
zmike e5d207fc25 +evas_object_image_mmap_get() 2014-03-31 09:51:00 -04:00
Stefan Schmidt 23b0d4f14d evas/textblock: Correct evas_textblock_text_utf8_to_markup docs
Input and output was documented in the wrong direction.This function
takes plain text and gives markup.
2014-03-27 12:30:19 +01:00
ChunEon Park cb79aa9089 evas - add warning to evas_object_freeze_events_set() API doc. 2014-03-16 01:15:58 +09:00
Daniel Zaoui f22bd9e6ee Eolian: Integration of Evas Object.
const have been added in object parameter of two legacy APIs to fit
Eolian generated files.
Since these functions retrieve information from object, it is logic that
the object would be const.
2014-03-12 10:57:28 +02:00
Yakov Goldberg 607510d2dc image: remove EINA_ARG_NONNULL check for parameter
in evas_object_image_file_get(const Evas_Object *obj,
                              const char **file,
                              const char **key)
   remove check for second parameter "file", because it
   contradicts comment's statement, that NULL can be passed,
   if parameter not needed.
   All needed NULL checks of parameter are present inside func.
2014-02-20 16:57:46 +02:00
Jihoon Kim cb9dedd44d fix typos in EFL documents 2014-01-07 14:28:45 +09:00
Jihoon Kim 946a797e0d fix warning related to argument in generating doxygen 2014-01-07 11:27:15 +09:00
Jihoon Kim 8fcedfc017 fix 'found unknown command' warning in generating doxygen 2014-01-06 14:01:15 +09:00
Jihoon Kim d022ce1f67 evas: fix doxygen warning 2014-01-06 09:25:15 +09:00
Jihoon Kim 3ebc18731f Use key instead of keyname for considering setxkbmap 2014-01-04 13:25:21 +09:00
Carsten Haitzler 4eb4307aa2 evas - table - protect against invalid cell/row values (16bit overflow) 2013-11-20 18:07:17 +09:00
Yakov Goldberg c101d85541 evas/textblock: add const for param in evas_object_textblock_style_set for consistency 2013-11-11 13:17:03 +02:00
Cedric Bail f4ae52ea67 evas: make mmap_set use const Eina_File. 2013-11-04 11:27:59 +09:00
Daniel Zaoui 208c424238 Evas: Add API to access private function
We need a function in DnD for the overlapping feature to retrieve all
the objects at a specific position.
A private function exists in Evas (evas_event_objects_event_list) for
that purpose.
We need an access to this function for Elementary but we don't
want the is_frozen flag to be checked.
2013-10-21 19:03:24 +03:00
Rafael Antognolli 9506fd5db7 evas/image: Add video surface caps.
Wayland subsurfaces can be used as video surfaces too, similarly to
Ecore_X windows. However, they support a different set of features. Some
of them, like subsurface clipping and scaling, might be added in the
future, but so far we must work with what we have.

This commit allows to set an enum bitfield to the Video_Surface, with
the default value being one that will keep the same behavior as before,
for Ecore_X window. Thus, backward compatibility should not be broken.

It's possible to inform Evas that the surface in question is not able to
resize or scale, or that it's above or below the original canvas
surface. This allows Evas to show the surface itself, or use a buffer of
pixels instead, when the capabilities are not available.
2013-10-04 18:28:51 -03:00
Cedric Bail a626a91d69 evas: add evas_object_smart_iterator_new().
This is going to break Eo ABI. Rebuild all software using Eo API on top
of EFL (Elementary for example).
2013-09-05 17:16:40 +09:00
Cedric Bail 1ac1db596f evas: add interceptor for focus_set. 2013-08-29 11:21:20 +09:00
Tom Hacohen dfb2fb2de5 Evas Text object: Improved the docs explaining font selection. 2013-07-31 14:31:23 +01:00
Cedric Bail 614263c1ed evas: add geometry_set to please zmike. 2013-07-19 18:37:43 +09:00
Cedric Bail 0ed0d79611 evas: prevent people from including header directly. 2013-06-28 10:18:39 +09:00
Raphael Kubo da Costa 302d42b9af pixes -> pixels. 2013-06-26 16:26:35 +03:00
Jihoon Kim 4a90649f48 Fix typo in Evas headers 2013-05-29 10:27:10 +09:00
Rafael Antognolli cf9d3c90f5 Ecore/Evas: Add evas_event_input_multi_down/up().
These events (from multi-touch) also have information about the mouse
pointer position, so they must be translated by the framespace too.
2013-05-08 16:50:15 -03:00
Cedric Bail d833244100 evas: add infrastructure to open from Eina_File. 2013-05-08 18:17:00 +09:00
Daniel Juyung Seo 656a2ad45f Evas_Legacy.h: fixed documentation typos. 2013-05-05 00:50:55 +09:00
Rafael Antognolli f490c4e5aa evas/events: Add evas_event_input_multi_move().
Same as evas_event_input_mouse_move, but for multi_move.
2013-05-03 17:19:13 -03:00
Rafael Antognolli f09e493bc2 evas/events: Add evas_event_input_mouse_move().
This function should be used internally by the input system
(Ecore_Evas_Input) to feed Evas with move events. The x,y event info is
relative to the base of the window/surface, instead of the 0,0 of the
canvas.

This case only happens for now under Wayland, where the 0,0 of the
canvas is translated due to the window decorations that are drawn by the
client.
2013-05-03 16:45:33 -03:00
ChunEon Park 9272cc9de2 evas - fix doc 2013-04-29 16:20:39 +09:00
ChunEon Park 9fc2835cf4 evas - add evas_object_image_source_clip_set()/get() 2013-04-29 15:30:37 +09:00
Daniel Zaoui 80e04b2842 Evas: Split Evas headers
Now, Evas.h includes three new files:
- Evas_Eo.h: Eo API functions (functions defines, enums, base id).
- Evas_Legacy.h: contains the API functions related to objects
- Evas_Common.h: common data (structs, enums...) +
functions not related to objects.

This phase is needed for the EFL 1.8 release to disable Eo APIs if we
consider it is not enough mature to be used by applications.
2013-04-25 03:40:45 +03:00