Commit Graph

8277 Commits

Author SHA1 Message Date
Srivardhan Hebbar b1e1186b8e ecore_con: change Ecore.Con.Client to Efl.Network.Client.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-02-12 21:25:55 +01:00
Ivan Furs 5af22ba27a evas: optimize Canvas3D calculation of bounding space
Summary: Bounding box and sphere will calculate if user need callback of collision or data of box or data of sphere.

Reviewers: sri.hebbar, cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-02-12 21:25:55 +01:00
Cedric BAIL 61f7236a62 edje: fix typo affecting our 32bits signal matching code.
Big thanks to Maxim who did a serious digging in this issue making it almost
a patch review.

T3125

@fix

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-02-12 21:25:55 +01:00
Tom Hacohen 4bfcc8a347 Eolian eina_types: Add Eina.Matrix3 and start using it. 2016-02-12 14:41:40 +00:00
Tom Hacohen 11cb01008b Ector gl renderer: Fix Eolian warnings.
This includes either migrating types to eolian, fixing namespace or
importing extra types.
2016-02-12 14:34:10 +00:00
Tom Hacohen 3bb5b9d6b0 Efl animator: Fix Eolian warnings.
This includes either migrating types to eolian, fixing namespace or
importing extra types.
2016-02-12 14:32:36 +00:00
Tom Hacohen 08ca3a5623 Ector gl surface: Fix Eolian warnings.
This includes either migrating types to eolian, fixing namespace or
importing extra types.
2016-02-12 14:29:27 +00:00
Tom Hacohen b69da2f189 Ector generic surface: Fix Eolian warnings.
This includes either migrating types to eolian, fixing namespace or
importing extra types.
2016-02-12 14:29:27 +00:00
Tom Hacohen 24bf636a3e Ector generic buffer: Fix Eolian warnings.
This includes either migrating types to eolian, fixing namespace or
importing extra types.
2016-02-12 14:29:27 +00:00
Tom Hacohen 0aabd01d13 Ector cairo: define cairo_t as extern. 2016-02-12 14:29:27 +00:00
Tom Hacohen 57cb1d8ec0 Ecore exe: Move more structs and enums to Eolian. 2016-02-12 14:29:27 +00:00
Tom Hacohen 3dd4b218da Ecore con dns: Fix eo file warnings. 2016-02-12 14:29:27 +00:00
Chris Michael 3bc6a4bedf ecore-x: Add EINA_SAFETY checks for missing display
xlib immediately crashes upon being passed a null DISPLAY object,
so every function in ecore-x should likely have safety checks such
as these.

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-12 08:28:10 -05:00
Chris Michael ef13b57948 ecore-x: Add EINA_SAFETY checks for missing display
xlib immediately crashes upon being passed a null DISPLAY object,
so every function in ecore-x should likely have safety checks such
as these.

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-12 08:28:10 -05:00
Chris Michael eb11b7f26e ecore-x: Add EINA_SAFETY checks for missing display
xlib immediately crashes upon being passed a null DISPLAY object,
so every function in ecore-x should likely have safety checks such
as these.

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-12 08:28:10 -05:00
Tom Hacohen 5b083ace84 Evas textblock: Properly ifdef hyphenation out.
I found this thanks to coverity. There was some code that we were running
although hyphenation was actually off.

CID 1341062.
2016-02-12 12:21:06 +00:00
Youngbok Shin 0186f87c49 Evas textblock: Fix _dict_hyphen_load could return an uninitialized pointer
Summary:
If there are hyph_*.dic files except for requested language,
"dict" pointer could be return without initialized. It doesn't make any
warning messages when it is compiled. Normally, it is NULL implicitly.
But, it is good to set NULL explicitly for understanding code.

Test Plan: N/A

Reviewers: herdsman, tasn, woohyun

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3674
2016-02-12 09:46:44 +00:00
Chris Michael 43fa91f428 ecore-x: Fix compiler warnings about return values
This is an "oopsie" fix from my previous commit wrt adding EINA_SAFETY
checks. I made an oopsie and didn't realize that these 2 functions
were expecting int returns.

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-11 11:21:50 -05:00
Chris Michael adeb28a1c0 ecore-x: Add EINA_SAFETY checks for missing display
xlib immediately crashes upon being passed a null DISPLAY object,
so every function in ecore-x should likely have safety checks such
as these.

@ref 210b3e6c62

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-11 10:12:10 -05:00
Youngbok Shin b4f254e1a3 Evas font: Use proper enum value for extrabold
Summary:
ULTRABOLD is identical to EXTRABOLD in freetype.
But, "extrabold" word is added for FC_WEIGHT_EXTRABOLD.
So, it has to be changed to use EXTRABOLD instead of
ULTRABOLD. It was mistake in my previous commit.
@fix

Test Plan: N/A

Reviewers: tasn, herdsman, woohyun

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3673
2016-02-11 10:17:46 +00:00
Vitor Sousa e79ee4d645 efl: fix installation and compilation of efl_types.eot.h
Summary:
Fix Efl.h include problem of the installed header "efl_types.eot.h".

Move efl_types.eot to src/lib/efl/interfaces to compile and install at
the same place of other Eolian-generated headers.

Test Plan: compile and test expedit

Reviewers: felipealmeida, stefan_schmidt, tasn, cedric, q66, JackDanielZ

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D3670
2016-02-10 20:02:11 -02:00
Nicolas Aguirre 95a494c73e eeze: add case for Graphics subsystems in eeze_udev_find_by_type
Add code to detect Graphics subsystem, i.e framebuffer devices
/dev/fbX in eeze. This will be used in Ecore-Fb to detect the
framebuffers present on the system.

@feature

Signed-off-by: Nicolas Aguirre <aguirre.nicolas@gmail.com>
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-02-10 10:46:45 -08:00
Florent Revest 1d99c5b907 evas: include Eet.h where it's needed.
This patch is applied by OpenEmbedded project to let evas build
correctly in crosscompilation environnement.
cf: https://github.com/openembedded/meta-oe/blob/master/meta-efl/recipes-efl/efl/efl/0002-evas_3d-Add-Eet.h-includes.patch

@fix

Signed-off-by: Nicolas Aguirre <aguirre.nicolas@gmail.com>
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-02-10 10:46:45 -08:00
Daniel Kolesa 30bc1d285b eolian: allow silencing of type errors in validation
This allows generators to silence type errors in validation in order
to reduce duplicate error messages when generating multiple files.
Also adjusted the C generator to only emit type errors when generating
Eo header files.

@feature
2016-02-10 16:05:07 +00:00
Felipe Magno de Almeida 1ef076b412 efl: Have Efl.Time outside of a beta guard
Since this is a essential type, this must not be guarded by a beta
symbol guard.
2016-02-09 18:17:55 -02:00
Felipe Magno de Almeida e1de58a3ad efl: Renamed Ecore.Time to Efl.Time and defined it
Moved the Ecore.Time @extern struct to Efl lib and defined it as
specified in C specification for struct tm. Thus, bindings can be
automatically generated for where struct tm is used.
2016-02-09 13:28:25 -02:00
Vitor Sousa 0e8ce5dd23 ecore: move Ecore_Pos_Map to ecore_types.eot
Move Ecore_Pos_Map from Ecore_Common.h to ecore_types.eot.
Give it the namespaced Eolian name "Ecore_Pos_Map" to follow the
standards.

Update documentation to refer to Ecore_Pos_Map instead of its previous
enum definition "_Ecore_Pos_Map".
2016-02-09 11:38:58 -02:00
Vitor Sousa c674f64a07 ecore: create ecore_types.eot and add Ecore.Time to it
Create the file ecore_types.eot to hold common types related with Ecore.

Add Ecore.Time as an external type to ecore_types.eot.
This type is intended to be a alias to struct tm (from time.h).
That way .eo files have a standard way to reference it.
Each language should manually bind it.
2016-02-09 11:38:58 -02:00
Mike Blumenkrantz da127a69d0 evas: check EINA_MEMPOOL env var when creating evas mempool allocators
this should really be a utility function already since all mempools in efl use
the exact same code...
2016-02-05 14:35:28 -05:00
Mike Blumenkrantz 6a93062b25 eina: invalidate last add/del rects when the opposite operation occurs
applying this optimization to prevent the same rectangle from being added
or removed repeatedly in succession would result in the rejecting of successive
operations of the same type when the other operation occurred in between.

as an example:

add(0, 0, 100, 100)
del(0, 0, 100, 100)
add(0, 0, 100, 100)

should yield (0, 0, 100, 100), not zero rects and a failure to add the
second rect

this fixes a serious issue in enlightenment where stacking three windows
on top of each other with the first and third windows having the same geometry
would result in the top window receiving no input geometry (oops)

@fix
2016-02-05 14:35:28 -05:00
Chris Michael 81d08c1db7 edje: Remove unused variables
This patch just removes some unused variables that the compiler was
warning about

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-05 08:35:04 -05:00
Tom Hacohen d4bd7d7033 Ecore con local: properly clean up fd on error.
This wasn't done correctly in the previous commit. First of all, the
order of cleanup was wrong, the cleanup area should only be called if
failures occurred after the fd allocation, not before. Also, fd should
be reinitialised to -1 once we close the socket.
2016-02-05 11:48:36 +00:00
Awadhesh Singh f05577c3ae Ecore con: Close server socket fd on failure.
Summary:
Socket fd must be closed to avoid file discripter leak.
Programs can usually only open a limited number of file descriptors,
so if this happens a lot, it may turn into a problem.

@fix

Reviewers: raster, Hermet, wonsik, spacegrapher, cedric, jpeg, tasn

Reviewed By: tasn

Subscribers: cedric, alok25, yashu21985, singh.amitesh

Differential Revision: https://phab.enlightenment.org/D3660
2016-02-05 11:44:41 +00:00
perepelits.m 9589bb0762 edje: add new part types to edje_cache
Summary: Add new part types (Mesh_Node, Camera, Light) to edje_cache

Reviewers: cedric, raster, Hermet

Subscribers: jpeg, artem.popov

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-02-05 08:19:42 +01:00
Srivardhan Hebbar fca9ff1322 ecore_con: changing Ecore.Con.Server to Efl.Network.Server.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-02-05 08:10:52 +01:00
se.osadchy b216d15fe7 eina: add eina_vector3 as static inline.
Summary: Move evas_vec3 to eina_vector3 and add documentation.

Reviewers: stefan_schmidt, jpeg, cedric

Reviewed By: cedric

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-02-05 08:07:45 +01:00
Jee-Yong Um 800f5d8156 edje: introduce color_tree (color_class inheritance)
Summary:
The "color_tree" block contains a list of one or more "node" blocks.
A "node" block consists of its own color class name and the list of child
color classes. At runtime, parent color class will be referred instead,
if child color class is set to part but its color values are not defined.

Reviewers: raster, Jaehyun_Cho, jpeg, cedric

Reviewed By: cedric

Subscribers: cedric, kimcinoo

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-02-05 07:55:49 +01:00
Cedric BAIL d1e79c7dae ecore_evas: refactorize code and make sub ecore evas exploration recusrive. 2016-02-05 06:05:30 +01:00
Cedric BAIL cf172baa9d ecore_evas: improve debugging for Ecore_Evas animator. 2016-02-05 06:05:01 +01:00
Cedric BAIL b02d34a839 edje: add back use of Ecore_Animator when the Edje object is created on an non Ecore_Evas canvas.
This is necessary for backward compatibility still I am thinking of displaying a warning for this
use case and request people to update there work and drop that feature in the future (In a year
maybe from now). Elementary doesn't need this as it depends on Ecore_Evas.
2016-02-05 06:02:29 +01:00
Youngbok Shin 931b225895 Evas textblock: Save memory space reducing unused hyphen dictionary loads
Summary:
Commonly, only few hyphenation dictionaries are used at a application.
So, loading all of dictionary files could cause waste of memory.
Evas textblock has to load hyphenation dictionaries only when it is
really needed.

Test Plan: N/A

Reviewers: woohyun, tasn, herdsman

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3626
2016-02-04 17:30:58 +02:00
Chris Michael 497a287f07 This should not have been pushed. Revert
Revert "ecore-drm: Add API functions for rotation support"

This reverts commit b8ceaf0d40.
2016-02-04 09:44:45 -05:00
Chris Michael 1486c7053a This should not have been pushed. Unsure what happened here, but
revert this

Revert "ecore-drm: Add opaque type for Plane support"

This reverts commit 94082f54e8.
2016-02-04 09:44:17 -05:00
Chris Michael b8ceaf0d40 ecore-drm: Add API functions for rotation support
This adds 2 new API functions for getting supported rotations of an
output, and for setting rotation on an output

@feature

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-04 09:36:33 -05:00
Chris Michael 94082f54e8 ecore-drm: Add opaque type for Plane support
This adds an opaque structure to represent a hardware plane for use in
rotation, setting cursor/overlay/primary plane content, etc

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>

ecore-drm: Add API functions for rotation support

This adds 2 new API functions for getting supported rotations from an
output, and for setting rotation on an output.

@feature

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-04 09:35:51 -05:00
Chris Michael 3ed4b3e6fd ecore-drm: Add internal function to create planes for an output
This patch adds an internal function that we use during output
creation in order to create the planes necessary and get the supported
rotation values for an output

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-04 09:27:40 -05:00
Chris Michael 26eefa970f ecore-drm: Add API function to set rotation on an output
This patch adds an API function to allow the Screen Setup dialog in
Enlightenment to support setting rotations on an output when running
under drm

@feature

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-04 09:27:40 -05:00
Chris Michael bb774a538e ecore-drm: Add API function to get supported rotations from an output
This patch adds an API function so that we can get the supported
rotations from an output. This is needed so that the Screen Setup
dialog in Enlightenment can list the rotations supported for the user
to choose from while running using drm

@feature

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-04 09:27:38 -05:00
Chris Michael babd202d05 ecore-drm: Add opaque structure for Ecore_Drm_Plane
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-04 08:53:16 -05:00
Youngbok Shin 33ea565347 Evas: Use proper language for harfbuzz shaping
Summary:
Evas Text, Textblock, Textgrid keeps own language information.
This language information could be vary from the result of setlocale().
Especially, Evas Textblock supports <lang> tag. The language could be
changed in the middle of text. All of these language has to be used
for harfbuzz shaping.
@fix

