Commit Graph

5165 Commits

Author SHA1 Message Date
subhransu ac7cea1eb8 Evas_3D : Eolian change for Evas_3D_Object.
Conflicts:

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

	src/Makefile_Evas.am
	src/lib/evas/Evas_3D.h
	src/lib/evas/Evas_Eo.h
2014-04-25 16:58:47 +09:00
Jean-Philippe Andre 86ce491a86 Evas gl_x11: Add ETC2 support to the GL/X11 engine
This should allow texture upload with ETC2 RGB8 or RGBA8 formats.
Untested for now...

@feature
2014-04-25 16:50:29 +09:00
Jean-Philippe Andre ef3a36626f Evas: Add support for ETC2 in the TGV loader
There is an ifdef HAVE_ETC2_DECODER to disable unimplemented code.

Since these ETC2 decoding function are not implemented yet,
they should be disabled at compile time.

Yes, this means Evas will not be able to load those images in case
of SW engine or GL engine w/o ETC2 support.

@feature
2014-04-25 16:50:29 +09:00
Jean-Philippe Andre 947fc3e098 Evas TGV: Add direct copy mode for ETC1/ETC2 data
If the image is already in ETC1 or ETC2, then just copy its data
(and LZ4 compress it).

@feature
2014-04-25 16:50:28 +09:00
Jean-Philippe Andre e5f4b032be Evas: Add RGB8_ETC2 and RGBA8_ETC2 colorspaces
These are two variants of ETC2 texture compression format.
2014-04-25 16:50:28 +09:00
Subhransu Sekhar Mohanty f7503e61ac Evas: 3D: Change the api name from t3d_scene to 3d_scene as the eolian issue got fixed. 2014-04-25 16:47:32 +09:00
Taekyun Kim 9014f50e97 Evas: 3D: Add missing image file for example evas-3d-proxy 2014-04-25 16:47:12 +09:00
Taekyun Kim 0a5a08b047 Evas: 3D: API documentation
Conflicts:

	src/lib/evas/Evas_3D.h
2014-04-25 16:45:23 +09:00
Taekyun Kim 013f3da966 Evas: 3D: Updated proxy texture example 2014-04-25 16:42:03 +09:00
Taekyun Kim 6856e562ca Evas: 3D: Refined proxy texture implementation
Added new APIs for controlling source object's visibility.
Fixed bugs related to updating proxy textures.
2014-04-25 16:20:24 +09:00
Taekyun Kim 26e43f938f Evas: 3D: Fix typo error in preprocessor for GLES 2014-04-25 16:19:29 +09:00
Taekyun Kim fc6cdaaa9d Evas: 3D: evas_3d_node_look_at_set() bug fix 2014-04-25 16:19:18 +09:00
Taekyun Kim 44a9f924ee Evas: 3D: Example: MD2 mesh file example
MD2 model file is from http://mb.srb2.org/showthread.php?t=34800
Thanks to Jeck Jim.
2014-04-25 16:19:10 +09:00
Taekyun Kim 0899e30be6 Evas: 3D: Example: Picking example 2014-04-25 16:19:05 +09:00
Taekyun Kim 578413e103 Evas: 3D: Example: Proxy texture example 2014-04-25 16:18:58 +09:00
Taekyun Kim 6daa0537df Evas: 3D: Example: Rotating Cube 2
Demonstrating key frame material animation and normal mapping.
2014-04-25 16:18:50 +09:00
Taekyun Kim c15c162016 Evas: 3D: Example: Rotating cube 2014-04-25 16:18:39 +09:00
ChunEon Park 16b2dfeba5 evas/evas3d: include evas3d header file properly. 2014-04-25 16:17:43 +09:00
Taekyun Kim 8fda631730 Evas: 3D: Introducing 3D scene rendering features
Enable 3D features using --enable-evas-3d=yes when configuring.
APIs are exposed through Evas_3D.h.
Currently, evas-3d is being supported only on gl_x11 engine.

Conflicts:

	src/lib/evas/Evas_Eo.h
2014-04-25 16:15:41 +09:00
Jaeun Choi 96f9353f4c Evas: gif decoding bug fix
Gif decoder decodes prior frames sequentially to decode a specific frame.
The last frame of sequential decoding, which is the frame we want to decode,
remains un-decoded until the while loop stops.
The frame count should be incremented after the comparison statement.
2014-04-25 15:26:48 +09:00
bluezery 785cdcf689 edje: Remove build warnning by clang
Summary:
This can fix below warning:
bin/edje/edje_cc_handlers.c:9839:42: warning: equality comparison with
extraneous parentheses [-Wparentheses-equality]

Reviewers: raster, cedric, seoz

Reviewed By: seoz

CC: cedric

Differential Revision: https://phab.enlightenment.org/D792
2014-04-25 14:27:15 +09:00
Jean-Philippe Andre 28ce791dfa Evas TGV: Fix distortion of TGV images (ETC1)
Due to some invalid geometry considerations, there was a
1 pixel distortion in images, varying with the lz4 compressed
macro-block size.

Anyhow, I couldn't wrap my head around Cedric's code. So I rewrote
the whole thing instead, fixed it and improved the block size
selection (based on the image size, to optimize lz4 compression).
2014-04-25 12:08:56 +09:00
se.osadchy 709c1d86c0 Edje/Edje_edit: corrected type of input parameter for offset value
Summary: Input type for offset value must be Integer in the "edje_edit_rel1(2)_offset_x(y)_set" functions

