Commit Graph

1043 Commits

Author SHA1 Message Date
ChunEon Park 215b52ecc1 evas/map : set antialias context for map rendering. 2014-11-26 12:22:55 +09:00
kabeer khan c3ee589b8f evas_object_textblock: Resolved FIXME replaced int with size_t
Summary:
Since Evas_Textblock_Cursor has pos  of type size_t so changed
pos argument in _find_layout_item_line_match from int to size_t
Also Evas_Object_Textblock_Item has text_pos of size_t so defined
variable p of type size_t

Signed-off-by: kabeer khan <kabeer.khan@samsung.com>

Reviewers: tasn

Subscribers: devilhorns, cedric

Differential Revision: https://phab.enlightenment.org/D1692
2014-11-25 09:55:36 +00: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
Bogdan Devichev 237e303100 evas/3d: Fix dereferencing a pointer that might be null found by coverity
Summary:
@fix
CID: 1254626

Reviewers: cedric, artem.popov, Oleksander

Subscribers: cedric, stefan_schmidt

Differential Revision: https://phab.enlightenment.org/D1673
2014-11-17 17:17:11 +01:00
Bogdan Devichev d896dfb342 evas: Evas_3D - add .ply export/import.
Summary:
.ply format is important for relation blender and EFl, because in blender exist only two mesh export API: bpy.ops.import_mesh.ply and bpy.ops.import_mesh.stl. One of them is necessary for .edc 3D generator. Which I writing now.
Sorry, it isn't like image loader. Refactoring of import/export will be soon.

Reviewers: Oleksander, artem.popov, Hermet, raster, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-11-14 07:11:15 +01:00
Jean-Philippe Andre 5a13e97c1b Evas: Use ENFN/ENDT in proxy subrender
Again, just a code readability change.
2014-11-12 19:25:21 +09:00
Jean-Philippe Andre a56cc8a8c1 Evas: Avoid creating an extra context for proxy rendering 2014-11-12 19:18:09 +09:00
Jean-Philippe Andre fe677a0518 Evas: Use common function for proxy_subrender
Merges functions from:
- filters
- image object
2014-11-12 17:11:49 +09:00
Jean-Philippe Andre 792ac17736 Evas image: Use macros ENFN/ENDT to improve code readability
These macros replace some very repetitive code:
 - define ENFN obj->layer->evas->engine.func
 - define ENDT obj->layer->evas->engine.data.output