Test Plan: N/A

Reviewers: herdsman, raster, woohyun, tasn

Reviewed By: tasn

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3628
2016-02-04 10:07:08 +00:00
Tom Hacohen 668fd4a6e8 Eo: add support for initialising eo after it has been shut down.
Until now it wasn't allowed/possible to init (eo_init) eo after it has
been shut down (eo_shutdown). This commit fixes that, so now that is
fully legal to have as many init/shutdown cycles as you want.

There was a previous workaround for this issue:
e47edc250d.

This should allow more flexibility when using the EFL in loadable
modules and in various other scenarios.

The problem is that the class_get() functions cache the previously
created class for efficiency, but the class is freed if eo is shut down,
so the cached pointer is actually invalid.
The solution to the problem was to maintain a generation count
(incremented every time we shut down eo), and compare that to a locally
saved version in class_get(). If they don't match, recreate the class,
as it has already been freed.

@feature
2016-02-04 09:27:15 +00:00
Tom Hacohen 43d05a334d Revert "Eo: Prevent shutdown from actually doing anything"
This commit was a workaround to let us shutdown and then init eo without
any issues. It leaks and it's wrong. This will properly be fixed in the
next commit.

This reverts commit e47edc250d.
2016-02-04 09:27:15 +00:00
Jean Guyomarc'h 505491c47c edje: fix edje_file_data_get() when no collections are present
Summary:
edje_file_data_get() failed if the Edje file did not contain
a collection (e.g. contained only data.item.
This allows to load data from the file even when no collections
are present, but only if specified.

@fix

Reviewers: raster, jpeg, stefan_schmidt, cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-02-03 15:27:43 -08:00
Jee-Yong Um ee31bb541e edje: add "keys" block to classes setter/getter
Summary:
With "keys" block, make color/text/size_class setter/getter
to @property methods.

Reviewers: jpeg, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-02-03 15:27:43 -08:00
Tom Hacohen d01ed68825 Eo: fix eo_shutdown()'s return value to be FALSE on shutdown.
The return value of init/shutdown is true if eo is init, false otherwise.
This was broken until now.

@fix.
2016-02-03 16:56:15 +00:00
Jean-Philippe Andre 10de442a00 Efl: Fixup ref in eo file that I forgot to commit 2016-02-03 20:13:46 +09:00
Jean-Philippe Andre 1ac79c3b13 Efl: Eo-ify remaining Efl.Gfx enums and structs 2016-02-03 20:09:26 +09:00
Youngbok Shin 757f842992 Evas textgrid: Use default language according to locale
Summary:
Use default language according to locale.
It's the same as the recent changes on Evas Text, Textblock.
@feature

Test Plan: N/A

Reviewers: herdsman, raster, tasn

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3642
2016-02-03 09:34:32 +00:00
Tom Hacohen 6721a7f1d6 Eo base: Make object del event @hot.
This event also needs to be hot, because it's lifecycle related.
We could leak and etc. if this event is not hot.

@fix.
2016-02-03 09:15:04 +00:00
Jean-Philippe Andre f80409db30 Ecore evas: Fix compilation warning (missing initializer) 2016-02-03 14:53:54 +09:00
Jean-Philippe Andre 2405c93f2c Evas engines: Add missing initializers in Ecore_Evas_Engine_Func 2016-02-03 14:51:57 +09:00
Cedric BAIL f35e2b8bf0 edje: remove unecessary forced call to recalc all edje file.
This seems to be a fair improvement as it speeds up by 4% the shutdown
of application (and an overall benchmark used to track where genlist
spend its time).
2016-02-02 10:47:25 -08:00
Cedric BAIL bdd163fce8 evas: don't emit EVAS_CALLBACK_MOVE event if nobody is listening.
This give a constant improvement of 2% over a total benchmark run while scrolling
genlist. This benchmark included setup and destruction of the scene, so under
estimate the cost of the callback emit.
2016-02-02 10:47:25 -08:00
Cedric BAIL 1ec244a09e evas: no need to call legacy function internally when we can just dereference some pointers. 2016-02-02 10:47:25 -08:00
Cedric BAIL 2cdead3e71 ecore_evas: add log when registering, unregistering and emitting animator. 2016-02-02 10:47:25 -08:00
Cedric BAIL 7ffa801cf3 ecore_evas: switch main animator to use the first windows source for tick. 2016-02-02 10:47:25 -08:00
Cedric BAIL f1bf1e58df eo: return a value when adding or removing callback to help the caller manage state. 2016-02-02 10:47:25 -08:00
Cedric BAIL a13752dcc7 edje: switch to use per window animator. 2016-02-02 10:47:25 -08:00
Cedric BAIL 0812fc8f6c ecore_evas: optimize triggering of animator to happen only when someone is listening. 2016-02-02 10:47:25 -08:00
Cedric BAIL bb1a1eef65 ecore_evas: introduce support for per window animator trigger.
This code is currently only using the older fallback code and not any
new event source, so all animator on all window are still triggered
whatever the case are.
2016-02-02 10:47:25 -08:00
Cedric BAIL e8134e868a evas: make evas object an animator provider. 2016-02-02 10:47:01 -08:00
Cedric BAIL 62030c1003 evas: make evas a provider of animator. 2016-02-02 10:45:42 -08:00
Cedric BAIL e405afb2f9 efl: add Efl.Core.Animator interface. 2016-02-02 10:45:42 -08:00
Cedric BAIL 0ae951e544 eo: mark both callback,add and callback,del as @hot.
This events needs to be hot to remain unfreezable or it is impossible
for anyone to track all callback setting/unsetting safely.
2016-02-02 10:45:42 -08:00
Cedric BAIL bf26946ba1 evas: move canvas event to be declared inside proper eolian file. 2016-02-02 10:45:42 -08:00
Cedric BAIL 8cc6c7561a ecore: remove useless ecore_lock/unlock. 2016-02-02 10:45:42 -08:00
Daniel Kolesa c95350016d eolian: add parsing and generation of hot events
Unfreezable events can now be marked @hot.

@feature
2016-02-02 17:55:01 +00:00
Carsten Haitzler 6eb17b7d3e Revert "Revert "Revert "revise edje_object_size_min_restricted_calc() logic."""
This reverts commit ade138a3d1.

Revert this commit because this basically causes e to hang solid if
you mousover ibar (and the window list popup slides in then i think
that tyriggers it). this is pretty bad.
2016-02-02 23:12:25 +09:00
Hermet Park 909af58b8e evas/canvas: fix an incorrect sizing of smart object bounding box.
height of the children b-box should be arranged by parent y-pos.

Signed-Off-By: KeuckDo Bang <keuckdo.bang@samsung.com>
Signed-Off-By: MinKyu Kim <imetjade.kim@samsung.com>

@fix
2016-02-02 21:19:46 +09:00
Hermet Park a382e92017 Revert "Revert "increase recalculation_cycle.""
This reverts commit 9efdf309ce.
2016-02-02 19:25:28 +09:00
Hermet Park ade138a3d1 Revert "Revert "revise edje_object_size_min_restricted_calc() logic.""
This reverts commit b62d656dbe.

push it again since 1.17 was released.
2016-02-02 19:24:50 +09:00
Youngbok Shin cd01636d76 Evas textblock: Use a common thickness and position at a underline.
Summary:
If a underline is drawn with seperated thickness and position, it doesn't look good.
It will take the thickest and the lowest underline.

@feature

Test Plan:
Set the following markup text in Evas Textblock.
<underline=on underline_color=#fff><font_size=20>Markup text <font_size=50>with</font_size> underline tag</font_size></underline>

It shows the underline is split to 3 underlines with different thickness and positions.
Commonly, underline has to be drawn with same thickness ans position per each line.

Reviewers: woohyun, herdsman, tasn

Reviewed By: tasn

Subscribers: jpeg, raster, subodh6129, cedric

Differential Revision: https://phab.enlightenment.org/D2971
2016-02-02 10:22:09 +00:00
Youngbok Shin d15d91e0da Evas Text/Textblock: Use locale for lang as default.
Summary:
The configuration files for Fontconfig can describe
how font list is made according to language information.
EFL also set the language for each Evas textblock styles
and used for loading font list.

But, this is inconvenient to use if we want to apply language
for loading font list according to system-wide locale information.
This patch will apply locale information for font list if there is
no specific language in description.

And it also add [lang=auto] for Evas Textblock.
auto - It loads locale for language.
none - It disables language.

@feature

Test Plan: N/A

Reviewers: woohyun, herdsman, tasn

Subscribers: jpeg, cedric

Differential Revision: https://phab.enlightenment.org/D3344
2016-02-02 10:22:09 +00:00
Youngbok Shin 6b12ae1e03 edje: Reduce duplicated item obj creations and deletions.
Summary:
When text is changed, all of objects for item tag are deleted
and recreated. It is unnecessary work and can cause performance
issues. Actually, many of application developers wonder why
item provider callback functions are called every text changes.
@fix

Test Plan:
Run elementary_test -to "entry emoticon"
When you make a very little change on text,
36 emoticon objects are recreated.

Reviewers: woohyun, jaehwan, herdsman, tasn

Reviewed By: tasn

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3537
2016-02-02 10:22:09 +00:00
Hermet Park b62d656dbe Revert "revise edje_object_size_min_restricted_calc() logic."
This reverts commit 32c12f60c9.

rollback until release 1.17
2016-02-02 18:11:35 +09:00
Hermet Park 9efdf309ce Revert "increase recalculation_cycle."
This reverts commit 524fd2f6fc.

rollback until release 1.17
2016-02-02 18:11:19 +09:00
Hermet Park f6722e63fa Revert "evas/canvas: simple optimization."
This reverts commit ca124ce5ce.

rollback until release 1.17
2016-02-02 18:09:01 +09:00
Hermet Park ca124ce5ce evas/canvas: simple optimization.
We don't need to reorder the clist here as far as I reviewed.
Because, the clist nodes will be calculated all in one.

If I'm wrong please ping me.
2016-02-02 17:59:27 +09:00
Hermet Park 524fd2f6fc increase recalculation_cycle.
256 is too short.
entry can be much larger than this calculation cycle.
2016-02-02 17:54:29 +09:00
Hermet Park 32c12f60c9 revise edje_object_size_min_restricted_calc() logic.
This change is to fix the 4000x4000 limitation issue in edje.
Previously, the sizing calc logic was experimentally confirmed with 4000x4000.
It worked somehow but was not perfect. This change may not be perfect either but
it gets rid of the limitation problem without any performance drop in
computating. Maybe it would be better than before.
I'd rather push the temporary version before we confirmed no side effects.

@fix T2978
2016-02-02 17:49:55 +09:00
José Roberto de Souza 316cf42159 eldbus: Correctly read/write boolean to eina_value
DBus bool type is a uint32_t not a uint8_t, just changing how read
and write, not chaging how it is stored in eina_value to save some
bytes of RAM.

This fix the stack overflow pointed out here: https://phab.enlightenment.org/T3089

@fix
2016-02-01 12:50:31 -02:00
Vincent Torri cedeb0c455 Eina_Value: do not mix declarations and code
Reviewers: cedric, jpeg

Reviewed By: jpeg

Differential Revision: https://phab.enlightenment.org/D3624
2016-02-01 12:34:48 +01:00
Jean-Philippe Andre 2c61aa0d54 evas: Fix typo in previous clip issue fix
See 100a7006b8.

This typo actually caused some really rare crashes to happen
(even rarer than the one I fixed originally). Crashes nonetheless.
2016-02-01 20:29:15 +09:00
Chris Michael 684d5180c3 eeze: Fix eeze_udev_find_by_subsystem_sysname function
This function was severly broken when used for finding devices of a
particular subsystem. Previously, this function would return every
device in the system, regardless if subsystem or sysname was passed in.
This patch fixes the issue by adding udev_enumerate matches before we
scan for devices. This way, when we enumerate the scan results, we now
get only devices that match the subsystem (if supplied).

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-29 13:46:30 -05:00
Jean Guyomarc'h 40f162fbc5 eina: fix invalid prototype
The prototype means "unspecified arguments". However, the implementation
specifies no parameters (void).
GCC's warning -Wstrict-prototypes complains a lots about this old-style
prototype, spamming the console when compiling more than one compiling
units including Eina.

@fix
2016-01-29 10:16:31 +01:00
Cedric BAIL adff529004 ecore_evas: trigger pre render function as expected.
This should fix exactness and elementary documentation screenshot bug discovered
by commit 6149fd7a0a9ef3f9495270cf1c4ab7727a30f21c in elementary.
2016-01-29 07:23:51 +01:00
Jean-Philippe Andre 100a7006b8 Evas clip: Fix rare crash in _render_pre_clipper_change
Use delete callback instead of direct call to clip_unset,
which lets us know that clip_unset() is called during the
clipper's deletion, as opposed to a simple call.

We can then make sure that the previous object state does
not point to invalid data anymore.

Here is a scenario that could have crashed:
- load and show an edje object, hide it
- change its theme or style
- show it again

@fix
2016-01-28 12:19:53 +09:00
Chris Michael cbf2aa2bf9 evas: Fix explicit NULL dereference
This patch fixes an Coverity issue that if 'dst' gets set to NULL (as can
happen above) then this eo_do call may segfault as it is directly
accessing 'dst->buffer'.

@fix
CID1347415

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-27 12:07:38 -05:00
Chris Michael 64aff0a7f0 evas: Fix segfault when trying to determine overlay usage
Previously, _evas_render_can_use_overlay would segfault here when
trying to make use of an Evas_Video_Surface. This is because eo_tmp
variable was never reassigned to be the smart parent before we tried
to get eo data from it.

@fix

NB: Thanks Frenchie !! ;)

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-25 16:10:25 -05:00
Mike Blumenkrantz 200f45c2b5 efreet: add locking for efreet_desktop_x_field_get()
in a threaded environment, reading from a hash is not atomic and is
subject to race conditions

@fix

ref 39417cf0ea
2016-01-25 11:27:02 -05:00
Mike Blumenkrantz 9aee7c249a efreet: reject invalid "" data for Efreet_Desktop->x hash
ref T3096