Reviewers: cedric, Hermet

CC: cedric, Hermet, raster

Differential Revision: https://phab.enlightenment.org/D562
2014-04-25 11:19:58 +09:00
Ryuan Choi 2030067991 Clear the values of pipe before calling handler.
Summary:
Applications are stuck when handler of pipe made nested loop.
In the nested loop, _ecore_pipe_read() tried to read new data based on previous information which is not cleared yet.

Spotted by gyuyoung.kim, sy302.park.

Related webkit bug is https://bugs.webkit.org/show_bug.cgi?id=129294

Reviewers: cedric, seoz, raster

CC: seoz, cedric

Differential Revision: https://phab.enlightenment.org/D790
2014-04-25 10:29:01 +09:00
Daniel Zaoui 64e947512a Eolian: Remove support of legacy into implement section.
It has been decided that this support is not needed.
2014-04-24 16:51:04 +03:00
Daniel Zaoui cc84a36734 Eolian: Removal of the support for custom destructors.
For no reason, I added it a long time ago.
2014-04-24 16:30:40 +03:00
Daniel Zaoui d80fabefe9 Eolian/Tests: add test for ctors and dtors. 2014-04-24 15:47:51 +03:00
Daniel Zaoui de65937980 TextBlock: fix porting to Eolian.
evas_object_text_clear was no more defined in the headers. Since the
function code is not generated by Eolian, the declaration in the headers
has to be done manually too.
2014-04-24 14:20:29 +03:00
Daniel Zaoui 0dda45961f Eolian/Tests: Clean makefile + add return comment tests. 2014-04-24 14:20:21 +03:00
Wonguk Jeong dd587ba43b emotion: play set before file open callback bug fix
Summary:
Before "open_done" callback, play unset is ineffective.
is it intentional logic?

if we set play and unset play again before "open_done" callback, the video will be played.

@fix

Reviewers: raster, cedric

CC: seoz, cedric

Differential Revision: https://phab.enlightenment.org/D786
2014-04-24 18:10:10 +09:00
Daniel Zaoui f36fac8ec6 Eolian: Remove useless functions.
Default ctor/dtor are considered as implemented functions and no more as
special functions.
2014-04-23 16:28:33 +03:00
Mike Blumenkrantz 7355f67c1f revert edje ellipsis doc changes
if we're reverting functional changes, then it's probably a good idea to revert the accompanying documentation
2014-04-23 09:28:23 -04:00
Yossi Kantor edd4f14f00 Eolian: Legacy integration of Evas class 2014-04-23 16:14:12 +03:00
Yossi Kantor e791050383 Eolian: Legacy integration of Evas Box and Evas Out 2014-04-23 16:14:12 +03:00
Yossi Kantor 334db73866 Eolian: Legacy integration of Evas Image 2014-04-23 16:14:12 +03:00
Yossi Kantor d9855e9a3d Eolian: Legacy integration of Evas Grid 2014-04-23 16:14:12 +03:00
Yossi Kantor cf1ed77c7d Eolian: Legacy integration of Evas Object 2014-04-23 16:14:12 +03:00
Yossi Kantor f1e1a79822 Eolian: Legacy integration of Evas Common Interface 2014-04-23 16:14:12 +03:00
Yossi Kantor 33cf815737 Eolian: Legacy partial integration of Evas Smart 2014-04-23 16:13:58 +03:00
Daniel Zaoui 4f35a9a743 Eolian: Fix distcheck
scope.eo was not included in EXTRA_DIST.
2014-04-23 15:54:44 +03:00
Yossi Kantor d48c884045 Eolian: Legacy integration of Ecore 2014-04-23 15:44:17 +03:00
Yossi Kantor d7ff6085c2 Eolian: Legacy integration of Edje 2014-04-23 15:44:17 +03:00
Carsten Haitzler f442c21c04 partly revert mike's ellipsis changes as they break edje
partly revert adcc323291 as the default
ellipsis value was 0 as per the document, and must stay, as changing
this breaks edc descirptions as now text is no longer ellipsised by
default. this ACTUALLY broke titlebars on the default theme - just
have a title that is too long and see how it no longer goes:

This is a title he...

it instead covers the screen for as long as the title is.

if you want -1 for ellipsis... then set it. :)
2014-04-23 19:57:15 +09:00
Daniel Zaoui 3c61dc1dba Eo: adapt benchmarks to Eo2. 2014-04-23 11:23:39 +03:00
Yossi Kantor 026d7210c6 Eolian: Space after const missing in function parameters of legacy header 2014-04-23 10:35:04 +03:00
Daniel Zaoui 5ea1ffac5b Eolian/Generator: support --eo.
--eo1 is still supported but it will be removed soon.
2014-04-23 08:55:15 +03:00
Daniel Zaoui 9122f603f9 Eo: adapt examples to Eo2.
It includes Eo and Evas porting to Eo2.
2014-04-23 07:56:20 +03:00
Mike Blumenkrantz adcc323291 edje: the ellipsis fuckup preservation commit.
what a huge, colossal cock-up of a clusterfuck. it's a good thing nobody ever uses ellipses or edje. otherwise we'd probably get complaints about this kind of thing.
2014-04-22 20:21:46 -04:00
Mike Blumenkrantz c2ced46d2d edje now correctly forces ellipsis setting on text parts
this should always be applied, not just when min_x isn't set; failure to do so causes erroneous ellipsizing in some cases where it should be explicitly prohibited