This commit includes lots of space changes as well.
This is a purely cosmetic commit.
2014-11-12 16:52:52 +09:00
Jean-Philippe Andre 4fb138a65f Evas: Remove ugly REND_DBG
Here's a macro that's used for debugging in some of the ugliest
ways possible: avoid passing an extra argument to a function when the
cost of always passing it is negligible (it's an int).

Fixes T1749.
2014-11-12 15:26:59 +09:00
perepelits.m 4dd2b89213 evas: fix quaternion initiation for node, which isn't a root node
Summary:
Default orientation of node should be corrected, because its zero rotation matrix multiplies on rotation matrix of its children node and we also get zero orientation for children,
so the vector of orientation should be non-zero

@fix

Reviewers: Hermet, raster, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-11-06 06:03:59 +01:00
Tae-Hwan Kim e96576cbc3 evas: Use Eina_Bool
Summary: Use EINA_TRUE/EINA_FALSE instead of 1, 0

Reviewers: raster, cedric, Hermet

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1633
2014-11-03 20:27:56 +09:00
Jean-Philippe Andre 251389fefd Evas filters: Fix COW usage.
Thanks cedric for the report.
We'll need a new function (after 1.12) to detect if the current
cow pointer is the default data or not. Maybe eina_cow_default_get()
or maybe something just returning a bool.
2014-10-29 15:12:53 +09:00
Cedric BAIL c3b4a573a2 evas: fix increased memory usage in Evas.
Eina_Cow does memory comparison during standby time. So in expedite as we don't
have any standby time, we end up allocating some vast amount of memory that
will never be compared. It is way simpler to compare that the data are not
going to change before hand. It should also reduce the CPU consumed during
idle time.

This patch save about 1MB of data at peak time in expedite.
2014-10-29 06:15:11 +01:00
Bogdan Devichev 0e736ee624 evas/3d: Fix resource leaks found by coverity
CID: 1244183 - 1244187

Reviewers: cedric, artem.popov, Oleksander

Subscribers: stefan_schmidt, cedric

Differential Revision: https://phab.enlightenment.org/D1585
2014-10-27 14:58:36 +01:00
Jean-Philippe Andre 5a9d8d6f03 Evas GL: string_query returns a const char *
Why cast to/from void* in the first place?
2014-10-27 16:12:38 +09:00
Jean-Philippe Andre 7db01ea396 Evas filters: Remove useless source_count and cow checks 2014-10-22 14:27:50 +09:00
Jean-Philippe Andre b5ccb00ba7 Evas filters: Feed some cow to the image objects
Same as for the text objects.
Fixes T1725.

Cedric, please run again your memory test, please.
2014-10-22 13:00:20 +09:00
Jean-Philippe Andre 6935880171 Evas filters: Move filter COW to evas global stuff
It will be shared between TEXT and IMAGE objects.
2014-10-22 11:14:09 +09:00
Jean-Philippe Andre 9364083b44 Evas filters: Use a cow to reduce memory usage of text objects
As pointed out by Cedric, the memory usage of basic evas objects
has increased a lot in recent versions of EFL, in part due
to this excessive use of filters data.

This is a partial fix for ticket 1725.
2014-10-22 11:01:40 +09:00
Jean-Philippe Andre 25575ddf8d Evas GL: Fix unused variable
CID 1248912
2014-10-22 08:25:21 +09:00
Andrii Kroitor ef9cf8b78d evas: Evas_Box - layout_flow_horizontal and layout_flow_vertical fix
Summary:
Now minimum width hint (for horizontal layout) and minimum height hint (for vertical)
are set to largest item size rather than largest row/column.

@fix

Test Plan:
1. Run "elementary_test"
2. Maximize window
3. Unmaximize it
ExR: button boxes should return to start state.

Reviewers: cedric, seoz, Hermet

Subscribers: cedric, reutskiy.v.v

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-21 14:44:15 +02:00
Daniel Zaoui 31f2e6e88a Evas-3D Tests: fix Eo usage.
There are still Valgrind (invalid read) issues but at least, it doesn't
segfault more.
2014-10-21 11:09:51 +03:00
Daniel Zaoui d5eb9bd590 Evas-3D: invoke eo_do_super in destructors. 2014-10-21 08:46:23 +03:00
artem.popov e6722b6ab3 evas: evas_map - fix cast from double to int with using lround()
Summary:
All points in map are double, when try to get point coordinates, there
are issues with rounding.

@fix

Reviewers: Hermet, raster, seoz, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-20 17:30:57 +02:00
Jean-Philippe Andre 9a0e128f23 Evas GL: Enable direct rendering even with alpha images 2014-10-20 12:16:08 +09:00
Jean-Philippe Andre 3f9caaf16d Evas GL: Add support for OpenGL-ES 1.1 (part 1)
This commit adds lots of required definitions (GL_ stuff),
new API entries in the Evas_GL_API struct, and basic new APIs
to create OpenGL-ES 1.1 contexts.

@feature
2014-10-20 12:16:08 +09:00
Jean-Philippe Andre f30f55f9f4 Evas GL: Fix compilation for EGL/GLES
Configure with --with-opengl=es --enable-egl
Fixes runtime link dependencies
2014-10-20 12:16:08 +09:00
Jean-Philippe Andre a0712e25e1 Evas GL: Add support for pbuffer surfaces
Supports only EGL for now :(

These pbuffer surfaces can be used to create dummy surfaces for
make_current and render threads.

@feature
2014-10-20 12:16:08 +09:00
Jean-Philippe Andre 29e7f54ea0 Evas GL: Add evas_gl_surface_query
When using EGL, this function should return the properties of
a surface. Limited to a subset of known attributes.

Right now, this function will only work fine with EGL.
GLX support or any other engine is not implemented.

@feature
2014-10-20 12:16:08 +09:00
Jean-Philippe Andre f351aad8bf Evas GL: Return safe empty string "" instead of NULL
This is so dumb.
2014-10-20 12:16:07 +09:00
Jean-Philippe Andre de7a8a3dab Evas GL: Add API evas_gl_rotation_get
This will be used to increase the chances of having direct
rendering (no fallback to FBO) even if the window is rotated.

The client is then responsible for handling the view rotation.

@feature
2014-10-20 12:16:07 +09:00
Jean-Philippe Andre 28a76266c6 Evas GL: Fix runtime linking issues
There is some mess with gl common functions that need to be
called from the engine itself, eg. error set/get.
2014-10-20 12:16:07 +09:00
Jean-Philippe Andre 0ee951fc21 Evas GL: Add safety checks for missing functions 2014-10-20 12:16:07 +09:00
Jean-Philippe Andre cb5e88d20f Evas GL: Add APIs to get current surface/context
- evas_gl_current_surface_get
- evas_gl_current_context_get

@feature
2014-10-20 12:16:07 +09:00
Jean-Philippe Andre 8d6f873354 Evas GL: Add API evas_gl_error_get()
Similar in meaning to eglGetError()

@feature
2014-10-20 12:16:06 +09:00
Jean-Philippe Andre 08889de92b Evas GL: Add some thread safety
This is only the core evas gl support.
TODO: gl_x11 and other engines
2014-10-20 12:16:06 +09:00
Cedric BAIL 86438f5583 evas: more defensive programming. 2014-10-12 10:11:50 +02:00
Bogdan Devichev 1f9ace657b evas: fix warnings introduced by Evas_3D eet import/export feature.
Summary:
This is a fix of those warnings. Sorry for existence of them.
   CC       lib/evas/common/lib_evas_libevas_la-evas_alpha_main.lo
../../src/lib/evas/canvas/evas_3d_mesh_loader_eet.c:113:13: warning:
assignment from incompatible pointer type
     eet_file = _evas_3d_eet_file_new();
              ^
   CC       lib/evas/common/lib_evas_libevas_la-evas_blend_main.lo
   CC       lib/evas/common/lib_evas_libevas_la-evas_blit_main.lo
   CC       lib/evas/common/lib_evas_libevas_la-evas_convert_color.lo
../../src/lib/evas/canvas/evas_3d_mesh_saver_eet.c: In function
'evas_3d_mesh_save_eet':
../../src/lib/evas/canvas/evas_3d_mesh_saver_eet.c:159:13: warning:
assignment from incompatible pointer type
     eet_file = _evas_3d_eet_file_new();
              ^
   CC       lib/evas/common/lib_evas_libevas_la-evas_convert_colorspace.lo
   CC       lib/evas/common/lib_evas_libevas_la-evas_convert_gry_1.lo
../../src/lib/evas/canvas/evas_3d_eet.c: In function
'_evas_3d_eet_file_new':
../../src/lib/evas/canvas/evas_3d_eet.c:28:4: warning: return discards
'const' qualifier from pointer target type
     return creating_file;

Reviewers: cedric, artem.popov

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-08 18:48:42 +02:00
Jean-Philippe Andre fe2dcfb895 Evas: Remove unused array calculate_objects 2014-10-08 15:52:39 +09:00
ChunEon Park e71573d6ed evas: updated doc
here also use Eina_Bool for consistency.
2014-10-07 22:19:33 +09:00
ChunEon Park e246a89d27 evas: updated doc.
mention Eina_Bool for consistency.
2014-10-07 22:17:36 +09:00
Carsten Haitzler 01c89cb4a4 evas - render2 renders conecnt for the first time... wow...
this is an unused code path UNLESS you:

export EVAS_RENDER2=1

so this will affect nothing unless you enable this and test it. it's
designe dto be done this way so we can slowly bring it in and bring it
up to speed and peolpe can easily test it and so on.

so now - content is rendered. most content is actually. only thing
that breaks that i can see so far is mapped smart objects.
2014-10-07 14:34:36 +09:00
Bogdan Devichev 5d004c80f7 evas: Evas_3D - add .eet export/import
Summary: The first version of .eet format is added. All changes due to discussion in D1307 are done.

Reviewers: artem.popov, se.osadchy, reutskiy.v.v, Hermet, raster, cedric, Oleksander

@feature

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-06 16:47:25 +02:00
Thiep Ha dee98ea248 evas textblock: return text direction for under cursor in cursor geometry get
Summary:
Currently, in cursor geometry get function, the text direction is not
returned if cursor is under cursor.
This patch fixs it by returning text direction for under cursor.

@fix

Reviewers: tasn

Subscribers: herdsman, cedric

Differential Revision: https://phab.enlightenment.org/D1505
2014-10-02 08:36:35 +01:00
Daniel Hirt fae337469e Evas Textblock: Fix native width of BiDi text
Summary:
This fixes an issue that causes BiDi text to get wrapped even when
resizing the textblock to its native size.
The way we find the last visual item in the native line is wrong. The
'visual_pos' describes the visual position in the formatted layout, in
which wrapping may occur. So, this is really bad to use it for native
width calculations as well.
Also, there's no need to actually reorder the line - we just need the
last visual item.
This adds and uses a function very similar to _layout_line_reorder, in
which we retrieve the last visual item in the native line. This
function does not do any actual reordering, as the native layout is
disposed of after calculation is done.

Also, added GET_ITEM_LEN macro for convenience.

Fixes T1532

@fix

Test Plan: Added to evas textblock test suite in this patch

Reviewers: tasn

Subscribers: id213sin, JackDanielZ, cedric

Maniphest Tasks: T1532

Differential Revision: https://phab.enlightenment.org/D1353
2014-10-01 16:45:58 +01:00
Jaeun Choi 66b86f5866 evas: fixed initialization types 2014-10-01 11:35:10 +09:00
Daniel Hirt a4d716d1c0 Evas Textblock: Fix bad empty line add on wrapping
Summary:
In some cases of char or word wrapping, an empty line might be
accidentally added at the end of the paragraph. That line contains
no items. Of course, this line should not exist.
One outcome of this is that it causes wrong height values of the
paragraph, when the finalizing code uses the
_layout_last_line_max_descent_adjust_calc, which in turn
looks at that empty line to calculate the descent values.

@fix

Test Plan: Char-wrap and word-wrap tests to test suite included in this revision.

Reviewers: tasn

Subscribers: JackDanielZ, cedric

Projects: #efl

Differential Revision: https://phab.enlightenment.org/D1444
2014-09-26 13:20:14 +01:00
Tom Hacohen a7560dbc61 Eo: Change eo_add/del/unref behaviour.
Before this change eo_add() used to create an object with 1 ref, and if
the object had a parent, a second ref.
Now, eo_add() always returns an object with 1 ref, and eo_add_ref()
    preserves the old behaviour (for bindings).

eo_unref now un-parents if refcount is 0, and eo_del() is an alias for
eo_unref (will change to be a way to ensure an object is dead and goes
        to zombie-land even if still refed).
2014-09-25 17:38:45 +01:00
Tom Hacohen 6846978ebd Eo: Get rid of eo_add_custom.
We decided to deprecate this one in favour of setting thing in the
construction between the constructor and the finalizer.
2014-09-25 10:30:56 +01:00
Andrii Kroitor adff9e013d evas_events: fixed keyup with modifier
Summary:
removed check that disallows exact modifiers set.
I.e. if we need Ctrl+s without any other modifiers:

mask = evas_key_modifier_mask_get(obj, "Control");
evas_object_key_grab(obj, "o", mask, ~mask, false);

This works with keydown, but was broken with keyup.

Reviewers: cedric, seoz, Hermet, raster

Subscribers: cedric, reutskiy.v.v

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Signed-off-by: Carsten Haitzler (Rasterman) <raster@rasterman.com>
2014-09-24 11:43:37 +02:00
Mike Blumenkrantz 5375e154fe fix config.h inclusion across the tree 2014-09-23 15:56:46 -04:00
Sebastian Dransfeld 2690080c2d Evas: Fix crash in hide
During E shutdown I often get a crash here, so check if we have an evas.

@fix
2014-09-18 10:48:50 +02:00
Daniel Kolesa f86c2d4e5a eolian: remove accessor params feature
Temporarily replace it with @const_get and @const_set tags in values section.
2014-09-10 15:06:43 +01:00
Daniel Kolesa 4875123472 eo: update the EFL to use builtin complex types 2014-09-09 14:21:39 +01:00
Srivardhan Hebbar 65ad94bac4 Documentation: Adding documentation for evas_object_textblock structures.
Summary:
This is a fix to one of the FIXME in the code, evas_object_textblock.c

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: herdsman, tasn

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1383
2014-09-08 12:18:54 +01:00
Cedric BAIL 532c598557 evas: agressively freeze events on calculate callback and clear. 2014-09-06 15:10:36 +02:00
Cedric BAIL 563bf84388 evas: let's freeze the canvas, shall we ?
This is a critical performance issue that was introduced during our move
to eo2. This code was still eo1 style so I guess it was just forgotten.
The result is that canvas with large numbers of widget were slower after
the migration.

@fix
2014-09-06 15:10:36 +02:00
Youngbok Shin 05a5b4e1b9 evas: remove duplicate function call in evas_shutdown().
Summary:
evas_font_dir_cache_free() is called twice in evas_shutdown().
evas_common_shutdown() will call evas_font_dir_cache_free().

Test Plan: NONE

Reviewers: tasn, woohyun

Subscribers: herdsman, cedric

Differential Revision: https://phab.enlightenment.org/D1417
2014-09-05 09:10:04 +01:00
ChunEon Park 3e8ddb1bfb Revert "evas: Evas_3D - add .eet export/import"
This reverts commit 9ebb28e3d6.

I didn't mean pushing this patch...
sorry.
2014-09-03 21:30:17 +09:00
Dmytro Dadyka 0d2f4dbc11 [Evas/evas-3d] Add shadow maps. Added two scene-API functions for enable and disable shadows on the scene. Added 6 light-API function for set and get the light projection.
Reviewers: raster, cedric, Hermet

Subscribers: raster, cedric

Differential Revision: https://phab.enlightenment.org/D1330
2014-09-03 21:19:16 +09:00
ChunEon Park d1dd349feb Merge branch 'master' of ssh://git.enlightenment.org/core/efl 2014-09-03 21:05:27 +09:00
Daniel Zaoui ffa9ad7daf Eolian/Generator: support params initialization.
This is needed when get properties or methods have to return a
value in case of failure or to initialize parameters.
The way used is to generate an intermediate function that will
initialize the parameters and then invoke the "user" function.
2014-09-03 08:36:20 +03:00
ChunEon Park bf1ac534d3 Merge branch 'master' of ssh://git.enlightenment.org/core/efl 2014-09-03 10:57:38 +09:00
Cedric BAIL 5bac48a79d evas: actually just define the right number of events. 2014-09-02 16:03:45 +02:00
Cedric BAIL c0701f38a0 evas: forgotten evas canvas event EVAS_CANVAS_EVENT_DEVICE_CHANGED. 2014-09-02 15:35:14 +02:00
Youngbok Shin 15281561e5 evas textblock: fixed ellipsis character cut off issue with complex markup text.
Summary:
Evas Textblock ellipsis is handled in a item.
When the ellipsis item is added in the text, some characters are cut off
considering width of ellipsis character.
But, it is handled in only one text item.
If there are many short text item, the ellipsis item can be cut off visually.
And there was a bug in the patch when text is displayed in two lines or more.
The bug is also fixed.

Fixes Phab ticket T1213

@fix

Test Plan: This commit includes test case.

Reviewers: woohyun, seoz, sohyun, tasn, raster

Subscribers: cedric, herdsman

Differential Revision: https://phab.enlightenment.org/D1360
2014-09-02 11:47:36 +01:00
ChunEon Park e56199b626 Merge branch 'master' of ssh://git.enlightenment.org/core/efl 2014-09-02 10:00:11 +09:00
Daniel Kolesa 46715c3574 eolian: move efl eo files over to the new ctor syntax 2014-09-01 15:53:35 +01:00
Bogdan Devichev 9ebb28e3d6 evas: Evas_3D - add .eet export/import
Summary: The first version of .eet format is added.

Reviewers: Hermet, raster, cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1307
2014-09-01 22:43:16 +09:00
ChunEon Park 4cc893f0af evas/render: don't make children active unless the active object has the proxies.
the src change sholud be true only if the object has any proxies.
otherwise, the children will be pushed in active objects unnecessarily.
2014-09-01 19:54:21 +09:00
Carsten Haitzler 637fe65e98 evas 3d - fix mesh saver lack of check for fopen failure
fix CID 1222456
2014-09-01 19:40:47 +09:00
Daniel Kolesa 3e5da03f7d eolian: update virtual to the new syntax (as per wiki) 2014-08-29 11:40:29 +01:00
Daniel Kolesa 77d148cec9 eo: migrate constructors sections to constructing methods 2014-08-27 15:43:47 +01:00
Carsten Haitzler 27ae94596f evas textblock - fix inconsistent ascent/descent return ptr checks
ascent/descent are always non-null in usage of
_layout_item_ascent_descent_adjust() so don't check for them.

fix CID 1099704
2014-08-27 17:37:01 +09:00
Carsten Haitzler e17a028e43 evas - fix possible bitshift bug
CID 1232725 1232724 1039319 1039318
2014-08-27 16:54:09 +09:00
Carsten Haitzler efb4535807 evas 3d - fix possible divide by zero
fixes CID 1216432
2014-08-27 16:48:40 +09:00
Carsten Haitzler 144a92105c evas async events fd - check fcntl return
fix CID 1039684
2014-08-27 16:39:09 +09:00
Carsten Haitzler 4fd102c866 evas - async events fd - check fcntl return
fix CID 1039683
2014-08-27 16:37:45 +09:00
Carsten Haitzler 5ca08e65d8 evas render - checking if can overlay was broking checking parent maps
brought out by CID 1039454 - fix!
2014-08-27 12:46:43 +09:00
Carsten Haitzler 6c758594a7 evas - table - fix copy and paste bug in table min size limiting
logically dead code find pointed out a bug in min size limiting in
homogenouse table layout in evas - fix CID 1039457
2014-08-27 12:39:51 +09:00
Carsten Haitzler 2fe5b511fd evas - grid - remove logically dead code
remove extra priv check that is not needed in grid - CID 1039458
2014-08-27 12:36:46 +09:00
Carsten Haitzler 783f81a25f evas - whitespace fix 2014-08-27 12:21:23 +09:00
Cedric BAIL 8803a8f46c evas: Evas_3D - fix forgotten initialization. 2014-08-25 19:04:12 +02:00
Carsten Haitzler 2a580c1665 evas textblock - remove unused pointer
fixes CID 1039479
2014-08-25 13:17:02 +09:00
Carsten Haitzler 24ad46488f evas font dir - remove unused pointer
fixes CID 1039480
2014-08-25 13:05:21 +09:00
Carsten Haitzler 58fed21414 evas - fix possible layer null access in object free
fixes CID 1039409
2014-08-22 20:14:59 +09:00
Carsten Haitzler 1c82a88d6e evas text - deal with possible null text in layout
fix CID 1039408
2014-08-22 20:14:59 +09:00
Carsten Haitzler 48f45da5fb fix possible integer overflows with bitshift
these are very unlinkely, but in theory possible so check return value
and don't use an invalid bitshift.

fixes CID 1039318 and CID 1039319
2014-08-22 20:14:57 +09: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 ceada9523f Efl interfaces: Drop interface namespace from the used interfaces.
We don't need this namespace, it just makes the names long and complicated.
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
Daniel Kolesa 459638c2b9 eolian: more consistent syntax
"legacy foo" is now "legacy: foo" and "return foo" is now "return: foo".
2014-08-21 09:26:03 +01:00
Tom Hacohen 1fcbd88e6d Evas textblock: Remove unused function. 2014-08-20 17:08:28 +01:00
Tom Hacohen 841191d907 Evas textblock: Fix BiDi text cut-off at the edges.
This patch fixes an issue causing text to be cut off in some cases.
The problem was that we were calculating line width and alignment before
we did any bidi calculations, which in turn caused us to use the wrong
text items for those calculations.

Many thanks to Daniel Hirt for investigating this deeply, finding all
the nitty-gritty and generally pointing me to where the problem is.
Daniel also provided the test case.
His patch (D1291) was close, but not enough.

Fixes T1496

@Fix
2014-08-20 15:10:23 +01:00
Carsten Haitzler 9a91261a4e Revert "evas textblock: fixed ellipsis character cut off issue with complex markup text."
This reverts commit d408408283.

this breaks mult-line "long" filenames in efm. 2nd line is just ...
for almost all of them (ones that are actually in need of 3 or more
lines). break break! REVERT!
2014-08-20 12:03:14 +09:00
Youngbok Shin d408408283 evas textblock: fixed ellipsis character cut off issue with complex markup text.
Summary:
Evas Textblock ellipsis is handled in a item.
When the ellipsis item is added in the text, some characters are cut off
considering width of ellipsis character.
But, it is handled in only one text item.
If there are many short text item, the ellipsis item can be cut off visually.

Fixes Phab ticket T1213

@fix

Test Plan: This commit includes test case.

Reviewers: woohyun, seoz, sohyun, tasn

Subscribers: herdsman, cedric

Differential Revision: https://phab.enlightenment.org/D1311
2014-08-19 15:20:35 +01:00
Carsten Haitzler 45ccffa837 evas - fix access of NULL evas in layer for change.. on shutdown 2014-08-19 18:00:42 +09:00
Carsten Haitzler faaaf55f7a evas images - animated gifs
there are deep down bugs in evas with animated gifs. espeically if you
have multiple instances of the same gif, but for now let's just
address the problem where we have entire frames of animation
vanishing. this is because the animation frame set failed and thus
didnt notify the rest of evas. have it ignore this fail for now so
things work out.
2014-08-18 18:01:51 +09:00
Carsten Haitzler 0987f06e6b evas text - fix text object expanding when it gets some unicode in it
the text object walked all text items and took the biggest. when that
big item used some fallback font that didnt match the primary font in
ascent/descent etc. things went wrong - text expanded when not
expected to. this makes text objects just use the primary font
ascent/descent metrics and fixes e titlebar magically expanding thus
compressing window content when not expected.
2014-08-17 22:22:44 +09:00
Carsten Haitzler 4b431d3638 evas font - fix null access of font format possibility
this fixes NULL access in CID 1099705, 1099703, 1099704
2014-08-14 18:14:08 +09:00
Carsten Haitzler b25c416b14 evas 3d - remove logically dead code
coverity is right. this code is misleading - fixes CID 1210806
2014-08-14 16:35:57 +09:00
ChunEon Park b179c1d82e evas/proxy: When src object has no proxies, redraw flag is set for EINA_FALSE.
[Problem] When obj which has src object(proxy concept) are excluded from render_object,
src object's 'proxy.redraw' isn't change although src obj have not proxies.
because 'proxy.redraw' flag is changed to EINA_FALSE only in obj's subrender() called.

[Resolution] When the count of source obj's proxies is 0, src obj's 'proxy.redraw' is set for EINA_FALSE.

Signed-Off-By: Min Kyoung Kim <mer.kim@samsung.com>
2014-08-14 15:29:26 +09:00
Hosang Kim b4d013d2ec Grid: fix a mirroring bug
Summary:
When the grid is mirrored, originally code is just changed (x1,y1) to (x2,y2).
I fix calculate logic for the x-axis.
@fix

Test Plan:
1. elementary_test -> grid
2. click UI-MIRRORING toggle

Reviewers: Hermet, woohyun, raster, seoz

Reviewed By: seoz

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1325
2014-08-14 11:14:49 +09:00
Carsten Haitzler cb2f558ecf evas 3d - fix divide by zero issue from coverity
this fixes CID 1216432
2014-08-13 23:50:49 +09:00
Carsten Haitzler 72f1a2600b evas 3d - fix error handling for ftell from coverity
coverity was right again - CID 1222453 - fix.
2014-08-13 20:57:33 +09:00
Carsten Haitzler dad62cc323 evas 3d - fix null access for fopen on 3d mesh save
this fixes CID 1222455 yes fopen for write may fail!
2014-08-13 20:54:32 +09:00
Carsten Haitzler 0d05039f37 evas key bitshifts for 64bit type - fix.
coverity is right. this is another set of thse bitshift problems with
unsigned long long. fix 1224346, 1224345, 1224344 1224343 and 1224342
2014-08-13 20:49:36 +09:00
Carsten Haitzler fa5b052911 fix coveirty range complaint on modifer bit mask
this fixes CID 1224356, 1224355, 1224354, 1224353 and 1224352
2014-08-13 20:21:14 +09:00
Carsten Haitzler d539152156 address non nul terminated string due to strncpy
this addresses CID 1230994. as such  eina_unicode_unicode_to_utf8()
always returns a nul terminated string. so it's guaranteed. but yes -
if string is 7 bytes or longer it will not put a nul byte on the
destination. as such for a single unicode char this can never happen
as in utf8 it's 6 bytes. but since eina_unicode_unicode_to_utf8()
safely returns a nul terminated string at all times - we can just use
strcpy safely. no need for strncpy. also handle null return from
eina_unicode_unicode_to_utf8()
2014-08-13 09:03:02 +09:00
Tom Hacohen 90c0eb15a4 Evas textblock: strcpy->strncpy (although the buffer is always big enough).
Many tools will complain about the use of strcpy, and it's not that hard to use
strncpy anyway.

CID1039581.
2014-08-12 10:11:41 +01:00
Tom Hacohen 1d6960867d Evas textblock: remove checks for impossible null derefs.
This improves code clarity based on input from coverity.

CID1190401
CID1190402
2014-08-12 09:52:18 +01:00
Tom Hacohen c746d4b181 Evas text: fix text object size with empty texts.
@fix.
2014-08-11 13:33:26 +01:00
Jaehyun Cho b3d900e748 evas: Fix not to clean and re-render if position of object enabled map is changed
Summary: Fix not to clean and re-render if the position of an object enabled map is changed.

Reviewers: raster, cedric, Hermet

Reviewed By: Hermet

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1220
2014-08-07 15:32:40 +09:00
Youngbok Shin 7a87f322f4 textblock: Update visual_pos before calling _size_native_calc_line_finalize.
Summary:
In items loop of _size_native_calc_line_finalize,
last_it should be replaced with new item according to position.
But, visual_pos is not prepared and it is always zero in the function.
So, we need to update visual_pos.
And when textblock only has LTR text,
we can replace last_it according to item list sequence.
@fix

Test Plan:
It includes test cases using the following test case.
 1. "i<b>。</b>"
 2. "。<b>i</b>"

Reviewers: seoz, woohyun, sohyun, tasn

Subscribers: raster, herdsman, cedric

Differential Revision: https://phab.enlightenment.org/D859
2014-08-06 10:40:02 +01:00
Cedric BAIL d52f122db4 evas: fix evas events order and count.
Before this patch, if you were hooking to any event above
EVAS_OBJECT_EVENT_IMAGE_PRELOADED you will end up receiving another
event instead and be fooled into receiving the right one.

In the mean time I did discover that our table is missing one item, the
equivalent to EVAS_CALLBACK_DEVICE_CHANGED. I don't know how to properly
fix that one for now, so put NULL instead to at least avoid a random
memory access.
2014-08-06 10:37:09 +02:00
Youngbok Shin 1984961ba6 evas/textblock: fix to keep original format when a markup tag is matched to a style tag.
Summary:
We can define a style tag as opener, closer and own closer.
If there is a markup tag that is matched to style tag,
it is reprocessed to format node inside of textblock.
But, when the format node will be converted to markup text,
'/' character can be appended to text at closer and own closer style tag.
Even if original markup tag does not has '/' character,
it will be appended according to format node information.

It makes some issue when compare input text with output text.
@fix

Test Plan: This commit includes test case.

Reviewers: woohyun, raster, sohyun, tasn

Subscribers: herdsman, cedric

Differential Revision: https://phab.enlightenment.org/D1037
2014-08-05 10:26:05 +01:00
Thiep Ha 104f04eda1 Evas textblock: Correct word start/end moving at new line or line begins with spaces
Summary:
Word start/end works incorrectly when it goes to new line or line begins with spaces.
Ex: In elementary_test/Entry, place cursor at the end of line, press ctrl + right arrow keys: cursor moves to begin of next line. In this case, cursor should move to end of 1st word in next line.
Ex2: In elementary_test/Entry, add some spaces to begin of 2nd line ("   uses markup"), place cursor at the first word ("uses"), press ctrl + left arrow keys twice, cursor moves to begin of 2nd line. In this case, cursor should move to begin of last word in 1st line.

This patch provides a fix by considerring next/previous text node to move cursor to correct place.

@fix

Reviewers: woohyun, raster, tasn

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1140
2014-08-04 11:01:51 +01:00
Carsten Haitzler 2b3998cced add evas changed get in order to help fix ecore-evas bug
this does add an api, but it is to fix another bug in ecore-evas
2014-08-02 13:15:59 +09:00
Thiep Ha 808202e6af Evas textblock: Fix memory leak
Summary:
In evas_textblock_cursor_word_end function, the breaks' memory is allocated but not freed when cursor position is equal to text length.
Fix: Remove memory allocating.

@fix

Reviewers: raster, tasn

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1225
2014-07-25 16:06:37 +01:00
Daniel Kolesa d8e54e2636 eolian: use new syntax for const methods as per wiki 2014-07-22 17:13:24 +01:00
Cedric BAIL 0daff5e524 evas: do check visibility flag early to not propagate show/hide when not needed.
This should be a proper fix instead of D1217
2014-07-22 16:12:36 +02:00
Daniel Kolesa 3798eb2f99 eolian: move eina types to namespaced syntax 2014-07-21 16:30:23 +01:00
WooHyun Jung ad8daa2f84 evas: table - when colspan(rowspan) is over 2, padding size should be added.
@ fix
2014-07-19 09:50:59 +09:00
Daniel Kolesa fa3e433f6e eolian: disallow the data field in interfaces; it's always null 2014-07-18 17:29:35 +01:00
Carsten Haitzler c11592fb6a evas - render2 - now finally tracking updates right. map/proxy not done 2014-07-18 16:56:20 +09:00
Carsten Haitzler bed30a7eb9 evas - more render2 work - follows smart children now 2014-07-18 16:51:07 +09:00
Carsten Haitzler 6bf45900c8 more work on render2 - still not working with smart objects 2014-07-17 22:53:37 +09:00
Carsten Haitzler 8b2f042477 oops - remove printf that snuck in from dev 2014-07-16 22:09:41 +09:00
Carsten Haitzler f5221b9cfb evas - work on evas render2 and begin making it work at all 2014-07-16 20:43:32 +09:00
Vyacheslav Reutskiy 8ee6e168de evas: mark the evas text object as dirty, when text style is changed.
@fix
2014-07-16 14:30:51 +03:00
Vincent Torri 9631585f24 efl: remove Windows CE support 2014-07-13 15:17:17 +02:00
Daniel Kolesa c9744596de eolian: builtin bool type, and change the eo files to use that 2014-07-11 14:40:49 +01:00
Chris Michael 3d1f009a58 evas-3d: Add missing EINA_UNUSED to unused function parameter
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-07-08 14:43:29 -04:00
Dmytro Dadyka 8e496570a7 evas: Evas_3D - add fog effect. add two API function for enable and disable fog effect for given mesh.
Reviewers: Hermet, raster, cedric

CC: cedric

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

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
2014-07-07 19:26:48 +02:00
Daniel Kolesa 39aad55991 eolian: support for void as separate type type 2014-06-30 23:07:32 +01:00
Tom Hacohen bd41cfe9ea Evas: Fix object_top_at_pointer_get().
I accidentally changed that function in a previous commit.

Thanks to davemds for reporting.
2014-06-30 19:31:07 +01:00
Tom Hacohen 14ce09686a Evas object eolian: Fix namespace. 2014-06-30 17:47:07 +01:00
Tom Hacohen 25ef15dedc Evas object smart eolian: Update namespace. 2014-06-30 17:47:07 +01:00
Tom Hacohen 37bc841fcc Evas smart clipped eolian: Update namespace. 2014-06-30 17:47:07 +01:00
Tom Hacohen 896ef1a588 Evas eolian: Fix namespace for many more classes. 2014-06-30 17:47:06 +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 c19948c2cf Eo (base class): Fix .eo file to have proper namespacing for the class naem. 2014-06-30 17:47:06 +01:00
Daniel Kolesa 363d2362f2 eolian: remove all occurences of unsigned 2014-06-30 17:20:38 +01:00
Daniel Kolesa 8221e9dd45 eolian: modify all eo files according to the new type syntax 2014-06-30 17:20:38 +01:00
Jean-Philippe ANDRE d589e760d3 Evas map: Add missing EINA_MAGIC check 2014-06-22 18:12:01 +09:00
Daniel Kolesa 43e2349203 eolian/generator: public api func name deduplication, spank tasn if it breaks 2014-06-20 17:09:03 +01:00
Daniel Kolesa 3acbdaa8c7 eolian: mark all methods/properties in interfaces as virtual by default and disallow everything but class.(con|de)structor in their implements 2014-06-20 12:24:10 +01:00
Savio Sena 71c1482827 Evas/Eolian: Eolian'ized Evas_Object events.
Summary:
The event descriptions of Evas_Object were hardcoded instead
of declared in evas_object.eo and thus no binding could be aware of
their existence.

Note: Evas_Canvas events were left as is.

Reviewers: cedric, tasn, q66, JackDanielZ

Reviewed By: q66

CC: felipealmeida, raster, smohanty, cedric

Differential Revision: https://phab.enlightenment.org/D1065
2014-06-20 10:55:57 +01:00
Daniel Kolesa e9f4890747 eolian: fix end-of-file checking, move namespaces from :: to . 2014-06-20 10:46:04 +01:00
Jean-Philippe Andre 10e8b72667 Evas: Fix potential memory leak (save with encoding) 2014-06-18 16:28:37 +09:00
Daniel Hirt 2b40860f78 Evas/Textblock: Introduce PS deletion bug test and fix
Summary:
This test should make the test suite fail. It sets "a<ps>b" and
"a<ps/>b" markups, and deletes the PS format. Essentially, these two
different markups should have the same result by this deletion. Instead,
only the <ps/> format gets deleted properly.
A follow-up commit is added with this as a fix.

Evas/Textblock: fix deletion of PS bug

Fixes an issue with deletion of "<ps>". Format deletion was only
performed for formats that are own-closers. This sets the paragraph
separator to be an own-closer format.

@fix

Reviewers: tasn

Reviewed By: tasn

CC: JackDanielZ, id213sin

Differential Revision: https://phab.enlightenment.org/D1046
2014-06-17 11:11:33 +01:00
Tom Hacohen 1d52065438 Evas textblock: Fix issue with edje fonts not being used.
The issue was within the fontconfig fallback mechanism and our cache. We
used to just use the fontconfig fallback list, instead of also using the
correct edje font.

This can probably be improved a bit by not caching the fontconfig set,
but cache a list of the filenames instead. This is more generic and will
improve cache as well.

Fixes T1331

@fix
2014-06-13 15:29:59 +01:00
Jean-Philippe Andre d0d9dbfdba Evas: Add encoding parameter to the savers
ecore_evas_convert: Add -e/--encoding option

This uses directly the encoding parameter.
For now, used only by the TGV saver, but there is no other way
to specify between ETC1 and ETC2. And we don't have a mixed ETC1+2
mode (yet).

@feature
2014-06-13 16:05:48 +09:00
Carsten Haitzler 2f2def0861 evas 3d - fix uninitialized orientation var 2014-06-12 12:40:25 +09:00
Jean-Philippe Andre c99449ea09 Evas filters: Allow use of a color multiplier
We couldn't do evas_object_color_set() on a filtered text
object simply because the color was not properly taken into
account.

This should simplify some effects as it'll be much easier to
set a color or alpha value to the text regardless of the filter.

Hmm, is this a fix or feature? O_o
2014-06-12 10:59:56 +09:00
Youngbok Shin f7cf96d4d9 evas/textblock: check item's type before returning result.
Summary:
When format item is cut off by ellipsis, result of "_find_layout_item_line_match"
can be TEXT type item. And it keeps ellipsis item's information.
@fix

Test Plan: D974

Reviewers: woohyun, tasn

CC: cedric, herdsman

Differential Revision: https://phab.enlightenment.org/D975
2014-06-10 15:08:09 +01:00
Daniel Zaoui d668a0a726 3d: Fix shadow declaration 2014-06-08 12:40:42 +03:00
Bogdan Devichev 700f4396e1 evas: Evas_3D - add .obj export/import.
@feature

Reviewers: raster, Hermet, cedric

Reviewed By: cedric

CC: cedric

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

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
2014-06-05 20:49:26 +02:00
Oleksandr Shcherbina a25aa1aa1a evas: Evas_3D - Revision frustum culling.
Summary:
Add API that checks OBB's points of node are inside frustum of camera.
Add example with frustum culling.

@feature

Reviewers: Hermet, cedric, raster

CC: cedric

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

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
2014-06-04 19:55:34 +02:00
Cedric BAIL 21e7a3aed9 evas: check that we don't use a NULL pointer on wrong frame number.
CID 1220083
2014-06-04 01:18:51 +02:00
Tom Hacohen 0fc3279db9 Efl: Update code to use the new class names generated by eolian. 2014-06-03 11:28:01 +01:00
Tom Hacohen d9263e6571 Eo base: rename event_freeze_get to event_freeze_count_get.
This is needed because of a possible clash between the method event_freeze
and the property event_freeze with bindings.
2014-06-02 12:50:23 +01:00
Guillaume Friloux 91afb45cd0 Fix warning with -Wincompatible-pointer-types-discards-qualifiers 2014-05-30 10:43:54 +02:00
ChunEon Park 6f1f49b4f6 evas/evas_3d: fix implicit declaration function call.
Thanks JackDaniel for reporting.
2014-05-30 08:46:16 +09:00
Daniel Hirt 177135ff0d Evas/Textblock: add support for ellipsis values
Summary:
This enables textblock to support more values other than 1.0.
For 0 <= ellipsis < 1.0, it splits the text such that it fits the
textblock's width. The ellipsis is relatively position according to the
ellipsis value, and characters are removed also relatively.
For example, a value of 0.5 will position the ellipsis right in the
center of the textblock's width, while removing characters equally right
and left from the center.

Basic approach to this feature was to do some work before the layout
process. We calculate the expected total width of the items, and by how
much we exceed from the textblock's width. Afterwards is it just some
careful work to set the boundaries of the width we want to cut, and
deciding which characters we need to removed to fulfill this requirement.
The rest is splitting the text and visually-removing the part we
need to cut.
This is all handled before any logical lines are created, so the
_layout_par function remains almost intact. A designated _ellip_prev_it
field in the Paragraph struct instructs after which item we place the
ellipsis item, if at all.

Note that we keep the fast path for ellipsis 1.0, as heavier work needs
to be done for the other values.

Added tests to evas_suite for a range of ellipsis values.

Also, multiline is unsupported at the moment.
@feature

Test Plan: Anything that uses Evas Textblock (single-line, please)

Reviewers: tasn, id213sin, raster

CC: cedric, JackDanielZ, raster

Differential Revision: https://phab.enlightenment.org/D905
2014-05-29 15:52:01 +01:00
Daniel Zaoui b9b5fe5744 Evas_3d: fix warnings. 2014-05-29 09:58:27 +03:00
Tom Hacohen c58b3401c3 Eo/evas events: Move legacy events dynamic generator to eo. 2014-05-28 12:28:17 +01:00
Carsten Haitzler cedfc6e49e warning-- 2014-05-28 18:26:51 +09:00
se.osadchy 0bc5d3176a [Evas/evas_3d_scene] Propagate events.
Summary: Add 3 new APIs function for full work of the picking nodes.

Reviewers: Hermet, cedric, raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D889
2014-05-28 18:24:58 +09:00
ChunEon Park b61b1c9412 evas/textblock - apply efl coding style. 2014-05-28 14:19:46 +09:00
ChunEon Park fbb4d092cb evas/textblock - removed unnecessary null check.
It should be definitely valid.
It's meaningless checking the value there.
2014-05-28 14:14:35 +09:00
ChunEon Park e973390f64 evas/textblock - null check format.
logically it's insane that it doesn't check the null there but it checks right next line.
2014-05-28 14:09:34 +09:00
Jaehyun Cho eee9607a4b evas_font_dir: Prevent the use after free
Summary: Pointer fd is used after being deallocated.

Reviewers: Hermet

Reviewed By: Hermet

CC: seoz, cedric

Differential Revision: https://phab.enlightenment.org/D906
2014-05-28 11:24:34 +09:00
Tom Hacohen cf4ad9328a Evas textblock: Fix wrong advance calculation when bidi is disabled.
The last_it was not updated correctly with bidi disabled.

Thanks to Daniel Hirt for spotting this.

@fix
2014-05-27 14:20:18 +01:00
Oleksandr Shcherbina e47373aee1 [evas/evas-3d] Add OBB and AABB.
Summary: Add axis-aligned bounding box (AABB) to frame. Set and update AABB and oriented bounding box (OBB) in node.

Reviewers: Hermet, cedric, raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D881
2014-05-27 22:07:29 +09:00
Youngbok Shin bc70a1bd84 evas/text: fix abnormal ellipsis logic when harfbuzz is enabled.
Summary:
text_props.len indicates visual length from harfbuzz logic when it is available.
But, input pram "idx" is logical length. So, ellipsis works abnormally in some case.
@fix

Test Plan: D870

Reviewers: tasn, woohyun

CC: cedric, herdsman

Differential Revision: https://phab.enlightenment.org/D871
2014-05-21 10:41:29 +01:00
ChunEon Park c3cd680fad evas/render - fix segfault because of null cow access.
issue ticket: T1252

@fixed
2014-05-19 22:45:46 +09:00
ChunEon Park d497cd4364 evas/evas3d: reset image properies if the image is used for scene. 2014-05-12 19:55:47 +09:00
ChunEon Park 97c7f36a50 evas/evas3d: discard proxy textures list properly.
this fixes evas-3d-proxy example to be exited correctly.
2014-05-12 16:47:54 +09:00
ChunEon Park 7ef3276a66 evas/evas3d: fix proxy texture source set.
the appeneded texture should be object itself but not private data.
2014-05-12 15:42:57 +09:00
Cedric Bail 2042bdf922 evas: fix uninitialized value in Evas_3D.
CID 1211986.
2014-05-10 12:04:12 +02:00
Cedric Bail d36bc1f95a evas: remove left over Evas_3D public/released API. 2014-05-10 12:04:11 +02:00
Cedric Bail 45d1cd0b01 evas: fix use of uninitialized value in Evas_3D_Mesh. 2014-05-10 12:04:03 +02:00
Cedric Bail d8652193fc evas: fix uninitialized value being used when the engine doesn't support Evas_3D.
CID 1211988
2014-05-10 11:44:57 +02:00
Jérémy Zurcher f8c2c57406 do not use EINA_FALSE instead of NULL 2014-05-07 17:45:11 +02:00
ChunEon Park a5b89f17b3 evas - removed stdlib.h math.h header include in each source files.
It's included in the evas_common_private.h.
2014-05-07 16:33:23 +09:00
ChunEon Park 8e9657ebb6 evas/evas3d: don't be crash when it's running on sw backened.
It doesn't have a plan that evas3d supports sw backened in the near future,
let it prenvent engine function access in case of sw backened.
2014-05-07 16:23:53 +09:00
ChunEon Park fac0ab79b0 evas/evas3d: exceptional handling if a camera doesn't set to a scene. 2014-04-30 20:24:20 +09:00
ChunEon Park c399017cef evas - removed unncessary header include
it's already done in evas_common_private.h. no need it in each file.
2014-04-29 15:44:29 +09:00
Jean-Philippe Andre 9873ced7a4 Evas: Disable legacy bindings for the filters
Those are BETA APIs.
Define EFL_BETA_API_SUPPORT to use these Eo APIs.
2014-04-27 17:55:18 +09:00
Jean-Philippe Andre ed0ac9fec7 Evas image: Gracefully handle filter failures
Add proper callback and mark filter as invalid in case of failure.
This might still trigger a redraw.
2014-04-27 17:41:40 +09:00
Jean-Philippe Andre ee840eecd1 Evas image: Skip draw when the image size is < 0 due to filter padding
If the Image Object size is smaller than the required padding,
nothing should be drawn, so just skip it.
2014-04-27 17:41:40 +09:00
Jean-Philippe Andre 89acf9cf28 Evas image: Add read-only property filter_padding
Returns l, r, t, b and true/false if the filter is used & valid.
2014-04-27 17:41:40 +09:00
Jean-Philippe Andre fe0f7566d5 Evas filters: Fix image with filters using fill mode
Depending on the "filled" flag, adjust how the image is filtered.
Filled: take padding into account and zoom out original image if needed
Non filled: we're tiling anyways, so padding doesn't have any meaning
2014-04-27 17:41:40 +09:00
Jean-Philippe Andre 223e1258c1 Evas filters: Quick redraw using output buffer
In Image_Object, reuse the previous output buffer if it is
still valid (image didn't change, etc...).
2014-04-27 17:41:40 +09:00
Jean-Philippe Andre 59cf013db9 Evas filters: Add support for Evas_Object_Image
This adds filter support to Image objects as well.
The exact same filters can run on Text and on Images
(provided some colorspace limitations are respected).

This basically adds:
- Support for RGBA input buffer
- Eo entry points for Image filter support
- Implement basic filter support in Evas_Image
2014-04-27 17:41:40 +09:00
Daniel Zaoui bd71bb2a88 Evas_3d: fix some typo in .eo.
@in is not used for properties.
2014-04-26 10:28:11 +03:00
Daniel Zaoui a9779aa4ed Evas_3d: modify .eo files to disable legacy.
Instead of setting legacy to null to every function, you can set the
class legacy_prefix to null. It will disable legacy for all the class.
2014-04-26 10:10:06 +03:00
Cedric Bail 53a9fcf301 evas: remove Evas_3D legacy API. 2014-04-25 19:29:08 +02:00
Cedric Bail b1342d933d evas: our API are always build in, only the header require define to be used. 2014-04-25 16:41:08 +02:00
Cedric Bail ec4c2de044 evas: rename near and far as it seems protected on Windows. 2014-04-25 16:17:27 +02:00
Daniel Zaoui 822cbf9759 Evas_3d: Fix warnings. 2014-04-25 16:38:17 +03:00
Cedric Bail 6efce2289b evas: fix massive number of warning introduced by Evas_3d. 2014-04-25 14:36:20 +02:00
ChunEon Park 10762793e8 evas/image: updated image_scene_set/get doc. 2014-04-25 20:19:33 +09:00
ChunEon Park 57360fdf20 evas/image - fixed typo 2014-04-25 20:10:46 +09:00
ChunEon Park 5fbd7b6f0f evas/image - fill up a missed initial value in the image state. 2014-04-25 20:01:26 +09:00
ChunEon Park 60cfdc4b4f evas/evas3d: rename 3d_scene_set()/get() to scene_set()/get()
if eolian generates c++ apis, the method name will be started with

numberic character that wont' be accepted by c++ language.

so renamed.
2014-04-25 19:53:18 +09:00
ChunEon Park 844dddbb2f evas/evas3d: clean up camera code.
rewrite for more efl style.
2014-04-25 17:35:22 +09:00
ChunEon Park a023d3f9b9 evas/evas3d: just cleanup image code.
changed to clean efl style.
2014-04-25 17:34:53 +09:00
ChunEon Park 23af2510ce evas/evas3d - changed file access authority.
don't other users execute or write them.
2014-04-25 17:19:51 +09:00
subhransu ac7cea1eb8 Evas_3D : Eolian change for Evas_3D_Object.
Conflicts:

	src/lib/evas/Evas_Eo.h
2014-04-25 17:01:04 +09:00
subhransu e84e28fc22 Evas_3D : Eolian change
Conflicts:

	src/Makefile_Evas.am
	src/lib/evas/Evas_3D.h
	src/lib/evas/Evas_Eo.h
2014-04-25 16:58:47 +09:00
Subhransu Sekhar Mohanty f7503e61ac Evas: 3D: Change the api name from t3d_scene to 3d_scene as the eolian issue got fixed. 2014-04-25 16:47:32 +09:00
Taekyun Kim 6856e562ca Evas: 3D: Refined proxy texture implementation
Added new APIs for controlling source object's visibility.
Fixed bugs related to updating proxy textures.
2014-04-25 16:20:24 +09:00
Taekyun Kim fc6cdaaa9d Evas: 3D: evas_3d_node_look_at_set() bug fix 2014-04-25 16:19:18 +09:00
Taekyun Kim 8fda631730 Evas: 3D: Introducing 3D scene rendering features
Enable 3D features using --enable-evas-3d=yes when configuring.
APIs are exposed through Evas_3D.h.
Currently, evas-3d is being supported only on gl_x11 engine.

Conflicts:

	src/lib/evas/Evas_Eo.h
2014-04-25 16:15:41 +09: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 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 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
Carsten Haitzler 8767a80b0d fix overdraw issue in evas when clips change
the comments say it all. this stops adding massive full window updates
when clippers lose all children (and are visible) or gain a first
child while visible as all code hides these clip rects (or shows them)
in these cases and other usages just make no sense.
2014-04-16 16:14:16 +09:00
Carsten Haitzler 04a6f45756 remove unused code 2014-04-16 15:22:42 +09:00
Carsten Haitzler b1d4100508 evas rects - missing update rect del if rect solid && not changed
small improvement
2014-04-16 15:22:08 +09: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 1563181922 Eolian: Legacy integration of Evas Rectangle, Polygon, Line, Textgrid and Textblock 2014-04-11 09:26:15 +03:00
Tom Hacohen 30d945307c Move to Eo2 and adjust code accordingly
Eo2 is the new object system for the EFL, and the replacement for Eo. It
improves Eo1 in many ways that will be listed on the Wiki and discussed
on the ML before.

Another change this merge includes is using the slightly different API
eo2 offers in actual code.

For example:
eo_do(obj, elm_object_text_get(&text));
becomes:
eo_do(obj, text = elm_object_text_get());

@feature
2014-04-10 09:46:04 +01:00
Carsten Haitzler 059aba7c37 fix invalid memory access where child cb frees table cache - new it seems
i havent seen this before so i would not cal lit an old bug that needs
a fix tag
2014-04-10 16:44:58 +09:00
Tom Hacohen 374af9b9ca Eo: eo_base's data_*->key_data_*. 2014-04-10 04:20:21 +01:00
Tom Hacohen 35525a53e0 Adjust eo_do calls to work with the eo2 api. 2014-04-10 04:20:21 +01:00
Tom Hacohen 8e5234cf75 Evas textblock: Minor code cleanup.
Moved a global variable into a local scope, as it's no longer needed globally.
2014-04-02 10:06:57 +01:00
ChunEon Park 22162a66f3 evas - fix incorrect object reset.
If the children are rendered in the proxy render time,
they should not be reset the changes always since we don't sure
they will be rendered in normal rendering after.

In this case, we leave them as they are.
But maybe they can be optimized by comments says.

@fix
2014-04-01 14:08:14 +09:00
zmike e5d207fc25 +evas_object_image_mmap_get() 2014-03-31 09:51:00 -04:00
Tom Hacohen 2e7565b7c3 Evas textblock: Fixed compilation with FriBiDi disabled.
This issue was introduced in d175b8aa69
during the previous merge window.

Thanks a lot to vtorri for reporting.
2014-03-31 11:41:51 +01:00
ChunEon Park b1dc908681 evas/proxy - actually, I missed updating is_active of the object.
this commit is introduced by this b2070f8c39.
2014-03-27 16:16:49 +09:00
ChunEon Park b2070f8c39 evas/proxy - redraw proxy source properly.
This patch fixes the proxy drawing problem that source won't be updated in some case

If the image object is the one member of the smart that has the proxy,
the proxy(image part) won't be redrawed properly unless evas tries to draw the image object.
This can be heppend if the image object is inactive cause of some reasone(ie. outside of the screen)
So, the proxy object never can be never updated even the image part is changed.
Now let try to be active if the parent is both active and source object.

and revert previous change with regarded to a739716cee,
that's no more required now.

@fix
2014-03-27 15:47:00 +09:00
Daniel Hirt 5778896735 Evas Textblock: increase ref of format before work
We need to increase ref count for the format prior to calling of
functions that handle the layout.
This resolves valgrind error of accessing already freed memory.
Please note that a scenerio to trigger this exists in test suite, and
for some reason is not being detected by jenkins.
@fix
2014-03-26 12:32:25 +00:00
Jean-Philippe Andre b027e58a96 Evas filters: fix potential memory leak
Unlikely use case trying to delete a source when there are no
sources yet.

@fix
2014-03-21 15:23:02 +09:00
Jean-Philippe Andre fc3472aae5 Evas filters: Fix Eo documentation of program.set
The generated header "looked" a bit broken and some bits of doc
were dropped during the transition. Not a very big deal. :)
2014-03-21 15:23:02 +09:00
Cedric BAIL fe2948be08 evas: let's be to safe than sorry.
Fix CID 1193214.
2014-03-20 16:50:48 +09:00
Jean-Philippe Andre 079e5d3692 Evas image: Improve diagrams in comments
Purely non functional change, for readability :)
2014-03-20 11:13:32 +09:00
Yossi Kantor de0c0f0fd8 Eolian: Added class constructor delegate to Evas Box 2014-03-19 07:04:28 +02:00
Daniel Zaoui 6fd341a449 Eolian: Fix ctor/dtor generation 2014-03-19 07:04:28 +02:00
Tom Hacohen 7fd1ffc8c1 Evas box: Use the correct include for the generated eo file. 2014-03-18 12:07:57 +00:00
Yossi Kantor 0311cb6091 Eolian: Integration of Evas Box 2014-03-18 11:08:55 +02:00