@fix
2016-01-25 11:27:01 -05:00
Chris Michael 3d9a6e238a edje: Fix potential NULL pointer dereference
It is possible that evas_object_data_get here does not return an Edje,
so check the return value. This fixes a coverity reported issue.

@fix
CID1349866

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-25 07:47:03 -05: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
Jean-Philippe Andre 26e74c4219 Evas filters: Fix transform filter (crashes & blend)
out was simply not initialized if the source and destination
were the same. The COW flag is required here to separate input
and output properly. Also, the source & destination pointers
were badly calculated and could overflow.

Instead of using memcpy this filter was supposed to use the
blend functions. This patch also fixes that.

In order to make this filter actually useful (think text reflection
on a flat surface), more information needs to be passed to the Lua
script, such as the text ascent, descent, etc...
2016-01-22 15:35:23 +09:00
Jean-Philippe Andre 1e35a5239b Evas filters: Fix inconsistency in transform API
This is a minor change, makes 'output' the default target for
the transform filter. This is consistent with all the other
filters. This is not exactly a bug fix but it doesn't break
compatibility with the earlier explicit form and improves the API
for 1.17.
2016-01-22 15:35:23 +09:00
Jean-Philippe Andre 139e27314c Evas filters: Disable debug mode!
Ooops, I must have let this in by mistake.
2016-01-22 15:35:23 +09:00
Jean-Philippe Andre 050bd0adc8 Eolian Cxx: Fix warnings related to deprecated EO_EV_DEL
Switch the generator to EO_BASE_EVENT_DEL.
2016-01-22 15:35:23 +09:00
Cedric BAIL c2c8308e15 ector: fix potential crash if cairo is not found on the system.
@fix