@fix
2014-04-22 19:18:45 -04:00
Jérémy Zurcher b9c1cc2800 Eolian: add methods and properties scope support tests 2014-04-22 20:31:11 +02:00
Jérémy Zurcher 010ae10d60 Eolian: fix properties and methods scope support
define scope keywords 'protected' and 'public'
disallow scope keywords as property or method name
use move_ts action to move token start after scope modifier if found
use end_property_scope and end_method_scope actions to handle it
2014-04-22 20:24:27 +02:00
Carsten Haitzler 1ed6e2cf9c improve eo call stack
it now does up to 8192 entries and madvise unused upper pages when
dropping. also delay dropping to avoi too many syscalls
2014-04-22 20:24:27 +09:00
Jean-Philippe Andre c0aa0b3410 Evas gl: Don't swap RGBA colors with ETC1
Since rg_etc1 now outputs proper BGRA data, the shaders should not
swizzle the colors around. Stick to the normal fragment shaders.

Note: This is not tested.
2014-04-22 19:53:55 +09:00
Carsten Haitzler f21cfc0554 eo - callstack. realloc is a bad idea. use mmap and keep addr fixed
this fixes and eo2 problem where when callstack grows (or shrinks)
and realloc nas to relocate memory, the frame ptrs like fptr become
invalid and all sorts of hell ensues.

this uses mmap so blowing the stack will segv, not scribble over
memory, also its separated from malloc heap, and now big enough to not
need to size ... ever (1024 entries).
2014-04-22 19:19:24 +09:00
Jean-Philippe Andre 59b660aae9 rg_etc1: Fix RGBA vs BGRA mishandling of the ETC1 codec
Evas uses BGRA data while rg_etc1 uses RGBA data, so there
were incompatibilities between the two.

Now, rg_etc1 will take BGRA data as input and output.
2014-04-22 18:30:26 +09:00
Jean-Philippe Andre 2ff9b054f9 Evas gl_x11: Fix abort() in evas_object_image_data_get()
Since the introduction of new colorspaces for GL_X11
(GRY8, AGRY88 and ETC1), stride_get() would return
an invalid value and data_get() would just abort().

Add proper support for these functions.
ETC1 data will NOT be returned from data_get() and
stride_get() will return 0. This is to avoid people from
messing up badly with encoded color spaces.
2014-04-22 17:46:30 +09:00
Daniel Zaoui 4de405b42b Eo: Add tests dir to .gitignore 2014-04-22 09:54:24 +03:00
Daniel Zaoui d95a114db7 Eolian: infras for tests + first test 2014-04-22 09:54:24 +03:00
Jean-Philippe Andre 81fbd0e262 Ecore: Fix compilation warnings
When HAVVE_LIBTS is not defined, we have 3 unused variable warnings.
Fix that.
2014-04-22 12:41:07 +09:00
Jean-Philippe Andre 3ccd966ffe rg_etc1: Disable code producing artifacts
So I must have been a bit tired last Friday when "fixing" some
code producing artifacts, as I was just basically disabling part
of the code without realizing it :)
Let's just disable it then.
2014-04-22 11:59:54 +09:00
Mike Blumenkrantz cefebd4921 edje now alerts the user to its failure when running recursive embryo programs 2014-04-21 10:05:26 -04:00
Mike Blumenkrantz ab4ab7e73a typo from edje program info commit 2014-04-20 23:32:31 -04:00
Mike Blumenkrantz 845008da8c edje programs now provide slightly more verbose errors when disabling due to recursion limits 2014-04-20 23:30:13 -04:00
Wonguk Jeong 80236eed78 emotion: fix triggering condition of fallback module loading
@fix

Summary:
In emotion_engine_instance_new(), if given module name is wrong or if loding is failed, fallback module loading should be triggered.a (previously, it check just whether name is NULL or not)

In case of T1025, "vlc" was given name. Therefore, fallback was not triggered.

Fixes T1025

Test Plan: enlightenment -> efm -> mouse over multimedia files -> check whether preview is shown properly or not

Reviewers: raster, cedric

CC: seoz, cedric, zmike

Maniphest Tasks: T1025

Differential Revision: https://phab.enlightenment.org/D773
2014-04-20 09:58:59 -04:00
Jean-Philippe Andre 5ab3bd7b7d ecore_evas_convert: Fix default quality setting
Quality should not default to 100 unless specified in the
command line. In particular, we don't want to save ETC1 at
high quality by default since it can take hours (literally).
2014-04-18 19:07:34 +09:00
Jean-Philippe Andre e120d42742 rg_etc1: Fix rare artifacts + add comments
Add some comments as I'm reading and understanding the code.
Fix some rare artifacts happening mostly with medium quality
encoding, where a few pixels (2x2, 2x4 or 4x2) will have a
horrible contrast with their surroundings (eg. pink over black).
2014-04-18 18:46:55 +09:00
Jean-Philippe Andre 356939a8fd Evas: Add comments to the TGV saver (FIXME)
The block size has a visual effect. This is obviously a bug.
2014-04-18 18:33:42 +09:00
Jean-Philippe Andre f6eae69eb2 Edje: Use LOSSY_ETC1 instead of LOSSY
Add a new flag in EDC files to specify ETC1 compression
should be enabled. It follows the same rules as the
current LOSSY flag for JPEG compression.