T2938
2016-01-21 15:57:17 -08:00
Chris Michael cb983f747b ecore-drm: Unify and cleanup tty code
This patch brings the tty code more inline with what the logind code
Was doing. It also fixes the return value from the vt_signal handler,
and opens the tty in non-blocking mode now.

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-21 11:38:07 -05:00
Chris Michael e0c36d27f5 ecore-drm: Don't unset logind variable when disconnecting a device
For a case where we have more than one device open, if we set the
'logind' variable to false, then the second device would never close
properly.

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-21 11:35:45 -05:00
Chris Michael 4ba349be4f ecore-drm: Destroy any existing eeze watch when we free the device
If a user frees a device without closing it we could end up with a
dangling eeze watch. This small patch just makes sure to delete the
watch if it exists

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-21 11:32:53 -05:00
Chris Michael cddc7ba445 ecore-drm: Refactor logind code to use tty functions
This patch cleans up some of the logind code to make use of the
existing tty functions as they both did the same thing

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-21 11:20:29 -05:00
Chris Michael 17fa5dee65 ecore-drm: Cleanup ecore-drm shutdown routine
This patch addresses an issue where when closing Enlightenment, the
shutdown procedure would previously end up calling the same functions
twice. These functions should be called from the ecore_evas drm
shutdown routine as the sprites, inputs, outputs, etc are all called
from the ecore_evas drm init routine.

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-21 09:22:37 -05:00
Jean-Philippe Andre 258639a92e Eo: Actually mark EO_EV_ as EINA_DEPRECATED
This should add compilation warnings whereever they're used.
2016-01-21 13:10:48 +09:00
Jean-Philippe Andre 9d76a44b78 Eo: Replace deprecated EO_EV_ by EO_BASE_EVENT_ 2016-01-21 13:10:05 +09:00
Andy Williams c4cd3f19bf [efreet] document NULL return possibility.
If file is not found then NULL is the fallback
2016-01-20 23:37:15 +00:00
Jean-Philippe Andre 3fc6e48c8a Ector: Fix warning on Windows (use PRIx64 to print uint64_t)
Thanks @vtorri for pointing this out.
2016-01-20 19:57:22 +09:00
Vyacheslav Reutskiy 7f4f215cd0 edje/edje_edit: make posible to unset the program filter part and state
@fix
2016-01-19 15:44:34 +02:00
Jean-Philippe Andre 24417ff1a5 elua: Fix use of eina_file_mkstemp after previous patch
The API (that didn't work in the first place) was used wrongly
as it was assumed its behaviour was the same as mkstemp (duh!).
It turns out eina's version doesn't replace the input string but
returns a tmpstr instead.

@fix
2016-01-19 18:18:29 +09:00
Jean-Philippe Andre e472f97d96 Eina: Fix eina_file_mk[ds]temp when a path is passed
If the template is a path, mkstemp and mkdtemp would fail
miserably as they would try to create a file inside
/run/user/1000//path/to/file.XXXXXX even if the path did not
exist.

This patch fixes that by creating temp files inside the sys temp
dir iif the templatename is just a basic name without path
separator.

@fix
2016-01-19 18:18:29 +09:00
Mike Blumenkrantz 210b3e6c62 ecore-x: add safety checks for _ecore_x_disp in some functions
xlib immediately crashes upon being passed a null DISPLAY object,
so every function in ecore-x should likely have safety checks such as
these. an easy project for anyone who has some free time

@fix
2016-01-18 17:19:00 -05:00
Carsten Haitzler 6f684f3a6a ecore imf: fix imf module load hangs when not even configured
so on some distributions scim tries to connect and hangs waiting for
connect to work. this is a problem for just loading any imf module
unless EXPLICITLY configured, so disable using an imf module unless it
is specifically configured to work. this fixes this hang. this is a
workaround though, but what else are we to do?

@fix
2016-01-18 17:23:56 +09:00
Jaehwan Kim a20f9b8087 embryo: change the log catagory of printf in embryo
If the catagory is DBG, we should rebuild efl to print the message
by using printf in edc. So change it to use it more convenient.

@fix
2016-01-18 16:57:58 +09:00
Vincent Torri 3117b8ca5a win32: Fix compilation due to recent changes in Evil
Summary:
dlfcn.h is not available anymore on Windows, Evil provides all the
necessary declarations.

Reviewers: cedric, jpeg

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

@fix
2016-01-18 13:54:52 +09:00
Stephen Houston 669cd788ba Eo: Spell "Class" correctly when printing error.
Leave variables named Klass so it behaves with syntax highlighting and doesn't confuse programmers.  However when Erroring, the message should be spelled correctly with "Class".
2016-01-15 19:41:59 -06:00
Sung-Taek Hong 5e53e4b7e1 ecore: check eina_main_loop before lock.
Summary:
 - EINA_MAIN_LOOP_CHECK_RETURN should be called before ecore lock
   because this may return without ecore_unlock.
 - remove EINA_UNLIKELY(!eina_main_loop_is()) which is redundant.

Reviewers: jpeg, jaehwan, cedric, raster

Reviewed By: raster

Subscribers: raster, conr2d, cedric, jpeg

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-01-14 14:23:06 -08:00
Derek Foreman 943f2df006 ecore_drm/ecore_wl2: logging: remove errant usage of %m
Summary:
printf %m stringifies and prints errno.  I've tried to remove its use
anywhere that the immediately preceding function might not set errno
or is a complicated function for which knowing errno doesn't really
give any useful information.

I've left a few of the drmMode calls because they're just wrappers
around ioctl, which legitimately sets errno.

@fix

Reviewers: zmike, devilhorns

Reviewed By: zmike, devilhorns

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3572
2016-01-14 13:06:02 -05:00
Duna Oh 01dc2540db ecore_wayland: move check for pointer capability
Summary:
We don't need to work for cursor if system doesn't have pointer devices.
Since this function is called by elementary(e.g. entry) also, we move a check condition into the function.

@fix

Reviewers: raster, zmike, devilhorns, ManMower, gwanglim

Subscribers: cedric, JHyun, input.hacker, jpeg

Differential Revision: https://phab.enlightenment.org/D3566
2016-01-14 11:19:24 -05:00
Marcel Hollerbach 63a410667a ecore_wl2: fix key down event called to often
if many events are coming in, a release event can be skipped. if this happens
the timer continues with the new keycode. so if a new key pressed event
enter checks for the old timer and delete the timer if there is one.

If the timer kicks in and emits additional key down events dont call the
callback which gets called by wl, and emit the signal directly.
2016-01-13 19:40:44 +01:00
Marcel Hollerbach 0a2f066c2d ecore_drm: close all devices in shutdown 2016-01-13 18:51:49 +01:00
Marcel Hollerbach 093846aaea ecore_drm: check if device is already opened before open and free
check if fd is -1 before opening a device, so a device cannot be opened
twice.

Also check if fd is != -1 before closing it.
2016-01-13 18:51:49 +01:00
Stefan Schmidt d1609c2afe ecore_drm: make sure we include math.h and link against libm for floor()
When we introduced the usage of floor() in ecore_drm_evdev.c we forgot to
include math.h for it as well as linking against libm. This caused linking
failures on some systems while it still worked on others. Better fix it for
good.

Original patch by aerodynamik.

ref T2953
2016-01-13 17:06:39 +01:00
Duna Oh 49ef37457a ecore_wayland: send mouse_move when sets touch_focus window in cb_touch_down
Summary:
When user touches the screen, ecore_drm generates MOUSE_MOVE event before MOUSE_BUTTON_DOWN.
But when ecore_wayland gets touch_motion before touch_down, touch_focus window is NULL and sending MOUSE_MOVE event fails.
Also in terms of 'touch' input, touch_focus needs be set in cb_touch_down, not in cb_pointer_enter.
So this commit makes sure that ecore_wayland generates MOUSE_MOVE when touch_focus is set.

@fix

Test Plan:
when the application is launched for first time, user clicks on any area of the screen.
We can see the posion of touch event wrong.

Reviewers: raster, zmike, devilhorns, gwanglim, ManMower

Reviewed By: ManMower

Subscribers: jpeg, JHyun, cedric, input.hacker

Differential Revision: https://phab.enlightenment.org/D3555
2016-01-13 10:10:35 -05:00
Oleksandr Shcherbina 93df8720f9 eina: Fix possible wrong value due to null in determinant of matrix
Reviewers: cedric, Hermet

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D3563
2016-01-13 14:04:35 +01:00
Shinwoo Kim efc5866ddb edje: enhance edje_calc circular dependency error message 2016-01-13 19:59:31 +09:00
Jean-Philippe Andre 80acb7fbe0 Ector GL: Remove duplicated functions (eo) 2016-01-13 18:51:20 +09:00
Jean-Philippe Andre c2522dd736 Evas filter: Rename constructor/destructor to ctor/dtor
This avoids a name clash with Eo.Base.
2016-01-13 18:51:20 +09:00
Carsten Haitzler 6b8351a0a0 efl: edje: make comments for something we need to break for efl2 not now
make notes about https://phab.enlightenment.org/D2980
2016-01-13 18:12:33 +09:00
Jean-Philippe Andre 22324f21b3 EFL: Mark EOLIAN functions as static when possible
This affects mostly evas filters.
2016-01-13 15:34:20 +09:00
perepelits.m ba31dc7194 Evas: remove extra if from evas_3d_utils.h
Summary: remove extra if from evas_3d_utils.h according to Coverity (CID1339788)

Reviewers: raster, Hermet, cedric

Subscribers: jpeg, artem.popov

Differential Revision: https://phab.enlightenment.org/D3558
2016-01-13 14:50:59 +09:00
Shinwoo Kim 1aafaca172 Edje: enhance embryo stack broken error message
Summary: Enhance embry stack broken error message

Test Plan: Make a run_program run a script

Reviewers: raster, zmike, jpeg

Reviewed By: jpeg

Subscribers: cedric, seoz, jpeg

Differential Revision: https://phab.enlightenment.org/D3528
2016-01-13 14:50:58 +09:00
Jean-Philippe Andre 65715dafc5 Evas filters: Fix unused variables
Thanks @stefan_schmidt for the report
2016-01-13 14:50:58 +09:00
Jean-Philippe Andre 81ed0de016 Evas render: Fix typo (use & instead of &)
Thanks @stefan_schmidt for the report
2016-01-13 14:49:41 +09:00
Jee-Yong Um bafa65f9b4 edje: convert Edje_Text_Class, Edje_Size_Class data type to public
Summary:
APIs iterating works through active text classes and size classes were added,
but Edje_Text_Class and Edje_Size_Class data type are still concealed.
This patch uncovers those data types so as to allow developers to use them.

Reviewers: jpeg, cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-01-12 14:02:19 -08:00
Chris Michael d50784a086 ecore-drm: Call inputs shutdown before eina_shutdown
As we end up freeing the input hash inside the
_ecore_drm_inputs_shutdown function, it should be called before we
shutdown eina

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-12 09:26:48 -05:00
Tom Hacohen 987fde58a7 Evas textblock: Remove redundant NULL check.
Detected by smatch.
2016-01-12 11:00:01 +00:00
Tom Hacohen e64192f446 Evas textblock: slight style fixes. 2016-01-12 10:55:49 +00:00
Tom Hacohen 2781eef823 Edje UI mirroring: Fix UI mirroring for GROUP parts.
GROUP parts were not mirrored with the rest of the edje object,
this commits fixes that.

This is an improvement of the now reverted
55b62bbd70.

Thanks to cedric for the pointer that lead to this commit.

Ref T3021
2016-01-12 10:41:42 +00:00
Tom Hacohen 29c8a84676 Revert "Edje UI mirroring: Fix UI mirroring for GROUP parts."
The following commit solves it in a better way.

This reverts commit 55b62bbd70.
2016-01-12 10:41:42 +00:00
Mike Blumenkrantz fd4519f8a1 edje: unswallow objects from parent edje when swallowing into new edje
the passed edje is not guaranteed to be the one which owns the swallowed
object at any given time, so get the current owner to ensure that the
correct one is passed

ref a645c8153f

 #MasterOfAllBorkers

@fix
2016-01-11 18:30:47 -05:00
Stefan Schmidt b63b631efd eldbus model: no need to double const a Eina_Stringshare
Eina_Stringshare is already const, no need to const it again.
2016-01-11 22:55:34 +01:00
Stefan Schmidt 117ccbd98c eina_inline_value: use void to force empty function parameters
We have to use void in a function declaration if we want no function
parameters. Using just empty parenthesis means the function takes an
unspecified number of parameters.
2016-01-11 22:55:34 +01:00
perepelits.m 687df102d6 evas: fix optimization of vertex count in convex hull
Summary: FLT_COMPARISON should be used everywhere in evas_3d_utils.h

Reviewers: cedric, raster, Hermet

Subscribers: jpeg, artem.popov

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-01-09 00:33:51 +01:00
Subodh Kumar 97b7964e8c Edje entry: Fix memory leak.
Summary:
Fix memory leak

If user or extra cursor is used, these should be free on
shutdown.

@fix

Test Plan: NA

Reviewers: tasn, herdsman

Subscribers: shilpasingh, cedric, jpeg

Projects: #efl

Differential Revision: https://phab.enlightenment.org/D3550
2016-01-08 16:17:29 +00:00
Tom Hacohen 55b62bbd70 Edje UI mirroring: Fix UI mirroring for GROUP parts.
GROUP parts were not mirrored with the rest of the edje object,
this commits fixes that.

Fixes T3021

@fix
2016-01-08 14:57:54 +00:00
Cedric BAIL dae9581d21 edje: correct function that should have been Eo API already. 2016-01-07 16:27:57 -08:00
Cedric BAIL bb921aff04 emile: move all eina_str_base64 to emile_base64. 2016-01-07 16:27:57 -08:00
Cedric BAIL c451d5885b efl: move Ector_Color to be defined in Efl.Gfx as it makes more sense.
This create some possible naming clash and is why I come up with
efl_gfx_color*_type_set functions. We will have to think about this more
carefully as it makes sense to now pass this colors directly to our color
API. Ideally the default 8 bits interface would become just a convenience
wrapper around the more complex possibility.
2016-01-07 16:27:57 -08:00
Chris Michael 99ac0763ab ecore-evas: Rename ecore_evas_wayland_window_get2 function
This renames the ecore_evas_wayland_window_get2 function to be
ecore_evas_wayland2_window_get before the 1.17 roll out.

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-07 15:02:13 -05:00
Chris Michael 5499a53c75 ecore-wl2: API expose ecore_wl2_input_grab function
This input_grab function should have been exposed via EAPI for use in
enlightenment, but was missed before the push

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-07 11:57:07 -05:00
Chris Michael f836aba678 ecore-drm: Fix formatting
NB: No functional changes

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-07 09:00:32 -05:00
Duna Oh 999dd527d8 ecore_wayland: set touch_focus window when gets pointer_enter
Summary:
When user touches the screen, ecore_wayland gets touch_motion event before touch_down event.
But touch_focus would be NULL in cb_touch_motion, so doesn't send ECORE_EVENT_MOUSE_MOVE event to client.
This fix set touch_focus when gets pointer_enter same as pointer_focus.

Test Plan:
when the application is launched for first time, user clicks on any area of the screen.
We can see the posion of touch event wrong.

@fix

Reviewers: devilhorns, raster, ManMower, zmike

Subscribers: input.hacker, cedric, jpeg, JHyun

Differential Revision: https://phab.enlightenment.org/D3545
2016-01-07 08:49:46 -05:00
Tom Hacohen 0ff1646871 Eo: Rearrange class creation code a bit.
This is not really needed, I just did it to make it easier for coverity
(and future static analysers) to understand that the class id doesn't
need to be accessed with a lock.

CID1341854
2016-01-07 13:04:12 +00:00
Jean Guyomarc'h 4c5cc811d9 ecore_cocoa: don't redefine EAPI in private header 2016-01-07 12:03:05 +01:00
Jean Guyomarc'h 34293b02af ecore_cocoa: don't expose Ecore_Cocoa_Screen in the public API 2016-01-07 12:03:05 +01:00
Jean Guyomarc'h edaa72ce1c ecore_cocoa: remove unimplemented function 2016-01-07 12:03:05 +01:00
Jean Guyomarc'h 5e268c9973 ecore_cocoa: remove non-implemented functions 2016-01-07 12:03:05 +01:00
Jean Guyomarc'h 8d364f56f4 ecore_cocoa: possibly avoid useless copies 2016-01-07 12:03:04 +01:00
Jean Guyomarc'h 8a77d72317 ecore_cocoa: remove unimplemented function 2016-01-07 12:03:04 +01:00
Jean Guyomarc'h f3ca5f6f3d ecore_cocoa: don't use Ecore_Cocoa's EAPI in Eina 2016-01-07 12:03:04 +01:00
Jean Guyomarc'h 2ecd11e221 ecore_con: fix compiling on OS X
IPV6_ADD_MEMBERSHIP does not exist on OS X, and seems to be obsolete,
according to my glibc's bits/in.h.
IPV6_JOIN_GROUP, however, exists on both.

@fix
2016-01-07 12:03:04 +01:00
Jean-Philippe Andre 25ccef095e Evas filters: Fix minor compilation warning 2016-01-07 19:19:09 +09:00
Jean-Philippe Andre d488926cb6 Eina: Move vector2 to eina_inline_vector.x
For consistency.

Also, include inside Eina.h
Thanks @vtorri for the remark.
2016-01-07 19:18:35 +09:00
Jean-Philippe Andre dd05e72ab0 Eina Vector2: Move EAPI to static inline
This removes lots of unnecessary symbols
2016-01-07 18:05:44 +09:00
Jean-Philippe Andre 52dfd61833 Evas filters: Fix async render and unify SW + GL
SW async render mode was broken because it was party sync, partly
async (bad hack in a recent commit). This patch fixes that by
using a proper callback for render_post (main loop).

Since the engines and ector now abstract all pixel access functions,
the only difference between GL and SW is the async rendering.
2016-01-07 17:47:48 +09:00
Jean-Philippe Andre 1f291a6a5b Evas filters: Run immediately in async mode (flush vs. enqueue) 2016-01-07 17:47:48 +09:00
Srivardhan Hebbar 9de3520c87 eina: Updated documentation of strbuf_substr_get.
Summary:
Fixes T2949.
In the bug, its been mentioned about updating the documentation, so added this.

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

Reviewers: cedric, jpeg

Reviewed By: jpeg

Maniphest Tasks: T2949

Differential Revision: https://phab.enlightenment.org/D3462
2016-01-07 15:37:30 +09:00
Jean-Philippe Andre c4b25604c7 Evas: Document Evas.Render_Op
1. MASK is not used for masking
2. only BLEND and COPY actually work

Should we merge Efl.Gfx.Render_Op and Evas.Render_Op?
(this would mean Efl.Gfx.Render_Op.copy = 2 instead of 1)
2016-01-07 15:12:34 +09:00
Jean-Philippe Andre 8822dcd115 Evas filters: Remove ERR message
GL filters now work. Slow, but they work.
2016-01-07 14:46:22 +09:00
Jean-Philippe Andre e61182f7ac Evas render: Fix render artifacts with a mapped object
Problem visible in Enventor "map" example, with the SW engine.

Fixes T2979
2016-01-07 11:12:51 +09:00
Jean-Philippe Andre f00f466250 Evas render: Distinguish has_map and can_map
This patch is a minor code cleanup before fixing T2979
(render artifacts inside Enventor).
2016-01-07 11:12:51 +09:00
Minwoo, Lee 3f5066278e evas: fix a NULL dereference issue
Summary:
If evas engine init failed, it can make crash.
For example
If opengl init failed, then ee->prop.window is 0
ecore_evas_gl_x11_options_new_internal
{
   if (!ee->prop.window)
     {
        ERR("evas_engine_info_set() init engine '%s' failed.", ee->driver);
        ecore_evas_free(ee);
        return NULL;
     }
}

ecore_evas_free calls evas_fonts_zero_pressure
and this time evas->engine.func is NULL so it makes crash.

Reviewers: cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-01-06 13:36:40 -08:00
Chris Michael 67044ae214 ecore-wl2: Mark API as Beta before 1.17 gets released
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-06 12:16:33 -05:00
Stefan Schmidt 9154fbb0e0 eldbus: add missing since tags for all new symbols 2016-01-06 16:31:55 +01:00
Stefan Schmidt 92bab5115a eina_value: correct the since tag for new symbols
Thiese symbols are only available since after 1.16, thus the since 1.17 tag.
2016-01-06 16:21:52 +01:00
Stefan Schmidt 30a98b7bcd eina_strbuf: add missing since tag to new symbols 2016-01-06 15:55:32 +01:00
Stefan Schmidt aba7512154 eina_bezier: correct since version for two new APIs.
These are only available from 1.17 and not already from 1.16.
2016-01-06 15:31:48 +01:00
Stefan Schmidt 1627402bda efl model: add missing since tags for new APIs 2016-01-06 15:26:30 +01:00
Stefan Schmidt 49fab7b7a6 edje: add missing since tags to new edje_size_class symbols 2016-01-06 15:21:44 +01:00
Stefan Schmidt 6451c174db ecore_wl2: add since tag to all new symbols in 1.17 missing it 2016-01-06 15:08:13 +01:00
Stefan Schmidt 8e1f3725db ecore_evas: add missing since tags for new APIs coming with 1.17 2016-01-06 14:52:56 +01:00
Jean-Philippe Andre 998bc2d42b Ector GL: Fix warning with clang
Also mark API struct as initialized.
2016-01-06 14:33:26 +09:00
Jean-Philippe Andre ce08ed30c7 Ector: Protect all headers by EFL_BETA_API_SUPPORT
Those Ector APIs are not stable!
2016-01-06 14:26:25 +09:00
se.osadchy 996d17bcc5 evas: Update Ector_Color structure.
Summary: Add a field at the end of the structure for defining the color encoding.

Reviewers: cedric, Hermet, raster, jpeg

Reviewed By: jpeg

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D3530
2016-01-06 13:50:34 +09:00
perepelits.m d2bb0eefc4 Evas 3d: Get hash table of scenes using the given node as root.
Summary: We need this to have an access to scene while running programs in edje-3d.

Reviewers: cedric, raster, Hermet, jpeg

Reviewed By: jpeg

Subscribers: jpeg, artem.popov

Differential Revision: https://phab.enlightenment.org/D3529
2016-01-06 13:50:21 +09:00
Chris Michael 6967aa1457 ecore-wl2: Fix support for nested compositors
When trying to create nested compositors, we were failing here due to
trying to read the WAYLAND_DISPLAY env variable and find an existing
server display to match. In order for nested compositors to function,
we cannot reuse that environment variable for server display hash.

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-05 13:49:51 -05:00
Chris Michael 6afbd272bd ecore-wl2: Remove blank line
NB: No functional changes

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-05 13:49:51 -05:00
Subodh Kumar 593c7eac02 Edje entry: Do not update cursor for non editable entry.
Summary:
Do not update cursor for non editable entry.

If entry is not editable there must not be any need to query tb cursor
geometry and run other codes related to it. This may improve some
performance of non-editable entry.

Test Plan: NA

Reviewers: tasn, herdsman, thiepha

Subscribers: shilpasingh, cedric, jpeg

Projects: #efl

Differential Revision: https://phab.enlightenment.org/D3532
2016-01-05 14:30:21 +00:00
Jean-Philippe Andre c1b4728487 Evas filters: Final fix after the ector refactor
This implements a generic way of scaling buffers, using fake
RGBA_Image wrapping ector buffer maps. The underlying algo is
still the good old linear sw scaler.

Now the filters *should* be back to their previous level of
usability. Performance will probably be even worse than it was
before, for GL, as more glReadPixels may be involved. Optimization
now consists in actually implementing the filters with GL shaders.
2016-01-05 16:02:27 +09:00
Jean-Philippe Andre 0d5b42e6bb Evas filters: Move evas image creation to the engine
Evas filters is now more and more unaware of evas images (RGBA_Image)
and the engine + ector take care of everything.

Still left to do:
- map / unmap an FBO buffer into RO or RW memory
2016-01-05 15:43:44 +09:00
Jean-Philippe Andre 9e0670a705 Evas filters & Ector GL: Prepare ground work for GL buffers
This fixes crashes, adds safety, and notes a couple of things that
are not yet implemented:
- Make an Evas_GL_Image from an RGBA_Image so we can draw it on the
  canvas. This means Evas.Ector.GL.RGBA_Image.Buffer
- Readable Evas_GL_Image objects with gl_read_pixels
  --> Implement proper map() & unmap() for GL buffers
2016-01-05 15:43:44 +09:00
Jean-Philippe Andre dc4790e08b Ector GL: Add skeletton for Evas.Ector.GL.Image.Buffer
This is an ector buffer backed by an existing Evas_GL_Image
2016-01-05 15:43:44 +09:00
Jean-Philippe Andre eda13b7298 Evas filters: Relax limitations about colorspaces
Since Ector Buffer implicitly converts colorspaces, we
can allow more commands to work even if they are suboptimal.

Now all filters should support any combinaison of input, map/mask
and output colorspaces.
2016-01-05 15:43:44 +09:00
Jean-Philippe Andre 7d636630cf Evas filters: Fix proxies following previous refactor
FIXME:
 - GL support is still shaky
2016-01-05 15:43:44 +09:00
Jean-Philippe Andre 57902fffd3 Evas filters: Use Ector.Buffer instead of RGBA_Image
This is a major refactoring of the evas filters submodule.

Use Ector.Buffer and the map/unmap methods instead of directly
accessing image buffers with RGBA_Image. RGBA_Image is still
used under the hood, for two reasons:
 - Required for the final output (blend onto Evas itself)
 - Required for the scaling routines

FIXME:
 - Breaks proxy support (ie. all kind of texturing).
 - This breaks filters support for the GL engine.
2016-01-05 15:43:44 +09:00
Jean-Philippe Andre e3af2783ff Evas filters: Minor debug improvement 2016-01-05 15:43:44 +09:00
Cedric BAIL fc40f905eb ector: fix typo during computation of bounds_get. 2016-01-05 15:43:44 +09:00
Jean-Philippe Andre e3a7f657d9 ector: add Ector.GL.Buffer.* support. 2016-01-05 15:43:44 +09:00
Cedric BAIL 116fe3c65c ector: initial implementation of our own Ector GL backend. 2016-01-05 15:43:44 +09:00
Jean-Philippe Andre 1adc3cd915 ector: add drawable flag to buffers
This indicates that a buffer can be used as a source to draw pixels.
Can't they all do that? Well, not exactly. A CPU buffer can't be drawn
by the GPU... not directly at least. That's what this flag is for.
2016-01-05 15:43:43 +09:00
Jean-Philippe Andre 9bd36f7c43 ector eo: fix indentation (tabs --> spaces)
Why? Why would an editor replace 8 spaces by a TAB?
WHYYYYYY?
2016-01-05 15:43:43 +09:00
Jean-Philippe Andre 1f25b523b4 ector buffer: add COW access mode
In case you map a buffer once for read-only and once for write,
we can generate a temporary copy and return that instead. This
buffer will be copied back to the original surface once the COW
surface is unmapped.
2016-01-05 15:43:43 +09:00
Jean-Philippe Andre 5e075c193c ector: on-the-fly convert sw buffers during map()
Also use map to generate spans.
This should simplify some filters code, making things work,
albeit inefficiently. At least they should work.

Fix doc too.
2016-01-05 15:43:43 +09:00
Jean-Philippe Andre 9121e503a3 ector: track maps in software buffer 2016-01-05 15:43:43 +09:00
Jean-Philippe Andre 7a8879ba8b ector: add engine-specific evas image buffer wrapper
Since Evas still relies entirely on Image_Entry and Evas_GL_Image,
we will need an engine-specific wrapper object creating a Buffer
around an existing cached image.

Currently only SW support is implemented. GL will be more fun to
do (with glReadPixels and whatnot).
2016-01-05 15:43:43 +09:00
Jean-Philippe Andre 85f23d96e7 ector: add typedef Ector_Buffer 2016-01-05 15:43:43 +09:00
Jean-Philippe Andre 952f27507d ector: remove offset from Ector.Buffer.{map,unmap}
It just makes things a bit more complicated and doesn't correspond
to a classic "map" operation anyways.

Also return void* instead of uint8_t*. This is more correct and
avoid extra casts.
2016-01-05 15:43:43 +09:00
Cedric BAIL e3238c5620 ector: add an abstraction to get GL function. 2016-01-05 15:43:43 +09:00
Jean-Philippe Andre 61fcf8e497 Evas filters: Fix crazy code (only when DEBUG=1) 2016-01-05 14:54:04 +09:00
Jean-Philippe Andre 13d9f7ebcd Eo: Print object class name during Eo.Base ctor/dtor
Printing class_name(MY_CLASS) is useless information.
Printing the object's real class name is much more useful.
2016-01-05 14:54:04 +09:00
Amitesh Singh f5c4cd2f7f edje: custom state - if RTL flag is not set, return original description
@fix
2016-01-05 06:58:35 +05:30
Srivardhan Hebbar 7ded7cb707 eina: update .h file to make decodeurl api visible.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: jpeg, cedric

Reviewed By: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-01-04 15:42:59 -08:00
Cedric BAIL 5aa6a73b34 eina: return NULL iterator in all case, not only when safety check is turned on. 2016-01-04 15:13:06 -08:00
Jee-Yong Um c963a0f9cb edje: add edje_object_color_class_clear()
Summary: clear all color classes defined in edje object

Reviewers: raster, jpeg

Subscribers: woohyun, cedric, kimcinoo

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-01-04 15:11:01 -08:00
se.osadchy 2127547cb9 evas: create Eina_Vector2 structure and add functions.
Summary: Only copy code from evas_3d_utils, rename evas to eina and add documentation.

Reviewers: Hermet, raster, jpeg, cedric

Reviewed By: jpeg, cedric

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-01-04 15:06:00 -08:00
perepelits.m e6ccfcedd8 evas: fix convex hull.
Summary:
There were some problems with second and third vertices in the first triangle of convex hull. It is very hard to see this errors because it could cause
an excess of triangles inside of convex hull, I have used blender to find them.

Reviewers: raster, Hermet, cedric

Reviewed By: cedric

Subscribers: jpeg, artem.popov

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-01-04 14:50:45 -08:00
perepelits.m 728eff8836 edje: implementation of Edje_3d
Summary:
I have a strange feeling that I always commit the same code to edje-3d, I hope it will finish very soon.
However here are some important new keywords, descriptors for them, methods for models,
structure for providing animation in edje programs and some more changes.

Reviewers: raster, Hermet, cedric

Reviewed By: cedric

Subscribers: jpeg, artem.popov

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-01-04 14:03:15 -08:00
Srivardhan Hebbar dc56052150 ecore_con: from ecore_con_connector to efl_network_connector.
Summary:
Changed ecore_con_connector.eo to efl_network_connector.eo as part of
migrating to efl_network.

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

Reviewers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-01-04 12:35:41 -08:00
se.osadchy 4ecb51025b evas: factorize of data structure with evas_color and ector.
Summary: Move data structure and functionality to ector_color from evas_color.

Reviewers: Hermet, raster, cedric

Reviewed By: cedric

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-01-04 12:17:15 -08:00
Chris Michael e4dd691432 ecore-wl2: Remove extra blank line
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-01-04 11:06:21 -05:00
Tom Hacohen ebe09c4854 Evas textblock: Clean up ellipsis handling code.
This cleans up the previous commit a bit by isolating the calculation
code and using a temporary descriptively named variable for the calculation.
2016-01-04 15:12:10 +00:00
Youngbok Shin 3252e3bf78 Evas Textblock: Fix ellipsis when textblock is resized to formatted h.
Summary:
it->h is sum of max ascent and max descent. It shouldn't be used
when handle ellipsis. Because, Evas Textblock uses these values for
each lines differently according to its location.
(start, end, else, single)
So, for handling ellipsis exactly, it has to be fixed.

Test Plan: A test case is included in Evas Test suite.

Reviewers: woohyun, tasn, herdsman

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3475
2016-01-04 15:12:10 +00:00
JengHyun Kang b3dc27345a ecore-drm: Add a new API for keymap cache
Summary:
Originally, each keyboard devices could have their own keymap.
The one keyboard's keymap could different with others.
But for this, Ecore_Drm compile a new keymap when a keyboard is connected.
But this is a burden for some people who doesn't manage keymap for each keyboard.
They want to maintain only one keymap for system.
So, I added cached context/keymap and just ref/unref for each keyboard device.
People who want to different keymap for each keyboard just do not set cached
context/keymap. Then Ecore_Drm maintain keymaps about each keyboard devices.

Test Plan:
Connect a keyboard device and watch flow of ioctl.
Originally Ecore_Drm opened xkb data and compile keymap,
but after patch, that ioctl is disppeared.

@feature

Reviewers: raster, devilhorns, ManMower

Reviewed By: devilhorns, ManMower

Subscribers: cedric, input.hacker, ohduna, jpeg

Differential Revision: https://phab.enlightenment.org/D3503
2016-01-04 08:47:58 -05:00
Shinwoo Kim fe70f0c080 edje: enhance circular dependency error message of edje calculation
Summary: enhance error message of edje calculation

Test Plan: check edje having circular dependency

Reviewers: raster, cedric, jpeg

Subscribers: seoz

Differential Revision: https://phab.enlightenment.org/D3484
2015-12-31 13:53:02 +09:00
Jaehwan Kim 26d0c5823f edje_embryo: add printf feature.
Summary:
The edc debugging is difficult because users can not check
whether or not any program is executed or the state of part.
If users can print that property, they can do debugging more easily.
This "printf" feature is for debugging edc.

@feature

Test Plan:
add printf("test : %s %d %f", "text", 1, 0.5); in the script in the edc
build it by edje_cc
excute it and see the log

Reviewers: cedric, raster, jpeg

Reviewed By: jpeg

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D3499
2015-12-31 11:59:48 +09:00
Jaehwan Kim 60847e9c1f embryo: add eina_log
Summary: add eina_log

Test Plan: use DBG, ERR ... in embryo code

Reviewers: raster, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3507
2015-12-30 09:18:07 +09:00
Chris Michael 0d6383d69f ecore-drm: Add missing variable 'dev'
Seems this should have been declared in the previously pushed patch,
but was missing.

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2015-12-29 09:12:50 -05:00
JengHyun Kang eb9b894167 Add a new Ecore_Drm API for setting left-handed mouse
Summary:
Add a new Ecore_Drm API named ecore_drm_device_left_handed_set().
Libinput support various input options. Left handed mode is one of options.
Right-handed people and left-handed people use a mouse
using different button mapping.
So if a left handed option is enabled, libinput change right mouse button and
left mouse button.
So support this option, I added this api using libinput's left handed option.

@feature

Test Plan:
After set left handed mode, left mouse button generate button numbered 3,
and right mouse button generate button numbered 1.

Reviewers: raster, ManMower, devilhorns

Subscribers: ohduna, cedric, jpeg, input.hacker

Differential Revision: https://phab.enlightenment.org/D3431
2015-12-29 09:04:16 -05:00
Vincent Torri 9e085209f4 Evil: fix compilation warning
getenv() requires stdlib.h
2015-12-29 22:13:58 +09:00
Vincent Torri 47ed848a87 Evil: integrate the dlfcn code into Evil
This will remove some incompatibilities with other packages,
especially for win-builds
2015-12-29 22:13:58 +09:00
Jean-Philippe Andre 2ac9e788c6 Evas: Implement ARGY88 and GRY8 conversion to ARGB8888
This is adding support for a deprecated function, but apparently
it is used.

Also, remove crazy abort() inside the data_put function.

Fixes T2991
2015-12-29 22:05:50 +09:00
Jean-Philippe Andre e47edc250d Eo: Prevent shutdown from actually doing anything
Currently, eo_shutdown can't work.

Every Eo_Class ID is stored inside its class_get() function as a
static variable. This means any call to class_get() after eo_shutdown()
(even if eo_init was done properly) will lead to using an invalid ref
for the class id. In other words, the class is not valid anymore,
and objects can't be created.

Resetting the pointer to NULL would be possible, if we passed it
during the class creation. But this would lead to potential crashes
if a class was created from a now dlclosed library.

The only solution I can envision here is to check that class_get
actually returns a valid ref with the right class name. Most likely
the performance impact is not acceptable.

This fixes make check for me (with systemd module for ecore).
2015-12-29 20:55:50 +09:00
Jean-Philippe Andre 0dd9e02df2 Eo: Add internal function call on pointer errors
Useful for GDB: break on this function when things go wrong.
Similar to eina_safety.

I guess we could set some Eina_Error and maybe even have error
callbacks for easier application debugging. Later.
2015-12-29 20:55:50 +09:00
Jean-Philippe Andre bd32015dfc Eet: Fail gracefully on invalid input
Consider infinity and NaN as invalid input for
put_float and put_double, since the underlying convert
function can't process them.

This fixes potential errors with incomplete / invalid evas 3d models
2015-12-29 16:19:02 +09:00
Jean-Philippe Andre cda8ccf770 Eina: Fix potential crash in eina_convert_dtoa
Infinity and NaN should probably just not be converted.

An error would happen in make check while saving evas 3d models.
2015-12-29 16:18:53 +09:00
Jean-Philippe Andre b13502f20a Evas 3d: Fix some potential crashes
Those were happening before the previous patches.
2015-12-29 16:18:36 +09:00
Jean-Philippe Andre 92f17399a7 Evas 3d: Improve error messages in model load & save
See make check's evas_suite ouput
2015-12-29 16:08:05 +09:00
perepelits.m e6bba4d91c [Evas] Refactor model's savers and loaders.
Summary:
Move common part to a separated document.
Make code more readable using smaller functions. (from Task T2713)

Everything is OK with make check.

Reviewers: cedric, raster, Hermet, stefan_schmidt

Reviewed By: stefan_schmidt

Subscribers: jpeg, artem.popov

Differential Revision: https://phab.enlightenment.org/D3430
2015-12-29 13:28:56 +09:00
Cedric BAIL 1a9e42d124 ecore_con: fix typo preventing IPv6 multicast to work.
Thanks Vincent Torri for spotting it.
2015-12-28 14:01:15 -08:00
Chris Michael c94289d0b2 eo: Fix resource leak
Coverity CID1339783 says that we have a potential resource leak here.
'cb' gets allocated via calloc, but is not freed if we end up
returning here

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2015-12-28 10:09:36 -05:00
Sung-Jin Park 936350d37f ecore-drm: Add APIs to support key remap functionality
Summary:
This adds two new APIs to enable/set key remap functionality and
a number of keys to be remapped to the other keys. As of now there is no
api to do this therefore we need to remap using linux utility such as
'setkeycodes'. By adding/calling these apis, each Ecore_Drm_Evdev device
will have its specific key remap hash and we can apply each remapping keys
for each key/keyboard device.

Test Plan:
(1) Enable key remap and set remapping of a key on a specific keyboard device
(2) Plug in the keyboard device and check the key is being remapped or not
(3) Check the other keys are coming normally
(4) Check the the remapping key on a specific keyboard doesn't affect to any other devices

Signed-off-by: Sung-Jin Park <input.hacker@gmail.com>

Reviewers: raster, zmike, gwanglim, ManMower, devilhorns

Subscribers: JHyun, ohduna, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3463
2015-12-28 09:24:58 -05:00
Chris Michael d91e403a98 ecore-wl2: Fix MIN() macro comparing int vs unsigned int
@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2015-12-28 09:15:01 -05:00
Derek Foreman ddae80af1d wayland: use wl_surface.damage_buffer if available
Summary:
wl_surface.damage_buffer() takes surface damage in buffer co-ordinates.

Right now since we don't use wayland's scaling, transforms, or viewports
it's exactly the same as wl_surface.damage().  In the future if we start
using those features it's much easier to do so with damage_buffer().

Reviewers: zmike, devilhorns

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3457
2015-12-28 09:09:04 -05:00
Jee-Yong Um 71f578dc0b edje: add text_classes syntax to EDC
Summary:
text_class can be defined in text_classes block.

T2900

@feature

Reviewers: jpeg, raster

Subscribers: raster, cedric, Jaehyun_Cho, CHAN, kimcinoo

Differential Revision: https://phab.enlightenment.org/D3435
2015-12-24 15:58:34 +09:00
Ji-Youn Park d0d9747853 ecore_x: fix memory leak
fix memory leak in xcb event handler.
   @fix
2015-12-24 13:11:45 +08:30
Felipe Magno de Almeida a3db1dddd3 efl-js: JavaScript Eolian binding
To configure efl sources with bindings to use in nodejs add ––with-js=nodejs in configure flags to generate node files

$ configure --with-js=nodejs

and compile normally with:

$ make
$ make install

To use, you have to require efl:

efl = require('efl')

The bindings is divided in two parts: generated and manually
written. The generation uses the Eolian library for parsing Eo files
and generate C++ code that is compiled against V8 interpreter library
to create a efl.node file that can be required in a node.js instance.

@feature
2015-12-23 23:59:40 -02:00
Ji-Youn Park 1a3cb45f1c ecore_x: fix memory leak
check return value type of XGetWindowProperty.
   @fix
2015-12-24 09:57:34 +08:30
Vivek Ellur abe131d1d7 edje_embryo: Fix null dereference issue
Summary:
Fix Coverity issue ID 1299026

Signed-off-by: Vivek Ellur <vivek.ellur@samsung.com>

Reviewers: cedric, raster

Reviewed By: raster

Subscribers: raster, cedric

Differential Revision: https://phab.enlightenment.org/D3218
2015-12-23 19:12:07 +09:00
woochan lee 9ac9b26436 edje_callbacks: Add mouse,pressed,in/out signal.
Summary:
The mouse,in/out signal has missing parts to use.

When user send down event on specific object, then move cursor to outside of object.
the mouse,in signal must be called in case. but it's not in traditional implement.

So i added this signal for support above use case.
In order to satisfy above use case, user can add both of the signals(mouse,in mouse,pressed,in).
(Adding new name of signals to do not break compatibility with before implements.)

@feature

Test Plan:
Add mouse,pressed,in/out program to object.
Press object which added signals before.
Move mouse cursor to out of object, then check the program works.

Reviewers: Hermet, cedric, raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2992
2015-12-23 18:58:47 +09:00
Mike Blumenkrantz 8981f08555 evas: handle existing pointer grabs when changing object pointer mode
in the case that pointer mode is changed on an object at any time after
a grab has been acquired by the object, grabs/flags must be adjusted for
this and other "pointer-in" objects in order to avoid permanently
breaking canvas events

@fix
2015-12-22 16:21:11 -05:00
Mike Blumenkrantz e4d11e2e4f evas: unset pointer ungrabs when using EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN
I have no idea what this mode was intended to do since there are no docs
and the related code in evas events is undocumented, so I can only speculate.

what I can say for certain is that this mode does grab, in opposition to its name,
and that until this commit any object which sets this pointer mode will
permanently break mouse eventing on the canvas

ref evas SVN 67264

@fix
2015-12-22 16:21:11 -05:00
Subodh Kumar 7684cea226 Edje entry: Fix cursor position on mouse up and down
Summary:
Fix cursor position on mouse up/down

When mouse down/up over top and bottom  part textblock is not able to set the
char coordinate as it is not inside actual text, edje entry tries to manage it
but textblock has that handling. As a result the cursor jump to first char for
single line and at the last in the multiline last line.

So this patch fixes this and manage to keep the  the mouse coordinate inside
the textblock.

In mobile device this is not really acceptable when user taps over the entry
at some position and cursor jumps to  some arbitrary position.

@fix

Test Plan:
1. Elementary Test
2. Entry 3 (any entry)
3. Try to click little below or above the text in first entry
     single line.Observe cursor jumps to first position
4. Do as above for multiline entry (try to click at the last line little below)
observe cursor jumps to last char.

Reviewers: thiepha, herdsman, tasn

Subscribers: jpeg, tasn, cedric

Differential Revision: https://phab.enlightenment.org/D3257
2015-12-21 14:29:03 +00:00
Tom Hacohen 374b795683 Ecore wl2: Limit scope of variable (fix shadow warning). 2015-12-21 11:15:24 +00:00
Subodh Kumar 105960b24f Evas textblock: Fix some indentation and formatting.
Summary: Fix some indentation and formatting.

Reviewers: herdsman, cedric, tasn

Reviewed By: cedric

Subscribers: jpeg, cedric

Differential Revision: https://phab.enlightenment.org/D3174
2015-12-18 15:14:05 +00:00
Stefan Schmidt 337939ef14 ecore_wayland: rename session recovery to align namespace
Align out extension naming with other unstable wayland protocols.
The unstable protocols from the wayland-protocols repo are prefixed
with a zwp additionally we keep a e prefix for now as we are still
developing this here. No functional change, just rename.

Pointed out by Derek that the session-recovery interface name is a
bit to generic here.
2015-12-18 14:51:04 +01:00
Sung-Taek Hong 1b6a400a29 ecore_idle_exiter: return NULL in eo_finalize() when Ecore_Task_Cb is not set
Summary: - ecore_idle_exiter_add should return NULL, when Ecore_Task_Cb is not set.

Reviewers: jpeg, woohyun, jaehwan, Jaehyun

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3425
2015-12-18 17:58:54 +09:00
Minkyoung Kim 25ebd91555 evas/gl : Do not re-preload image data if texture is successfully uploaded with image data.
Summary:
'cached' flag is not enough to check whethere data is loaded and texture is uploaded.
so check more options for prevent re-preload image data on gl-backend.

Test Plan: Local Test (elementary_test : elm images)

Reviewers: jpeg, eunue

Reviewed By: jpeg

Subscribers: cedric, jiin.moon, wonsik, spacegrapher

Differential Revision: https://phab.enlightenment.org/D3446
2015-12-18 16:49:17 +09:00
Vincent Torri e20978054a Efreet: support language, country and modifer on Windows
Summary:
On Windows, the environment variables LANG, LC_ALL and LC_MESSAGES
do not exist, so retrieve langage and country modifier directly from the systeM

Test Plan: verify the value with some ptrinF

Reviewers: jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3464
2015-12-18 16:48:34 +09:00
Mike Blumenkrantz a3dcf7a0ba ecore-wl2: do not flush wl_display during cleanup
this serves no functional purpose and deadlocks compositors
2015-12-17 13:11:46 -05:00
Tom Hacohen 3d91e5eae8 Revert "evas: fix some indentation and formatting in textblock."
This patch was *REJECTED*. I don't understand why it was snuck in among
a batch of 24 other unrelated patches. That made me miss it originally,
  but found it now. This is wrong and shouldn't be in.

This reverts commit 3f0d0daf0d.
2015-12-17 12:51:37 +00:00
Jaeyong Hwang acab227544 Edje entry: Fix issue with width calculation and padding
Summary:
The size of the style pad isn't considered when the min value of the
textblock is calculated.  In case of putting the lable that there is an
outline in the box, the letter is cut.  So, I revised so that
evas_object_textblock_style_insets_get could be called after a
evas_object_textblock_size_formatted_get in
_edje_object_size_min_restricted_calc function.  And then the style pad was
considered in the result value of the edje_object_size_min_calc.

@fix

Test Plan:

EAPI_MAIN int
elm_main(int argc, char **argv)
{
   Evas_Object *box, *label;
   Evas_Object *win;

   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);

   win = elm_win_util_standard_add("Font", "FONT");
   elm_win_autodel_set(win, EINA_TRUE);

   box = elm_box_add(win);
   elm_box_padding_set(box, 10, 0);
   elm_box_align_set(box, 1, 0.5);
   evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
   elm_win_resize_object_add(win, box);
   evas_object_show(box);

   label = elm_label_add(box);
   elm_object_text_set(label, "<font=default align=rignt color=#ffffff font_size=200 style=soft_outline outline_color=#ff0000ff>label");
   elm_box_pack_end(box, label);
   evas_object_show(label);

   evas_object_resize(win, 500, 300);
   evas_object_show(win);
   elm_run();

   return 0;
}
ELM_MAIN();

Reviewers: herdsman, tasn

Reviewed By: tasn

Subscribers: id213sin, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3426
2015-12-17 12:44:36 +00:00
Subodh Kumar 43f50dc7db Evas textblock: Use width of item format to position cursor.
Summary:
Use width of item format to position cursor.

Sometimes it becomes very difficult to
position cursor over item and selection
becomes very difficult as we position the
cursor once the input X coord reached end of the item,
like one attached in the test plan. So this patch
decides over 50% of item width for X coord reaches
to position it at start or end.

@ix

Test Plan:
Attached setup shows how difficult to position cursor at the end when clicked
over item and selection is also very difficult. Consider such case in mobile
device, its becomes impossible to position cursor at the end and selection is
too much difficult.

{F27036}

Also added test cases in evas test suite

Reviewers: herdsman, tasn

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3390
2015-12-17 12:00:23 +00:00
Sung-Taek Hong 8c891ed049 evas_callback: Remove callbacks in reverse order with evas_event_callback_del
Summary:
 - This function is deprecated, because del_full should be used instead.
 - Still, the documentation specifies in which order the callbacks should
 - be deleted.

Reviewers: Hermet, jpeg, jaehwan

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3459
2015-12-17 16:03:26 +09:00
Stefan Schmidt 680eec5c5c ecore_wayland: add listener for uuid and provide already existing one
Setup a listener to receive an uid from the compositor. If we already have
one during creation, aka we are re-connecting to recover a session, we provide
it to the compositor so it can look our attributes up based on it. Again hidden
behind and env var to avoid problems with other developments, for now.