@feature
2014-04-18 16:50:01 +09:00
Jean-Philippe Andre ca0c608b66 rg_etc1: Fix encoding of solid color blocks
The ETC1 encoder is expected to write all 8 bytes of the
output data. But in case of a solid color block, it was writing
only 1 of the first 3 bytes (R, G, B). So lots of solid blocks
were containing invalid data (for instance: R + dR < 0 or > 255).
2014-04-18 15:43:07 +09:00
Jean-Philippe Andre 7ff410b9f6 Edje: Fix ETC1 encoding with EET and Edje
There were a few critical issues:
- Invalid pointer arithmetics on the input data (char vs. int)
- Invalid logic in the pixel duplication code

All of these due to bad copy and paste :(

Also, use LZ4HC instead of LZ4 when compression is enabled.
ETC1 encoding is so damn slow you won't see the difference between
LZ4 and LZ4HC compression times.
2014-04-18 15:43:07 +09:00
Jean-Philippe Andre d531816b12 Edje: Add support for ETC1 encoding
Edje will compress images as ETC1 provided that they don't
contain any alpha AND the command line includes -etc1.
2014-04-18 15:43:04 +09:00
Jean-Philippe Andre f7150570b0 Eet: Use medium quality for ETC1 by default
And remove  dithering.
This is the same as  07700a799c
2014-04-18 15:39:41 +09:00
Daniel Zaoui a046f34590 Eolian/Lexer: Fix coverity issues.
Fix CID 1203411
Fix CID 1203412
2014-04-18 09:21:35 +03:00
Daniel Zaoui 60fb57a3e5 Eolian/Generator: Fix coverity issues.
Fix CID 1203409
Fix CID 1203410
2014-04-18 09:05:20 +03:00
Daniel Zaoui 438452d67e Eolian/Lexer: fix when function name is composed of only one letter. 2014-04-18 09:05:20 +03:00
Cedric Bail 7ec6a9afee edje: let's call this function before returning.
CID 1194718.
2014-04-17 21:29:31 +02:00
Cedric Bail b5c276a659 rg_etc: check against meaningful size (pointer size is not)
CID 1195440.
2014-04-17 21:26:57 +02:00
Cedric Bail b1729b0754 evas: let's check fwrite work as expected.
CID 1195441.
2014-04-17 21:21:54 +02:00
Cedric Bail 82b2c8df9e evas: fix TGV loader to not leak ressource.
CID 1195443.
2014-04-17 21:18:32 +02:00
Cedric Bail 2401bb047d ecore_evas: avoid using non initialized value for cursor position in X backend.
CID 1195445.
2014-04-17 21:16:12 +02:00
Cedric Bail cb43636bd1 eo: do not risk dereferencing NULL.
CID 1199563.
2014-04-17 21:10:34 +02:00
Felipe Magno de Almeida 1816949ee5 ecore: Fixed se of EINA_MAIN_LOOP_CHECK_RETURN macros with functions with return types
Summary:
Changed uses of EINA_MAIN_LOOP_CHECK_RETURN for EINA_MAIN_LOOP_CHECK_RETURN_VAL
for functions that doesn't have void return types.

These only error out when compiling with --with-profile=debug

@fixed

Reviewers: raster, cedric, smohanty

CC: cedric

Differential Revision: https://phab.enlightenment.org/D765
2014-04-17 21:08:43 +02:00
Andrii Kroitor c17d08d2ab edje_edit: image_del fixed
Summary: fixed segfault on broken refs in edje object

Reviewers: cedric, seoz, raster

CC: reutskiy.v.v, cedric

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

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2014-04-17 19:40:36 +02:00
Lukasz Stanislawski 80b1ca8e43 eo: fix broken children iterator, remove redundant fields.
@fix

Summary: Tests added.

Reviewers: raster, JackDanielZ, tasn

CC: cedric

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

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2014-04-17 19:36:12 +02:00
Wonguk Jeong e32f033853 efreet: check magic only for file which has size
Summary:
Due to unnecessary magic checking, there was freezing in /proc in efm.
Proc file's st_size is zero, but, it's readable. therfore, it takes unnecessary time in magic checking. And, there is no need to check magic in case of 0 sized regular files as well.

Therefore, skip magic check in case of st_size is zero.

Fixes T1173

Test Plan: enlightenment -> file browser (efm) -> get int /proc --> check whether efm freezes or not

Reviewers: raster, cedric, zmike

CC: seoz, cedric

Maniphest Tasks: T1173

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

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2014-04-17 19:34:38 +02:00
Stefan Schmidt d9ea423b91 ecore_wl: Actually watch out for ECORE_FD_ERROR 2014-04-17 17:01:45 +02:00
Stefan Schmidt 08bad99597 wcore_wl: Handle errors on wayland display fd
Cancel the callback if we receive an error on the wayland display
file descriptor.
2014-04-17 16:57:53 +02:00
Stefan Schmidt 2029ffc1ad ecore_wl: Add FD_WRITE flag to handler as we monitor read and write
The _ecore_wl_cb_handle_data callback only has the flag for ECORE_FD_READ
set while the callback funtion also monitors and acts on writes. I wonder
if and how that worked before.
2014-04-17 16:57:53 +02:00
Daniel Zaoui 38b993c29b Eolian/Generator: remove Eo1 generation 2014-04-17 15:50:22 +03:00
Daniel Zaoui 7aab226a81 Eolian/Lexer: support of complex types
Complex types are now supported in .eo files:
Eina_List * @own <Eo *>

The parser is in charge of creating a list of formatted basic types.
2014-04-17 15:15:17 +03:00
Carsten Haitzler 08484aa646 formatting fix (spacing) 2014-04-17 16:35:43 +09:00
Jean-Philippe Andre 558e7827f1 Evas gl: Fix texture border drawing
Since the introduction of color spaces other than RGBA8888 in
the GL engines, there was an issue with border images scaled in
GL. The left and right edges were simply not properly copied.

This would then show artifacts when scaling very thin images
(typically 2px wide).
2014-04-17 15:01:54 +09:00
Jean-Philippe Andre 07700a799c Evas TGV saver: Use medium quality by default
The default quality is 80 and high quality is horribly slow,
so default to medium quality instead (it's already very slow).

If you really want to shoot yourself in the foot and use high
quality, just set quality > 95 and go make some coffee.

Also, disable dithering, it creates horrible artifacts on real
life pictures (gradients and flat surfaces especially).
2014-04-17 10:25:37 +09:00
Carsten Haitzler 8767a80b0d fix overdraw issue in evas when clips change
the comments say it all. this stops adding massive full window updates
when clippers lose all children (and are visible) or gain a first
child while visible as all code hides these clip rects (or shows them)
in these cases and other usages just make no sense.
2014-04-16 16:14:16 +09:00
Carsten Haitzler 04a6f45756 remove unused code 2014-04-16 15:22:42 +09:00
Carsten Haitzler b1d4100508 evas rects - missing update rect del if rect solid && not changed
small improvement
2014-04-16 15:22:08 +09:00
Carsten Haitzler f81f1d6172 eo - let's make NULL objects simply debug warnings, not errors.
due to recent changes a lot of objects are now NULL (correctly) and eo
complains on access of them. it's simply too noisy adding too many
if's all through code, so let's just make eo be sensible here.
2014-04-16 12:31:44 +09:00
Carsten Haitzler 9fb0640d57 Revert "eo null object complaints - silence."
This reverts commit 1678d272af.

... actually... on second thought... i think eo just needs to sensibly
handle null objects.
2014-04-16 12:27:40 +09:00
Carsten Haitzler 1678d272af eo null object complaints - silence. 2014-04-16 12:18:06 +09:00
Matvey Konovalov 9fb3aa6549 evas - improve speed of unpremul with redundant pixel data 2014-04-15 19:22:58 +09:00
Jean-Philippe Andre 70cdfc44aa Evas ETC1: Use LZ4HC for higher compression ratios
LZ4HC has a higher compression ratio than LZ4 but basically the
same decompression speed.

The performance cost during encoding is actually still pretty low
considering how expensive ETC1 compression can be (even at medium
quality).
2014-04-15 18:50:37 +09:00
Jean-Philippe Andre 54fb9b2346 Evas: Use Evas_Colorspace to declare cspace
Why use int when we have a proper type?
All these APIs are internal.
2014-04-15 18:50:37 +09:00
Chris Michael 44b3cd1564 ecore-wl: Check for existance of data device manager
@fix: Don't segfault if the running compositor never creates a data
device manager.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-04-15 10:41:54 +01:00
Chris Michael 6699d427c1 ecore-wl: Don't create an input cursor surface unless the input has pointer capability.
@fix: There is no use for an input cursor surface if the seat does not
have the pointer ability (for kiosk cases, or touch-only cases where
a pointer is not created).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-04-15 10:41:54 +01:00
Chris Michael c53053f2aa ecore-evas-wl: Ooops, Fix opaque & input regions being set to incorrect values
@fix: As it turns out, we cannot just blindly set the regions here
during resize. Elementary apps will set the opaque region to account
for any edj frames, and having the region_set calls Here was
causing issues....

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-04-15 10:41:54 +01:00
Carsten Haitzler 9e100627a7 fix recent png loader break with etc1 support that broke interlaced imgs
this fixes the png loader code to use png_read_row properly with the
number of passes needed to load aninterlaced image as well as handling
this right with scale ratio scaledown set.
2014-04-15 17:56:07 +09:00
Gwanglim Lee ca443ac152 Fixed a problem with e wl server that sent invalid key value to wl client.
Summary:
This problem occurred due to xkb_keysym_t value of libxkbcommon by e wl server.
e wl server should pass keycode from evdev input device on to wl client.
In order that e wl server receives valid keycode Ecore_Event_Key should have
an extended data member. This patch should be applied with server side patch.

@fix

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

Reviewers: raster, devilhorns, zmike

CC: cedric

Differential Revision: https://phab.enlightenment.org/D712
2014-04-14 09:41:43 -04:00
Tom Hacohen d77a7ce468 Eo: eo_do now returns called func's value + default ret fix.
It's now completely valid to do:
a = eo_do(obj, a_get());

or:
b = eo_do(obj, a_set(1), b_get());

Also, the default return value for eo2 functions is now also returned
when the object is invalid, not just when the object does not match
class.

It's a small refactor that fixed both issues at once.

@feature
@fix
2014-04-14 10:54:08 +01:00
Tom Hacohen 68a1f1941a Eo: Fix class checking.
Without this patch, NULL, and random garbage are detected as classes.
This fixes is.
2014-04-14 10:54:08 +01:00
Daniel Zaoui b3bc687f6c Eolian/Lexer: disable INFO and DEBUG.
They are not needed on normal build. Two flags have been added to
enable/disable INF and DBG.
Two warnings have been removed since they are not printing interesting
and relevant information.
2014-04-14 07:56:45 +03:00
Yossi Kantor 58afcdc9ed Eolian: Legacy integration of Evas Table 2014-04-13 11:30:58 +03:00
Yossi Kantor c13bbe3c89 Eolian: Legacy Integration of Evas Text 2014-04-13 11:30:57 +03:00
Daniel Zaoui fc9682bd7f Eolian: fix generation of Eo2 functions definitions.
When keys are used in property, the Eo2 macro was not well chosen.
2014-04-13 11:30:39 +03:00
Mike Blumenkrantz bdb8542e3b eolian no longer generates return statements for void functions 2014-04-11 10:33:20 -04:00
Stefan Schmidt 9f7c9f9536 ecore_con: Force unsigned to unsigned comparison
num was changed to size_t which makes it unsigned while count is a normal
(signed) int. Comparing them does not always work as expected but in this
case we already checked if count is < 0 before and would have returned if
that would be true. Thus we can safely cast count to unsigned here as it
will be greater 0 anyway.
2014-04-11 11:50:47 +02:00
Stefan Schmidt 5f0c9e43b5 engines/evas_drm: Remove some unused variables 2014-04-11 11:31:37 +02:00
Stefan Schmidt b53a68d4c6 ecore_con: Remove superfluous >= 0 check for unsigned
Since num was changed from (signed) int to (unsigned)  size_t in
16d7b981eb this check no longer
makes sense as it will always be true.
2014-04-11 11:26:18 +02:00
Yossi Kantor 1563181922 Eolian: Legacy integration of Evas Rectangle, Polygon, Line, Textgrid and Textblock 2014-04-11 09:26:15 +03:00
Yossi Kantor 5f19844948 Eolian: Clean out Evas Eo header 2014-04-11 09:26:15 +03:00
Yossi Kantor 118666107d Eolian: Clean out Ecore Audio Eo headers 2014-04-11 09:26:15 +03:00
Daniel Zaoui 03b99d58b2 Eo2: Fix other forgotten ret. 2014-04-11 05:02:54 +03:00
Mike Blumenkrantz d03ecb0f3d "whether" has 2x 'h' 2014-04-10 09:27:51 -04:00
Tom Hacohen f3c835d6fc Edje multisense: Fixed compilation following change to eo2. 2014-04-10 10:04:46 +01:00
Tom Hacohen 30d945307c Move to Eo2 and adjust code accordingly
Eo2 is the new object system for the EFL, and the replacement for Eo. It
improves Eo1 in many ways that will be listed on the Wiki and discussed
on the ML before.

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

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

@feature
2014-04-10 09:46:04 +01:00
Daniel Zaoui 1a895149e7 Eo: fix warning on printf 2014-04-10 11:42:54 +03:00
Daniel Zaoui 1a48d11fb9 Eolian: Fix generation of Eo APIs.
When return is forced to void, even if the function contains only
one parameter, the return type will be void.
2014-04-10 11:24:04 +03:00
Carsten Haitzler 059aba7c37 fix invalid memory access where child cb frees table cache - new it seems
i havent seen this before so i would not cal lit an old bug that needs
a fix tag
2014-04-10 16:44:58 +09:00
Carsten Haitzler f921af0cb5 formatting - imrove readability of ecore x event table decl 2014-04-10 15:15:47 +09:00
Tom Hacohen ca6e6c93f5 Eo2: Adjust test suite to recent changes. 2014-04-10 04:20:21 +01:00
Tom Hacohen a77f090256 Eo2: Make internal function static + improved debug output. 2014-04-10 04:20:21 +01:00
Tom Hacohen 1fbcb6ef98 Eo: Removed redundant code. 2014-04-10 04:20:21 +01:00
Tom Hacohen 8c025ee4d9 Eo: Renamed eo files from eo2* to eo*. 2014-04-10 04:20:21 +01:00
Tom Hacohen 3a0d62ffcf Ecore audio tests: Updated to Eo2. 2014-04-10 04:20:21 +01:00
Tom Hacohen 96fe5bd941 More adjustments for eo2 calls. 2014-04-10 04:20:21 +01:00
Tom Hacohen d36ca8f949 Eo: Reintroduce the events now that eo1 is gone. 2014-04-10 04:20:21 +01:00
Tom Hacohen 92cc33c46f Eo: EO_BASE_CLASS->EO_CLASS. 2014-04-10 04:20:21 +01:00
Tom Hacohen 374af9b9ca Eo: eo_base's data_*->key_data_*. 2014-04-10 04:20:21 +01:00
Tom Hacohen 1866909ba1 Eo: Changed eo_prefix for base class to 'eo'.
This is better than eo_base, as it's super common.
2014-04-10 04:20:21 +01:00
Tom Hacohen 35525a53e0 Adjust eo_do calls to work with the eo2 api. 2014-04-10 04:20:21 +01:00
Tom Hacohen c32bb4fe95 Eo2: Updated naming Eo2->Eo. 2014-04-10 04:20:21 +01:00
Tom Hacohen 80faa56ed3 Eo2: Removed more Eo1 code. 2014-04-10 04:20:21 +01:00
Tom Hacohen 3c46e7dab8 Eo2: Removed a lot of Eo1 code. 2014-04-10 04:20:21 +01:00
Tom Hacohen 9d332da1f8 Eo2: Adjust to composite object changes. 2014-04-10 04:20:21 +01:00
Tom Hacohen 2b34ab4cf7 Eolian: Generate Eo2. 2014-04-10 04:20:21 +01:00
Jérémy Zurcher d39d705087 eo2: call stack is now thread safe
create/destroy tls key (_eo2_call_stack_key) at eo_init()/eo_shutdown().
use _eo2_call_stack_get() to allocate the stack when required.
register _eo2_call_stack_free() as eina_tls_cb_new() delete callback.
2014-04-10 04:20:21 +01:00
Jérémy Zurcher 4b9c37501c eo2: add tests for thread safe call stack
Summary:
   2 threads run 'eo2_do(o, a(), b());'
   - A goes first, creates an object, enters 'eo2_do(o, a(), b());'
     in a() call, it blocks, releases B and waits for it.
   - B when released, creates an object, enters 'eo2_do(o, a(), b());'
     in a() call, it joins and releases A, then blocks.
   - A returns from a(); and enters b() using current call stack frame,
     which is the one pushed by B! then pop the frame and releases B.
   - B does as above using the stack pushed by A!
2014-04-10 04:20:21 +01:00
Jérémy Zurcher 64aa007caf eo2: update class creation tests, follow new error policy
see previous commit
2014-04-10 04:20:21 +01:00
Jérémy Zurcher f812b38a66 eo2: do not allow ill formed class creation
eo_class_new() returns NULL on error in _eo2_class_funcs_set().
it covers: NULL API func, API redefined, dich func override,
overriding non-existing fct.
2014-04-10 04:20:20 +01:00
Jérémy Zurcher 70fe1398fd eo2: if _eo2_class_funcs_set() fails eo_class_new() returns NULL
call to _eo2_class_funcs_set() is moved out of _eo_class_constructor()
into eo_class_new().
2014-04-10 04:20:20 +01:00
Jérémy Zurcher 2fb5a54610 eo2: add tests for method call error msgs 2014-04-10 04:20:20 +01:00
Jérémy Zurcher d23b9ffd23 eo2: tests: extract mgs checks into eo_error_msgs.c|h 2014-04-10 04:20:20 +01:00
Jérémy Zurcher a0d761cfa9 eo2: _eo2_call_resolve() fails if op is EO_NOOP 2014-04-10 04:20:20 +01:00
Jérémy Zurcher 5dc95bb50c eo2: add test cases for class construction errors
it covers: NULL API func, overriding non-existing fct,
API redefined, dich func override.
2014-04-10 04:20:20 +01:00
Jérémy Zurcher 9d2eeb7a8b eo2: improve _eo2_class_funcs_set() errors support
as op descs are sorted, we can't output fct indexes in error msgs, but
as they are sorted using api_fct as key, we can detect multiple usage of
the same api_fct which leads to an unpredictable call to whatever is
returned by _eo2_api_op_id_get()->_eo2_api_desc_get().

it is still possible to instanciate an object of a not well defined class.
2014-04-10 04:20:20 +01:00
Jérémy Zurcher a9c325c124 eo2: normalize ERR msgs 2014-04-10 04:20:20 +01:00
Jérémy Zurcher c506ce2e1f eo2: fix err msg in _dich_func_set() 2014-04-10 04:20:20 +01:00
Jérémy Zurcher 82af591b83 eo2: improve _eo_op_id_name_get() to support eo1/2 2014-04-10 04:20:20 +01:00
Jérémy Zurcher 19245b48f8 eo2: add _eo2_op_id_desc_get() 2014-04-10 04:20:20 +01:00
Jérémy Zurcher e41f2804b4 eo2: improve err msg in _eo2_api_op_id_get() and _eo2_call_resolve() 2014-04-10 04:20:20 +01:00
Jérémy Zurcher 914dde776f eo2: fix uninitialized vars in tests
because of conditional execution of eo2_do() fct calls
these vars could end up not initialized.
2014-04-10 04:20:20 +01:00
Jérémy Zurcher 63c271dc5e eo2: fix indentation 2014-04-10 04:20:20 +01:00
Jérémy Zurcher d3cd7cd63c eo2: do not try to unref classes in eo2_do_end() 2014-04-10 04:20:20 +01:00
Jérémy Zurcher 56ae6cf32e eo2: remove memset() in _eo2_do_end() as all stack fields are set in _eo2_do_start() 2014-04-10 04:20:20 +01:00
Jérémy Zurcher adb5b8776d eo2: no need to resolve eo_id when we reuse previous stack frame 2014-04-10 04:20:20 +01:00
Jérémy Zurcher d497459f93 eo2: add tests for call stack grow and shrink 2014-04-10 04:20:20 +01:00
Jérémy Zurcher ae536bdd84 eo2: call stack grows and shrinks 2014-04-10 04:20:20 +01:00
Jérémy Zurcher 5f311223ad eo2: rename Eo_Abstract_Class->Eo2_Abstract_Class 2014-04-10 04:20:20 +01:00
Jérémy Zurcher 1834e3ff12 eo2: remove dead code 2014-04-10 04:20:20 +01:00
Tom Hacohen 055dd3c521 eo2: change the order of EO2_OP_FUNC* to put EAPI first.
This looks cleaner and more aligned. Also, it makes more sense as the
internal function is bound to the EAPI and not the other way around.
2014-04-10 04:20:20 +01:00
Tom Hacohen 0dc70153e5 eo2: optimize eo2_do_super func relove a bit.
no need to call dich_func_get twice, just reuse the value previously
fetched.
2014-04-10 04:20:20 +01:00
Tom Hacohen 08aca96bc3 eo2: get rid of eo2_stack_depth_get.
This is super internal, no reason why it should be exposed.

We should just implement automatic stack growth.
2014-04-10 04:20:20 +01:00
Tom Hacohen 76dc0d99a6 eo2: formatting. 2014-04-10 04:20:19 +01:00
Tom Hacohen 2fe10219c0 eo2: prefixed internal functions with _.
This is done to prevent code completion from picking them up.
2014-04-10 04:20:19 +01:00
Tom Hacohen ebae305a9e eo2: fixed validity checks for eo2_do_super.
The class should be checked to be valid and non-null.
This fixes the issues with eo_suite.
2014-04-10 04:20:19 +01:00
Tom Hacohen 1890fdf27f eo2: fixed eo2_do call order.
This fixes the mixin test and general calling order.
"Next class" can only be known per op. That's why super should be
restricted to only one op.
2014-04-10 04:20:19 +01:00
Tom Hacohen 7c3f7e9b5b eo2: eo2_do_super should only have one func.
This is a limitation that must be respected as eo2_do_super, unlike
eo2_do can end up with having different next class because of mixins.
2014-04-10 04:20:19 +01:00
Tom Hacohen a62d150c96 eo2: share code between eo2_do and eo2_do_super. 2014-04-10 04:20:19 +01:00
Tom Hacohen d9ceddf63a eo2: fixed formatting. 2014-04-10 04:20:19 +01:00
Tom Hacohen b8ae43b464 eo2: prefix all the eo2_*internal* functions with an underscore.
This prevents them from being auto-completed by IDEs which makes
development nicer.
2014-04-10 04:20:19 +01:00
Tom Hacohen 123ebca6d0 eo2: don't create types starting with __, that's reserved.
__ is a reserved compiler domain, prefix with _Eo2_ instead.
2014-04-10 04:20:19 +01:00
Tom Hacohen c20c537528 eo2: use EO2_CLASS_DESCRIPTION_NOOPS everywhere. 2014-04-10 04:20:19 +01:00
Tom Hacohen ed14382f7c eo2: fixed a compliation issue in test suite. 2014-04-10 04:20:19 +01:00
Tom Hacohen d0f71a6e8b eo2: fix eo2_base_class function signatures.
"void func(void)" != "void func()" !
The former is a func that accepts 0 parameters.
The latter is a func that accepts variable number of parameters.

Watch out.
2014-04-10 04:20:19 +01:00
Tom Hacohen 7d79b10bb6 eo2 suite: add an important FIXME. 2014-04-10 04:20:19 +01:00
Tom Hacohen 08b28211b6 eo2: migrated the eo-suite test to eo2. 2014-04-10 04:20:19 +01:00
Tom Hacohen ff64050a7b eo2: fixed eo2_class_class. 2014-04-10 04:20:19 +01:00
Tom Hacohen f38895abed eo2: detach children when object is deleted. 2014-04-10 04:20:19 +01:00
Tom Hacohen a588c7d99e eo2: correctly handle eo2_do(NULL, ...). 2014-04-10 04:20:19 +01:00
Jérémy Zurcher b08ae598a8 eo2: do not restrict search for api in class extensions to some class types 2014-04-10 04:20:19 +01:00
Tom Hacohen 2593cb86c6 eo2: interface test, removed obsolete Eo_Op. 2014-04-10 04:20:19 +01:00
Tom Hacohen f4f62e0f9f eo2: migrated mixin test to eo2. 2014-04-10 04:20:19 +01:00
Tom Hacohen e4f0e4c410 eo2: constructors test, removed obsolete Eo_Op. 2014-04-10 04:20:19 +01:00
Tom Hacohen 13b30abe56 eo2: cleaned up the function overrides test. 2014-04-10 04:20:19 +01:00
Tom Hacohen 3a524e4201 eo2: fix function overrides test. 2014-04-10 04:20:19 +01:00
Jérémy Zurcher ca1f245366 eo2: _eo2_api_desc_get can look into interfaces extensions too 2014-04-10 04:20:19 +01:00
Jérémy Zurcher 541cf25723 eo2: eo2_add_internal_end() return NULL if do_error is set 2014-04-10 04:20:19 +01:00
Jérémy Zurcher 9c1856bf82 eo2: support NULL op_descs 2014-04-10 04:20:19 +01:00
Jérémy Zurcher b8e9b14699 eo2: fix some op descriptions in constructors tests 2014-04-10 04:20:18 +01:00
Jérémy Zurcher 36c5127822 eo2: add EO2_CLASS_DESCRIPTION_NOOPS() macros 2014-04-10 04:20:18 +01:00