ref T2922
2015-12-16 22:18:08 +01:00
Stefan Schmidt d4d3f63653 ecore_wayland: store uuid received from compositor
If we get an uuid assigned from the compositor we will store them locally to
provide it later on if needed.

ref T2922
2015-12-16 22:18:08 +01:00
Stefan Schmidt 900fd5446f ecore_wayland: create session recovery listener only if env var is set
Same as for the global we make sure here we only add the listener if the,
for now, needed env var is set.

ref T2922
2015-12-16 22:18:08 +01:00
Stefan Schmidt 598f46f25e ecore_wayland: only bind session recovery interface when env var is set
To avoid trouble for other wayland testing we hide the session recovery work
behind EFL_WAYLAND_SESSION_RECOVERY. Without this env var being set we do not
bind the global.

ref T2922
2015-12-16 22:18:08 +01:00
Stefan Schmidt 56cc11c3b1 ecore_wayland: remove disabled code for session recovery listener
The listener is handled inside ecore_wl_window. Remove the dead code from here.
2015-12-16 22:18:08 +01:00
Srivardhan Hebbar 1243b24f9b eina: API for base64url decode.
Summary:
eina_base64url_decode API.

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

Reviewers: jpeg, cedric

Differential Revision: https://phab.enlightenment.org/D3434
2015-12-16 16:15:44 +09:00
Mike Blumenkrantz fc4b927a83 evas: update/clarify RENDER_FLUSH callback docs 2015-12-15 17:57:37 -05:00
Mike Blumenkrantz fb8c547077 evas: do not unset/delete master clip after every frame
this is not ideal since it triggers a client-side rerender of every object
which was clipped to the master clip (double render) and then this ends up
forcing the server to rerender the same area twice as well

not only that, it causes all surface damages to to be the size of the entire
window - framespace for every frame

@fix
2015-12-15 17:24:52 -05:00
Mike Blumenkrantz 1d3c4162b3 evas: trigger FLUSH_PRE callback prior to kicking off an async render
while not occurring immediately before flush as in sync rendering, this
is functionally close enough that it will serve the purpose for which the
callback was intended, namely receiving a callback that occurs after render
update calculations have occurred but before flush happens

@fix

ref cbb447c878
2015-12-15 17:24:52 -05:00
Mike Blumenkrantz 092d7a6f3d evas: resize master clip if framespace|viewport.changed is set 2015-12-15 17:24:52 -05:00
Mike Blumenkrantz 990c23c840 evas: do not add unclipped smart members to the master clip
this is probably a pretty unlikely scenario, but messing with smart
members in this way is probably not a great idea

@fix
2015-12-15 17:24:52 -05:00
Duna Oh cb23fd2af2 ecore-drm: Fix failure of setting/closing evdev->fd which causes fd leak
Summary:
When a input device is plugged in, _cb_open_restricted() is called before creating evdev.
So setting fd value on evdev was failed in _cb_open_restricted() and also closing evdev->fd was invalid.
Using a eina_hash which has 'path-fd' pairs, we can find fd value after evdev is created.

@fix

Test Plan:
(1) Multiple input devices are connected. Their evdev->fd remains zero or initial value.
(2) When one of those devices are plugged out, fd leak would happen.

Reviewers: raster, zmike, gwanglim, stefan_schmidt, devilhorns, ManMower

Subscribers: cedric, jpeg, Jeon, input.hacker

Differential Revision: https://phab.enlightenment.org/D3428
2015-12-15 10:28:39 -05:00
Jean-Philippe Andre 7fd907a132 Eina safety: Set error flag in case of safety check error
Eina_Error is almost not used at all. Meh.
2015-12-15 17:43:39 +09:00
Jean-Philippe Andre 5ad9654fbc Eina safety: Add internal function to log errors
The main reason is convenience for debugging when using GDB,
this will give a simple breakpoint for all safety check failures.

Also, this creates a more visible log domain (red).
2015-12-15 17:32:50 +09:00
Jean-Philippe Andre 1f75cfc3cf Eina log: Disable backtrace by default for dev builds
The EINA_LOG_BACKTRACE thing is aimed at production environments,
so we can extract a backtrace from a log file post-mortem, but not
for continuous development of EFL itself.

I know this should make a few people happy.
2015-12-15 16:01:51 +09:00
Jean-Philippe Andre 6bc24b4794 Eina log: Fix meaning of EINA_LOG_BACKTRACE env
Most eina log env vars mean "if loglevel <= val then print log"
but eina_log_backtrace was "if loglevel < val" which I thought
was a bit confusing. The default behaviour is unchanged.
2015-12-15 15:25:55 +09:00
Jean-Philippe Andre 42744eff6f Evas VG: Fix clang warning 2015-12-15 15:05:03 +09:00
Jean-Philippe Andre 2960b70340 Eina Xml: Fix clang warnings 2015-12-15 14:35:46 +09:00
Jean-Philippe Andre 9e68f0524b Eina value: Fix clang warnings (use NULL instead of bool) 2015-12-15 14:12:21 +09:00
Vincent Torri 232b08cef3 Ecore_Win32: let cursors on the non-client area (the borders) be like the default ones
After the support of the X11 cursors on Windows, the cursors were set for the whole
window (even the borders). Now we let the system use the default cursors for the borders
and we use the cursors set by the API for the client area only
2015-12-14 11:14:51 +09:00
Youngbok Shin fcba96384f Evas Textblock: Fix NULL dereferencing issue
Summary:
Even if the given two cursor is NULL, it shouldn't be crashed.
@fix

Test Plan:
Test case included in Evas test suite.
Run "make check".

Reviewers: herdsman, tasn

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3422
2015-12-13 17:15:10 +02:00
Carsten Haitzler 22869bb94e evas - fix evas module locks to init/del when movile created/destroyed
we initted when we load and unload. this led to races with
locking/unlocking elsewhere as these expected us to be initted and we
were not yet. this fixes that!

@fix
2015-12-12 23:37:16 +09:00
Chris Michael 8c85a89303 ecore-wl2: Add new event for sync done
This removes the usage of ecore_main_loop_iterate inside of the
display_connect function. It creates a new event type for when display
sync is done, this was we can defer surface creation and EE showing
until the compositor has had a chance to synchronize globals. We need
this for Enlightenment so that it does not try to create error dialogs
too early and thus crash due to not having sync'd globals yet

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-11 11:24:32 -05:00
Carsten Haitzler 000beb2f17 Revert "evas: trigger RENDER_FLUSH callbacks during async render"
This reverts commit cbb447c878.

1. this is wrong because evas_render_pipe_wakeup() is being called IN
THE RENDER THREAD. it... SENDS a wakeup back to the mainloop with

   evas_async_events_put(data, 0, NULL, evas_render_async_wakeup);

and you can see that evas_render_async_wakeup() calls
evas_render_wakeup() and in evas_render_wakeup() flush pre/post are
called, but since the trhead does the flush we cant realyl call
before/after, but it retains order... IF there are updates (haveup).

so calling these callbacks FROM a thread is now leading to apps
mysteriously exiting. this is mucho bad. just at random i now have my
terminals exiting.
2015-12-11 15:15:36 +09:00
Jaehyun Cho 91d9e7f83c Revert "ecore_cocoa: add support for system cursors"
This reverts commit 4623d57762.
This commit is duplicated with 2c93c73cbd.
2015-12-11 14:28:33 +09:00
Minkyoung Kim a9df72f611 evas: Do not preload data if data is cached.
Summary: Summary : If data is cached, need not to reload data.

Test Plan: Local tests

Reviewers: jpeg

Reviewed By: jpeg

Subscribers: eunue, spacegrapher, cedric, wonsik, jiin.moon

Differential Revision: https://phab.enlightenment.org/D3418
2015-12-11 14:05:12 +09:00
Mike Blumenkrantz cbb447c878 evas: trigger RENDER_FLUSH callbacks during async render
these callbacks are used, so ensure that they get called in the expected
order

@fix

 #PatchesFromCedric
2015-12-10 16:00:45 -05:00
Guilherme Lepsch 10fa1b5b4b eldbus: add efl.model implementation.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-10 12:02:30 -08:00
Guilherme Lepsch 48b2221449 efl: common Efl.Model implementation functions helpers.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-10 11:10:46 -08:00
Felipe Magno de Almeida 5d4038d74d eina: add EINA_VALUE_TYPE_OPTIONAL, a single-element container that can be empty.
Eina Value Optional can be used to create a eina value that can be set
or be empty and can be embedded in a eina_value_struct.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-10 11:10:46 -08:00
Mike Blumenkrantz 0d1179abe3 ecore-wl2: ensure client display hash is freed and set NULL on connect failure 2015-12-10 11:19:08 -05:00
Conrad Meyer 76f9739f21 eina_inline_lock_posix: Be far more careful with pthread function error returns
Summary:
Related to T2287.

Log lock errors (printf to avoid eina_log locks) and continue or abort,
conditional on EINA_HAVE_DEBUG_THREADS.

Reviewers: raster, cedric

Subscribers: stefan_schmidt, cedric, seoz

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

Note - fixed review comments on macro names and some formatting and
error strings too - raster.
2015-12-10 20:07:59 +09:00
Jean-Philippe Andre 4bcd2fa0f0 Revert "Evas: Refactor model's savers and loaders."
This reverts commit 01a32f64c0.

This broke make check with the following error:
evas_test_mesh.c:123:F:Meshes:evas_object_mesh_loader_saver:0: Failure 'res == 1' occurred

Reopen https://phab.enlightenment.org/D3420
2015-12-10 18:21:09 +09:00
Sung-Taek Hong e840b255f4 ecore_idle_exiter: unlock when Ecore_Task_Cb is NULL
Summary:
- When Ecore_Task_Cb is not set, _ecore_idle_exiter_constructor
  returns without _ecore_unlock(), and remains to be locked.

Reviewers: jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3424
2015-12-10 17:01:25 +09:00
perepelits.m 01a32f64c0 Evas: Refactor model's savers and loaders.
Summary:
Move common part to a separated document.
Make code more readable using smaller functions. (from Task T2713)

I did it again because somehow test is passing now. It seems like this test suite is unstable.
Please, let me know if there are any errors after running distcheck.

Reviewers: cedric, raster, Hermet, stefan_schmidt

Subscribers: jpeg, artem.popov

Differential Revision: https://phab.enlightenment.org/D3420
2015-12-10 16:50:06 +09:00
Pankaj Mittal 1363cd757a evas_eet: Add Type Safety check
Summary:
The Function _evas_canvas3d_eet_file_free(void) is referenced in  evas_model_load_file_eet()(file:evas_model_load_eet.c at line 122).
This call is  under condition
        if ((eet_file->mesh == NULL) || (eet_file->header == NULL)).
when  either eet_file->mesh or eet_file->header are NULL, dereference of the corresponding pointer in function "_evas_canvas3d_eet_file_free()"
will generate Segmentation Fault.

@fix

Reviewers: raster, Hermet, tasn, wonsik, spacegrapher, cedric, jpeg

Subscribers: singh.amitesh, sachin.dev, alok25, yashu21985, mvsovani, cedric

Differential Revision: https://phab.enlightenment.org/D3369
2015-12-10 16:26:56 +09:00
Amitesh Singh 18b66a3192 Revert "edje: calc - remove pointer comparison while finding part desc"
This reverts commit c892a1cb71.
2015-12-09 21:29:42 +05:30
Amitesh Singh 4cebfc526f edje: calc - add curly braces to avoid ambiguous 'if'
merge two if conditions into one also.
2015-12-09 15:58:00 +05:30
Amitesh Singh c892a1cb71 edje: calc - remove pointer comparison while finding part desc
Only strcmp comparision is realiable.
@fix
2015-12-09 15:50:03 +05:30
Youngbok Shin 20ef85e307 Evas text: Fix Evas Text truncated text case.
Summary:
Evas Text only concerns about a advance of each text item.
When a width of last character is bigger than its advance, the last character can be truncated.
And the different line size calculation caused different aligning between Evas Text and Evas Textblock.
So, the width of last character will be considered in Evas Text just like Evas Textblock.
@fix

Test Plan:
The following text shows how the size calculation is different between Evas Textblock and Text.
Get native size from Evas Textblock and get width(geometry) of Evas Text.
You can see the width of Evas Text is bigger than native size of Evas Textblock.
(adv > width)
こんにちは。

The following text will be truncated without this patch.
(adv < width)
ନୂଁ

Reviewers: woohyun, tasn, herdsman

Subscribers: jpeg, cedric

Differential Revision: https://phab.enlightenment.org/D3004
2015-12-09 11:10:46 +02:00
Carsten Haitzler 7d57dfbe9c efl - ecore-x randr - fix coverity issue found after previous leak fix
fix coverity issue pointed out in the previous commit fix:

dadc1451e7

use after free of ptr (free was in wrong spot)

@fix
2015-12-09 14:21:10 +09:00
Jean-Philippe Andre 31984449a5 Evas filters: Move 'fill' to its own file 2015-12-09 11:45:34 +09:00
Stefan Schmidt 94978a3567 eina_quaternion: fix ein matrix type comparison
Fixing a bug that I fixed before. Sadly got introduced again. See
a486671bce for the details.

CID: 1341769
2015-12-09 01:22:38 +01:00
Stefan Schmidt 96a9d75e0c Revert "evas: refactor model's savers and loaders."
This reverts commit 32c33ed64d.

This refactor broke the evas test cases for the model loaders and savers. I gave
it a week to get fixed but a first try did not succeed and its blocks a lot of
other automated testing. To be honest, it should have never gone it when it
breaks existing test cases. Once fixed this refactor can happily go in.

Fixes T2905
2015-12-08 22:33:05 +01:00
Chris Michael e50d228882 ecore-wl2: rewrite iconified set function for consistency
* santize boolean params
* enforce window state flag setting

@fix

ref T2919

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-08 12:00:13 -05:00
Daniel Hirt 7e8e392db6 Evas textblock: improve and fix line range rectangles
The line range rectangles geometries needed a bit of adjusting. I
started out with fixing T2648. In order to fill the gap between the end
of the line and the margins, the geometry of the last line's character
was used. I am not really sure why. Anyway, we have the line geometry,
so I replaced it with that.

Then, it led me to do some alignment checks, and indeed alignment cases
were not treated. For instance, an LTR paragraph could have a line
aligned with a value greater than 0.0. That means that we should fill
the gap from the left of the line, if it was the last line in a
multi-line selection. The inverse case is for RTL.

I think it now works as it should. Will see if the selection logic is
missing some more stuff once I come up with more example cases.

Fixes T2648.

@fix
2015-12-08 17:19:18 +02:00
Srivardhan Hebbar 326d0e548d eina: Adding API for base64 url encoding.
Summary:
I have put the common encoding code in the common function. The 2 API's
call them with a flag. Thinking of doing the same way to decode
function also.
T2880

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

Reviewers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3414
2015-12-08 20:50:40 +09:00
Tom Hacohen 3896c03cff Evas render2: Fix always false comparisons.
This looks like a classic copy and paste error. It didn't make any sense
before, and it seems like no one was going to take a look at it.
This looks correct. If this breaks something (is render2 even used),
someone should remove those lines. I wasn't entirely sure if I should
just remove them, or correct them, as some of the code looked redundant
anyway.
2015-12-08 11:35:25 +00:00
Tom Hacohen f44d786fa1 Ecore con socks: Add missing break statement to switch.
This looks like an obvious case of missing break. If it wasn't a missing
break, there should have been at least a comment. Looking at the code it
looks like a break is needed. Also, I suspect this code path is never
really tested, and that's why we never hit it.

Tests are not failing either way.

CID1039379
2015-12-08 11:05:19 +00:00
Jean-Philippe Andre 15d5125d6e Evas filters: Remove unused variable 2015-12-08 14:57:51 +09:00
Jean-Philippe Andre d8b5e5da7b Evas: Remove unwanted file added by accident
From commit 82504d9d77
2015-12-08 14:54:21 +09:00
Vincent Torri 67f44a3cf8 Efreet, Elua : use eina_file_mkstemp instead of mkstemp
Reviewers: jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3411
2015-12-08 14:24:59 +09:00
Vincent Torri a4a82ca003 Evil: remove useless internal function
Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D3410
2015-12-08 13:56:49 +09:00
Vincent Torri 7782e2388c Evil: fix infinite recursive loop in previous addition of setlocale() in Evil
Summary:
setlocale() called itself because it was defined as a #define
so remove this #define from evil_locale.h and move it in another header file
To avoid future problem, move similar defines to this header file
Also clean all the header file mess in Evil

Reviewers: cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D3409
2015-12-08 13:56:49 +09:00
Jee-Yong Um 3e31eda3bd edje: introduce size_class attribute
Edje_Part can change its min or max size in code level with
size_class.

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

PS: Manual commit, arc refused to work...

@feature

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
2015-12-08 12:25:15 +09:00
se.osadchy 785f4c1a5e evas: fix mistake in descriptions of matrix
Summary: Wrong word in documentation eina_matrix.h.

Reviewers: Hermet, raster, jpeg, cedric

Reviewed By: jpeg, cedric

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-07 16:51:58 -08:00
se.osadchy 82504d9d77 evas: recognize duplicated data structure with eina_quternion and ector.
Summary:
Move data structure and functionality to eina_quaternion from evas_vec4.

Reviewers: raster, Hermet, cedric

Subscribers: jpeg, Oleksander

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-07 16:36:16 -08:00
Chris Michael 880a76a75b ecore-wl2: rewrite maximize/fullscreen set functions for consistency
* sanitize boolean params
* enforce window state flag setting
* use window flag instead of window type for state

@fix

ref T2919

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-07 15:36:42 -05:00
Chris Michael ef3ef643c2 evas: Fix definition of framespace in canvas eo file
The definition of 'framespace' in the canvas eo file is incorrect.
Framespace is the space occupied by the window frame within the canvas viewport

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-07 15:36:42 -05:00
Chris Michael 7469261d2f ecore-wl2: Fix issue of cleanup function always removing from client
display hash

As the cleanup function is a generic helper to cleanup things in the
Ecore_Wl2_Display structure, we cannot always just explicitly the
display from the client_displays hash.

The removal from the appropriate hashes should be done by the calling
function(s) (ecore_wl2_display_disconnect for clients, and
ecore_wl2_display_destroy for servers)

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-07 15:36:42 -05:00
Chris Michael 33d0c8cdcf ecore-wl2: Fix formatting and remove extra blank line
NB: no functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-07 15:36:42 -05:00
Daniel Hirt 1d48dd90b2 Evas textblock: fix evas_textblock_cursor_line_set
The line_set function should set the cursor to the first logical
position in the line. We can't use the first text position of the
first item in the line, due to BiDi considerations (the line may be
reordered). I've split evas_textblock_cursor_line_char_first to avoid
code duplication, as it already handles these cases.

@fix
2015-12-07 18:21:00 +02:00
Chris Michael 8287202c43 ecore-wl2: Don't free display structure during display cleanup function
Due to reference caching, we cannot free the display structure here
yet. During calls to ecore_wl2_display_destroy (or others), if the
number of references reaches zero, then we end up calling
wl_display_destroy (or equivelant). If we free our display structure
during cleanup function, then calls to wl_display_destroy will cause a
segfault as our display->wayland_display has already been freed from
the structure

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-07 10:00:23 -05:00
Carsten Haitzler dadc1451e7 efl - ecore-x xrandr - fix memleaks of properties fetched
while doing some debugging, ifound we have been leaking these xrandr
properites that were malloced in certain cases. this fixes these leaks.

@fix
2015-12-07 20:07:31 +09:00
Srivardhan Hebbar 7d84c19bec eina: Adding API for base64 decode.
Summary:
Added eina_str_base64_decode API.

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

Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: jpeg

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

@feature
2015-12-07 19:29:36 +09:00
Vincent Torri 68107e5eb8 Ecore_File: fix merge and simplify logic in ecore_file_file_get() on WindoWS
Summary: Ecore_File: fix merge and simplify logic in ecore_file_file_get() on WindowS

Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D3404
2015-12-07 14:08:19 +09:00
Vincent Torri 0497b9685c efl: add binary mode to open() calls
This allows better compatibility with Windows

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-05 21:06:04 +01:00
Vincent Torri 4f242fb48a efl: add binary mode to fdopen() calls
This allows better compatibility with Windows

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-05 21:05:23 +01:00
Vincent Torri 3b44645363 efl: add binary mode to f(re)open() calls
This allows better compatibility with Windows

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-05 21:04:36 +01:00
Mike Blumenkrantz d2a7882b73 ecore-wl2: fix use after free and leak when deleting display object
ref T2919
2015-12-05 13:06:03 -05:00
Mike Blumenkrantz 8fb4840479 ecore-wl2: add function for getting display from window 2015-12-05 13:05:15 -05:00
Mike Blumenkrantz f50a434bd1 ecore-wl2: apply same deferred shell surface creation as ecore-wayland
new wheel meets old wheel.

ref 265ad8b5d0
2015-12-04 19:06:51 -05:00
Mike Blumenkrantz 022dda2f68 ecore-wl2: handle null global has in ecore_wl2_display_globals_get() 2015-12-04 19:06:48 -05:00
Chris Michael 298d66377e ecore-wl2: Implement function pointer for configure acknowledge
We need a way to store the configure serial, and make the
xdg_surface_ack_configure callback be callable by Ecore_Evas at the
appropriate time. This fixes an issue where previously we were
(potentially) sending a configure acknowledgment while not applying
the configure due to deferred rendering.

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2015-12-04 14:12:06 -05:00
Youngbok Shin 76fa1159c5 Evas textblock: Skip layout logic for an text item which doesn't have font.
Summary:
Evas textblock could cause infinite loop if there is no fonts to use.
If there is no fonts, text_props.text_len is never set.
When text_props.text_len is 0, the for loop in _layout_par runs forever.
It is ridiculous to use Textblock without fonts. But, it shouldn't runs
infinite loop in any situation.

@fix

Test Plan:
1. Remove all of fonts in your EFL or Tizen device.
   (Or you can test it modifying some codes in Textblock by skipping load fonts.)
2. Run elementary_test -to entry3 or see any multiline textblocks.

Reviewers: tasn, herdsman, woohyun

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3402
2015-12-04 14:46:35 +00:00
Vincent Torri c66608dce0 Evil: remove useless code
This code was used for GNU printf and al. but it is useless now
2015-12-04 13:17:55 +00:00
Jean-Philippe Andre 8f4018b690 Evas filters: Implement mix3 func for rgba masking
This operation was faked by running a mul and a blend ops. Now
they are combined into one. A GL shader should also be able
to do this in a single pass.
2015-12-04 16:10:06 +09:00
Jean-Philippe Andre ecc7da9cba Evas filters: Use Efl.Gfx.Render_Op
Some filters are now broken. Yay for refactoring! Will be fixed
in the following commit.
2015-12-04 16:09:53 +09:00
Chris Michael 16b638019d ecore-evas: Remove duplicated ecore_evas_cocoa_window_get function
During my merge of the ecore_wl2 branch, somehow a duplicated
cocoa_window_get function got added. Remove it.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:41:34 -05:00
Chris Michael b566360de2 ecore-wl2: Always create cursor surface for pointer
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:07:45 -05:00
Jean Guyomarc'h 4623d57762 ecore_cocoa: add support for system cursors
- Ecore_Cocoa_Cursor enum which references system cursors;
- API to show/hide cursor: ecore_cocoa_window_cursor_show();
- API to set system cursor: ecore_cocoa_window_cursor_set();
- Ecore_Evas interface to get Ecore_Cocoa_Window from Ecore_Evas.

@feature

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-03 12:07:20 -05:00
Chris Michael f0342a5ffe ecore-wl2: Add start of code to support wl_keyboards
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:05:49 -05:00
Chris Michael 5869b4afa1 ecore-wl2: Add private Ecore_Wl2_Keyboard structure
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:05:49 -05:00
Chris Michael 2e00a5ebbd ecore-wl2: Remove unnecessary use of MIN macro
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:05:49 -05:00
Chris Michael ba10e3547c ecore-wl2: Start on implementing support for multi-seat
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:05:01 -05:00
Chris Michael 2aecd1ec48 ecore-wl2: Cancel data callback if we have a fatal error
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:05:01 -05:00
Chris Michael e9fab75178 ecore-wl2: Remove setting custom wl_log handler
Seems EINA_LOG_DOM has a problem printing out wayland protocol logs,
so allow wayland to handle that itself.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:05:01 -05:00
Chris Michael 3201d67183 ecore-wl2: Fix maximized & fullscreen functions to use window flag
Rather than rely on window->type for maximized & fullscreen, use the
cooresponding window flag

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:05:01 -05:00
Chris Michael 14229e0709 ecore-wl2: Add missing @since for all existing doxygen
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael 684429099e ecore-wl2: Change name of ecore_wl2_window_class_name_set function
It makes more sense to have this function be called
ecore_wl2_window_class_set.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael de08c10253 ecore-wl2: Add missing EINA_UNUSED for function parameters
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael 93afb3ed07 ecore-wl2: Add function to get a windows rotation
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael 9aaada21c3 ecore-wl2: Fix issue of not unsetting move mouse pointer
Summary: When we finish moving a window, previously the mouse cursor
would never get unset from the hand cursor. This is due to the way
that grabs work in wayland, and not ever getting an event notification
for the move being completed. This patch works around that issue

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael 31dac90f9d ecore-wl2: Fix maximized and fullscreen functions to restore geometry
Previously, when we maximized or fullscreen a window, we were sending
the improper geometry to the window_configure callback

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael 0d7305ae95 ecore-wl2: Add doxygen for more ecore_wl2_window functions
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael cb04220ca3 ecore-wl2: Add support for handling Fatal Errors
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael e839035bfa ecore-wl2: Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael d30e9c6f97 ecore-wl2: Add note about calling ecore_wl2_display_globals_get
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael 8196913b15 ecore-wl2: Add caching of server displays and fix issue of client
connecting to same server pid

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael ad5f93b521 ecore-wl2: Client connections do not need to listen for a write event
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael be32567dfb ecore-wl2: Also listen for write events when creating a compositor
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael 59d1491929 ecore-wl2: Fix event processing for client connections
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael 5a13b093b5 ecore-wl2: Connect to proper name during ecore_wl2_display_connect
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael 482668451d ecore-wl2: Add safety trap for null compositor
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael ede679b7bd ecore-wl2: Don't re-add existing globals
If we already have seen this global, and it is in the globals hash,
then don't re-add it and just jump straight to sending the event

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael 8f338af511 ecore-wl2: Remove all code relating to custom window animators
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael d29acc3613 ecore-wl: Remove setting window animator in server mode
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 02afb0dc28 ecore-wl2: Rename anim_listener to avoid confusion with ecore_wayland
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 652fa87169 ecore-wl2: Remove duplicate window_find API function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael dbb862299b ecore-wl2: Re-order window API function to be with window group
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 0272154007 ecore-wl2: Add doxygen group for Subsurface functions
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 9a871106db ecore-wl2: Fix typo in doxy group definition for Dnd Group
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 57e19e1fd8 ecore-wl2: Re-order API functions for input to be located next to the
group definition

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 7fb55f5789 ecore-wl2: Add doxy group for output functions
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 24aa08ede7 ecore-wl2: Add API function to get the DPI of a given output
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 47cd4d4168 ecore-wl2: Fix issue of compositors not flushing clients properly
Summary: When we use ecore_wl2 for creating compositors (E), we need
to flush clients before we dispatch events on the wl loop, so add a
prepare_callback for the fd handlers and flush clients there.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 6d78355ccc ecore-wl2: Add API function to return a wl_seat from an Ecore_Wl2_Input
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 055b398e8d ecore-wl2: Implement ecore_animators for windows instead of using a
custom animator

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 0f49297c18 ecore-wl2: Fix dnd to function when source window and target window
are same

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 8683c6ecf6 ecore-wl2: Implement reference counting for client connected displays
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 3dc45d4945 ecore-wl2: Cache client displays and reuse them to reduce memory usage
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael acf97100db ecore-wl2: Reset Ecore_Wl2 events to 0 on shutdown
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael fbfe60751d ecore-wl2: Set WAYLAND_DISPLAY env variable when we create a display
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 68527379e2 ecore-wl2: Don't reset window->input on keyboard or pointer leave events
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael b7804b6877 ecore-wl2: Don't check twice if a key repeats and also fix issue of
repeating keys getting delayed

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 89c973eba8 ecore-wl2: Adjust keyboard repeat delay and rate
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Derek Foreman 497b9c045e ecore-wl2: cache the registry
wl_get_registry() returns a new object that we must destroy, so
we should cache one at connect and never call that again.

Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael b89c45dbf9 ecore-wl2: Add support for idle_enterer
Summary: This fixes an issue where scrolling mouse wheel would not
actually perform any scroll until another event was received.

NB: Unsure if we need this for "server" connections yet

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael c5dba8cd32 ecore-wl2: Free internal mouse down info when we delete an input
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 3e1b71b3d8 ecore-wl2: Add API function to set opaque region of a subsurface
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 475ade8bf8 ecore-wl2: Add API function to set sync/desync on a subsurface
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael d50af2db70 ecore-wl2: Add API function to place a subsurface below a surface
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 44b2153a42 ecore-wl2: Add API function to place a subsurface above a surface
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 25505626ad ecore-wl2: Add API function to get the position of a subsurface
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 0b8d2f1f24 ecore-wl2: Add API function to set the position of a subsurface
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 32bb1237c6 ecore-wl2: Add API function to return the wl_surface of a subsurface
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael ed8287bdba ecore-wl2: Add API function to delete a subsurface
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 6c16d7967b ecore-wl2: Use proper wayland function to get display registry
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 434fbd6fb9 ecore-wl2: Start on preliminary subsurface support
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael d4c312ecce ecore-wl2: Cleanup wayland objects on display cleanup
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 9a9d120c44 ecore-wl2: Cleanup inputs on display disconnect/destroy
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 10efbbd416 ecore-wl2: Add subsurface structure type
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 98f0a245ce ecore-wl2: Add subsurface protocol files to support subsurfaces
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 76da2e3063 ecore-wl2: Add doxygen for ecore_wl2_window functions
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael d22b6c581c ecore-wl2: Add support for input region setting for an Ecore_Wl2_Window
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 35710fa919 ecore-wl2: Add API function to return the registry of a display
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 206914aa32 ecore-wl2: Add API funtion declarations need for Elementary
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 518b97cc1c ecore-wl2: Add API function to find a window given a window id
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael f3e5800d58 ecore-wl2: Add API function to issue an ungrab on an input
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 5addb38844 ecore-evas: Add API function to get an Ecore_Wl2_Window for an
ecore_evas

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael f485b451ce ecore-evas: Add function to return Ecore_Wl2_Window
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 7cbed394dc ecore-evas: Add ecore_evas_wayland_window_get2 to the Ecore_Evas
Wayland Interface

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 3a0a298181 ecore-evas: Add new API to return a Ecore_Wl2_Window when requested
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 8df60cef9e ecore-wl2: Check if a window is transparent or alpha when setting
opaque region

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael a084891013 ecore-wl2: Cleanup dnd drag and selection sources when we delete an
input

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael a4b28e0375 ecore-wl2: Send window configure event when we un-maximize/fullscreen
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 63004b492c ecore-wl2: Add a LAST member for enum of window type
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 1a38e1a9f4 ecore-wl2: Don't use bitfields for public structure
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 41f6e1f505 ecore-wl2: Add display to global event structure
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 84a01216e7 ecore-wl2: Provide internal function to stop any cursor update timers
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael bb0f3ab62a ecore-wl2: Create new event type for window configure
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 324a7e545a ecore-wl2: Update input serial when we get a mouse button event
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 961a5fa478 ecore-wl2: Add event type and structure for sending window configure
events

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 4b0aaca962 ecore-wl2: Set window input on pointer enter/leave events
Summary: This is so that we can still change mouse cursor (to indicate resize)
even when the window does not have focus

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 4bd535e3a1 ecore-wl2: Remove window animator callback when we free a window
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 70867d9dc7 ecore-wl2: Remove test for no-op move/resize
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 597426e606 ecore-wl2: Fix compiler warning
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 2f57854e8b ecore-wl2: Reduce noise of ERR messages which are not that important
when trying to set pointer cursor images

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 9cc1ba045c ecore-wl2: Fix issue of never getting keyboard focus
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 76a06f300f ecore-wl2: Fix issue of animators not starting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael e0f7c7a648 ecore-wl2: Finish off internal dnd code to actually send events
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 26db25b5ff ecore-wl2: Add API function to clear a dnd selection
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael e44f85cc3c ecore-wl2: Add API function to return if a dnd selection exists
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 00fd750d7d ecore-wl2: Add API function to set a dnd selection
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 4559aa15a4 ecore-wl2: Add API function to determine if an input has a selection
owner

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael d1cc93f046 ecore-wl2: Add API function to end a dnd drag operation
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00