Commit Graph

5165 Commits

Author SHA1 Message Date
Mike Blumenkrantz caf27c4fc3 eldbus-codegen no longer passes garbage values to error callbacks
@fix
2014-05-04 20:37:27 -04:00
Cedric Bail 5c7c38c025 eolian_cxx: oops, forgot to disable build of Eolian_Cxx if C++11 is not available. 2014-05-04 13:11:11 +02:00
Felipe Magno de Almeida 8149823897 eolian-cxx: fix make distcheck and automake files for Eolian C++
Summary:
Fixed distcheck for Eolian C++. Made the generated files as
nodist so it doesn't get picked up for generation way too
early.

Reviewers: cedric, seoz

CC: cedric

Maniphest Tasks: T1220

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

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2014-05-04 12:21:30 +02:00
Daniel Zaoui 05963f4052 Eolian: Fix support of virtual constructors. 2014-05-04 09:36:02 +03:00
Daniel Zaoui 9cd038fb36 Eolian: Fix Coverity issue CID1210805.
The list is not used anymore so it can be removed.
2014-05-04 07:41:46 +03:00
Cedric Bail 0c0fe54c73 eolian_cxx: add forgotten include for packaging. 2014-05-04 02:17:45 +02:00
Cedric Bail 3924b8c3fe eolian_cxx: fix include for cross compiling on Windows. 2014-05-04 01:58:53 +02:00
Cedric Bail 4bf0a64358 evas: let's not leak on failure.
CID 1210815
2014-05-04 00:20:12 +02:00
Cedric Bail d590ad8041 evas: reuse buffer instead of leaking it.
CID 1210816
2014-05-04 00:18:55 +02:00
Cedric Bail 202b3ad6ba evas: behave nicely with unitialized data.
CID 1210818

It would be a better and more working fix to use Evas_GL_Image, sadly
no time to do it right now and may be to intrusive for an alpha release.
2014-05-04 00:16:35 +02:00
Cedric Bail ede36d8382 evas: fix use of uninitialized pointer.
CID 1210819
2014-05-04 00:14:52 +02:00
Savio Sena 46b6e8a563 eolian_cxx: initial version of the EFL C++ Bindings Generator.
Summary:
This patch adds 'eolian_cxx' -- a C++ bindings generator --
to the EFL tree. Eolian Cxx uses Eolian API to read .eo files and generate
.eo.hh. It relies/depends on Eo Cxx and Eina Cxx (both non-generated
bindings).

src/bin/eolian_cxx: The eolian_cxx program.
src/lib/eolian_cxx: A header-only library that implements the C++ code
generation that binds the .eo classes.

=Examples=

src/examples/eolian_cxx/eolian_cxx_simple_01.cc: The simplest example,
it just uses some "dummy" generated C++ classes.

src/examples/eolian_cxx/eolian_cxx_inherit_01.cc: Illustrates how
pure C++ classes inherit from .eo generated classes.

src/examples/evas/evas_cxx_rectangle.cc: More realistic example using
the generated bindings Evas Cxx. Still a bit shallow because we don't
have full fledged .eo descriptions yet, but will be improved.

=Important=

The generated code is not supported and not a stable API/ABI. It is
here to gather people interest and get review before we set things in
stone for release 1.11.

@feature

Reviewers: cedric, smohanty, raster, stefan_schmidt

CC: felipealmeida, JackDanielZ, cedric, stefan

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

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2014-05-03 00:56:32 +02:00
Felipe Magno de Almeida 64c6c63725 eina-cxx: add eina_integer_sequence, eina_optional and their tests.
Summary: eina::optional mimics C++14 std::optional behavior and semantics.

Reviewers: felipealmeida, cedric, smohanty, woohyun, raster

CC: cedric

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

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2014-05-03 00:53:31 +02:00
Savio Sena 98efcdcd63 eet-cxx: remove unused typedef.
Summary: This patch removes warnings.

Reviewers: cedric, smohanty, felipealmeida

CC: cedric

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

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2014-05-02 08:19:02 +02:00
Tom Hacohen 1fe084b78c Eo: Made some functions class functions again.
This broke in the transition to Eo2.
2014-05-01 13:58:27 +01:00
Tom Hacohen e699087521 Eo: fixed misleading indentation. 2014-05-01 13:28:30 +01:00
Cedric Bail 36e8daf187 evas: protect against lacking light. 2014-05-01 12:05:37 +02:00
Cedric Bail 3f46fe2742 evas: don't track Evas_3D examples. 2014-05-01 12:05:37 +02:00
Cedric Bail bb47730b6d evas: make evas_3d_node_add visible to others. 2014-05-01 12:05:36 +02:00
Cedric Bail bcfae42b3c evas: fix Evas_3D examples to use Eo API. 2014-05-01 12:05:32 +02:00
ChunEon Park a238e091d6 evas/evas3d: rewrite evas-3d-md2 example with eo based. 2014-04-30 22:02:23 +09:00
ChunEon Park 4c35b22c2a evas/evas3d: rewrite evas-3d-cube2 example with eo based. 2014-04-30 21:40:47 +09:00
ChunEon Park 862488083b evas/evas3d: cleanup cube example code.
fixed eo grammar error.
added static keywords for internal variables.
include eo header explicitly.
fixed indentation.
2014-04-30 21:36:04 +09:00
ChunEon Park 387bd78921 evas/evas3d: removed unnecessary header include. 2014-04-30 21:11:48 +09:00
ChunEon Park 4a70c3aea8 evas/evas_3d: rewrite evas_3d_cube eo based.
still evas_3d_node_add() call should be changed to eo_add().
2014-04-30 20:37:20 +09:00
ChunEon Park fac0ab79b0 evas/evas3d: exceptional handling if a camera doesn't set to a scene. 2014-04-30 20:24:20 +09:00
Daniel Zaoui 0fdd06c73b Eolian: fix prints 2014-04-30 14:07:09 +03:00
Jean-Philippe Andre 27650fb94a Evas filters: Fix parsing of instructions with unnamed arguments 2014-04-30 14:52:39 +09:00
Jean-Philippe Andre 64baafe176 Evas filters: Premultiply colors after parsing integers 2014-04-30 14:52:39 +09:00
Carsten Haitzler d237f2236d return stride for yuv formats as width in bytes (y width). 2014-04-29 23:11:23 +09:00
Jean-Philippe Andre fa9f7a4c89 Evas: Fix stretching of ETC1/2 textures
ETC1/2 textures are (for now) allocated one by one for each image,
because we use only glCompressedTexImage (not SubImage). So,
the texture height must fit that of its content.

This commit bypasses the usual pool allocation logic where textures
are rounded up to the next multiple of 16 pixels in height, in
case of ETC1/2.
2014-04-29 15:48:47 +09:00
ChunEon Park c399017cef evas - removed unncessary header include
it's already done in evas_common_private.h. no need it in each file.
2014-04-29 15:44:29 +09:00
ChunEon Park 6904354fed ecore/example: --warning.
use scanf() return value for removing compiling warning.
2014-04-29 14:04:10 +09:00
Jean-Philippe Andre a0fc68ee11 Evas GL: Fix invalid definitions of ETC2 GLenum
Bad copy and paste.
2014-04-29 09:03:41 +09:00
Jean-Philippe Andre 8c2e98b840 Evas: Fix wrong comment 2014-04-29 09:03:40 +09:00
Mike Blumenkrantz 7823b187d9 edje_cc now requires quotes for using lazEDC block naming
this was making syntax errors much harder to debug and only served the purpose of further enabling shitty, nonconformant edc creating. removing now before it becomes an api break
2014-04-28 10:17:23 -04:00
ChunEon Park 78142d0566 evas/gl - make simple.
it already prints error msg inside new functions.
2014-04-28 20:51:02 +09:00
Daniel Zaoui 8d8ab37b4d Eolian/Tests: fix distcheck.
The .eo file was not added into EXTRA_DIST and as consequence the test
was failing during distcheck.
2014-04-28 12:05:27 +03:00
Daniel Zaoui 183ecab18b Eolian: add API to retrieve the file name of a class 2014-04-28 08:46:19 +03:00
Cedric Bail 17debde44b emotion: remove warning. 2014-04-27 20:43:14 +02:00
Daniel Zaoui fea029a0a3 Eolian: add API to parse all the .eo files. 2014-04-27 16:25:23 +03:00
Wonguk Jeong 66b784c804 emotion: use eina stringshare not strdup
Summary: @fix

Reviewers: raster, cedric

Reviewed By: cedric

CC: seoz, cedric

Differential Revision: https://phab.enlightenment.org/D804
2014-04-27 13:10:48 +02:00
Jean-Philippe Andre 9873ced7a4 Evas: Disable legacy bindings for the filters
Those are BETA APIs.
Define EFL_BETA_API_SUPPORT to use these Eo APIs.
2014-04-27 17:55:18 +09:00
Jean-Philippe Andre 1a43bb565c tests: Disable the evas filters test suite for now
Yes, it's a bad move. But I'd rather avoid breaking make check
for now until I have a proper test suite.

The script language has been changed to Lua, and so its
limitations and syntax are not the same. Remember this is a beta
API so it shouldn't even be exposed to normal apps.
2014-04-27 17:41:40 +09:00
Jean-Philippe Andre ed0ac9fec7 Evas image: Gracefully handle filter failures
Add proper callback and mark filter as invalid in case of failure.
This might still trigger a redraw.
2014-04-27 17:41:40 +09:00
Jean-Philippe Andre ee840eecd1 Evas image: Skip draw when the image size is < 0 due to filter padding
If the Image Object size is smaller than the required padding,
nothing should be drawn, so just skip it.
2014-04-27 17:41:40 +09:00
Jean-Philippe Andre 89acf9cf28 Evas image: Add read-only property filter_padding
Returns l, r, t, b and true/false if the filter is used & valid.
2014-04-27 17:41:40 +09:00
Jean-Philippe Andre fe0f7566d5 Evas filters: Fix image with filters using fill mode
Depending on the "filled" flag, adjust how the image is filtered.
Filled: take padding into account and zoom out original image if needed
Non filled: we're tiling anyways, so padding doesn't have any meaning
2014-04-27 17:41:40 +09:00
Jean-Philippe Andre 223e1258c1 Evas filters: Quick redraw using output buffer
In Image_Object, reuse the previous output buffer if it is
still valid (image didn't change, etc...).
2014-04-27 17:41:40 +09:00
Jean-Philippe Andre 59cf013db9 Evas filters: Add support for Evas_Object_Image
This adds filter support to Image objects as well.
The exact same filters can run on Text and on Images
(provided some colorspace limitations are respected).

This basically adds:
- Support for RGBA input buffer
- Eo entry points for Image filter support
- Implement basic filter support in Evas_Image
2014-04-27 17:41:40 +09:00
Jean-Philippe Andre de4969ccb2 Evas filters: Remove legacy code
The compatibility layer and Lua implementation are now complete.
2014-04-27 17:40:55 +09:00
Jean-Philippe Andre 103d8d08fa Evas filters: switch script language to Lua
It was a pretty stupid idea to write a parser for a custom language
when we already have Lua as a dependency and it's so beautiful and
easy.

There is a fallback function to allow for compatibility with legacy
filters. But that broken syntax is not recommended. I'll probably
remove it soon.

All the test cases I have in my example app work fine with this
compatibily layer.
2014-04-27 17:40:55 +09:00
Daniel Zaoui f10d8c42bb Evas_3d: Fix warning.
The variable was defined twice.
2014-04-27 11:12:06 +03:00
Daniel Zaoui dbe02d593e Tests: fix annoying warning.
The function is not used so I commented it, in case it has to be used
later.
2014-04-27 11:05:03 +03:00
Daniel Zaoui 1c19d274d8 Eolian: Valgrind fixes. 2014-04-27 10:57:50 +03:00
Daniel Zaoui 7f90088232 Eolian/Generator: only requests .eo files parsing when needed.
Before this change, all the .eo files of the directories given with -I
option were parsed. Most of this information was not necessary at all,
since only the classes belonging to the inheritance of the class given
as parameter were needed.
Now, during the parsing of the given class, the inherits classes are
searched and parsed.

A condition is needed to make it work well. To find a filename for a
class, we consider the lowercase of the class name as the filename we
have to parse.
e.g, Elm_Button -> elm_button -> elm_button.eo

It considerably reduces the generation time.

A fix in the tests was needed.
2014-04-27 10:03:39 +03:00
Daniel Zaoui e42b68534b Eolian: remove --eo1 support totally 2014-04-27 08:04:00 +03:00
Savio Sena 1cec8103c7 eina_cxx: fix a bug in efl::eina::range_inlist constructor.
Summary: Fixes const propagation of range_inlist.

Reviewers: cedric, raster, seoz, raoulh, Andreas, smohanty

CC: felipealmeida, cedric

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

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2014-04-26 16:26:38 +02:00
Daniel Zaoui bd71bb2a88 Evas_3d: fix some typo in .eo.
@in is not used for properties.
2014-04-26 10:28:11 +03:00
Daniel Zaoui a9779aa4ed Evas_3d: modify .eo files to disable legacy.
Instead of setting legacy to null to every function, you can set the
class legacy_prefix to null. It will disable legacy for all the class.
2014-04-26 10:10:06 +03:00
Mike Blumenkrantz a3927ca1a7 eina_value_free() now takes NULL like the rest of the efl free functions 2014-04-26 02:21:51 -04:00
Mike Blumenkrantz f482aeb43f fix edje_cc multiple link usage on same description 2014-04-26 02:16:55 -04:00
Cedric Bail 53a9fcf301 evas: remove Evas_3D legacy API. 2014-04-25 19:29:08 +02:00
Mike Blumenkrantz b35dfc5f05 edje_cc now (more) correctly handles text filter inheriting/resetting 2014-04-25 10:52:15 -04:00
Mike Blumenkrantz e6f0deca27 edje should only apply "calculated" text size if that size exists
fixes text.source sizing when size is not specified in child part
2014-04-25 10:52:15 -04:00
Mike Blumenkrantz 5f376fde36 edje now correctly supports text.source and text.text_source for swallowed parts
fix T1186
2014-04-25 10:52:15 -04:00
Mike Blumenkrantz d498f6f723 edje_cc no longer has "slave" lookups
these appear to have been replaced many centuries ago with copied_X lookups
2014-04-25 10:52:15 -04:00
Mike Blumenkrantz bce864b8dd edc parts.alias documentation is now comprehensible and useful 2014-04-25 10:52:15 -04:00
Mike Blumenkrantz 939f2eea7f edje now has the group.script_recursion flag for permitting unsafe embryo recursion
this is enabled for all scripts within a group, and it should only be used if you:

1) know what you are doing

2) know why this is unsafe (T905)

@feature
2014-04-25 10:52:15 -04:00
Mike Blumenkrantz c5b1598e6e edje_cc now supports part.description.link for single line state changes
@feature
2014-04-25 10:52:15 -04:00
Mike Blumenkrantz b550d5becb eina_hash now has helper functions for managing lists inside hashes
@feature
2014-04-25 10:52:15 -04:00
Mike Blumenkrantz 83832d6b1d edje_cc now supports group.program_source for specifying a default source in programs
this allows for program.source to be omitted 99% of the time since most sources in an application/library will be the same within a single group

@feature
2014-04-25 10:52:15 -04:00
Mike Blumenkrantz fd8c9532a1 edje_cc now has the program.groups and X.target_group keywords for target grouping
this allows any number of parts/programs to be added by name into a logical grouping which can then be referenced inside a program.

eg.

before
------

program { signal: XYZ; source: 123;
   action: STATE_SET "default";
   targets: "sup" "dawg" "parts" "up" "in" "dis" "progrizzle";
}

program { signal: ABC; source: 123;
   action: STATE_SET "notdefault";
   targets: "sup" "dawg" "parts" "up" "in" "dis" "progrizzle" "tooizzle";
}

======
after
------

target_group: "default" "sup" "dawg" "parts" "up" "in" "dis" "progrizzle";

program { signal: XYZ; source: 123;
   action: STATE_SET "default";
   group: "default";
}

program { signal: ABC; source: 123;
   action: STATE_SET "notdefault";
   group: "default";
   target: "tooizzle";
}

@feature
2014-04-25 10:52:15 -04:00
Mike Blumenkrantz e54bb78a3e edje emit refactored to streamline emit programs with targets 2014-04-25 10:52:15 -04:00
Mike Blumenkrantz be9b27ac99 edje_cc now errors immediately on syntax errors triggered by lack of parameters 2014-04-25 10:52:15 -04:00
Mike Blumenkrantz c8cc776fb1 edje_cc now supports targets for SIGNAL_EMIT actions
this is much more intuitive than somehow knowing you're supposed to add a ':' between part:signal

@feature
2014-04-25 10:52:15 -04:00
Mike Blumenkrantz 6b712f6f02 edje_cc now supports the group.inherit_only attribute
use this for flagging a group as a "virtual" group which is only used for inheriting

@feature
2014-04-25 10:52:14 -04:00
Mike Blumenkrantz 7eb703fdde edje_cc now supports "lazEDC", a more concise version of EDC
in today's modern world of fast-paced, HTML5-driven, C++-riddled
development, nobody wants to spend hours typing out long words like
"description" or "mouse_events" or "name". there's no time for it
and certainly nobody is going to allocate budget for this sort of
keyboard-related nonsense.
enter lazEDC: the solution for edje-loving keyboard jockeys everywhere.
by breaking the parser of edje_cc with the strength of 10 frenchmen,
new, shorter keywords such as "nomouse" can be used in place of lengthy,
rambling statements like "mouse_events: 0", and things like

part { name: "clip"; type: RECT; description { state: "default" 0.0; }}

can now be written as

rect { "clip"; }

with the exact same effect.

initial tests show that complex and terrible edc files such as the infamous
"genlist.edc" can be reduced in size by over 15% using these new features.

see edcref for docs, and genlist.edc for examples

@feature

@awesome
2014-04-25 10:52:14 -04:00
Cedric Bail a4fd5ac3dd evas: fix broken build with OpenGL ES backend.
This is a temporary fix, once we move to Evas_GL_Image, it shouldn't
be needed anymore. Thanks to Cédric "chep" Chépied for reporting the
issue.
2014-04-25 16:46:46 +02:00
Cedric Bail b1342d933d evas: our API are always build in, only the header require define to be used. 2014-04-25 16:41:08 +02:00
Cedric Bail ec4c2de044 evas: rename near and far as it seems protected on Windows. 2014-04-25 16:17:27 +02:00
Daniel Zaoui 822cbf9759 Evas_3d: Fix warnings. 2014-04-25 16:38:17 +03:00
Daniel Zaoui 6797e12bc3 Eolian/Tests: add test for complex type.
It includes too fixes for the complex type. If I had listened to Tasn,
I would have detected them a long time ago.
But he didn't insist enough. He just said:
"Write your tests, ?#@*&%! french!"
2014-04-25 16:26:05 +03:00
Cedric Bail 6efce2289b evas: fix massive number of warning introduced by Evas_3d. 2014-04-25 14:36:20 +02:00
Vincent Torri b9d2972739 ecore: improve and fix various issue in Ecore_Exe windows implementation.
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2014-04-25 14:35:38 +02:00
ChunEon Park 10762793e8 evas/image: updated image_scene_set/get doc. 2014-04-25 20:19:33 +09:00
ChunEon Park 57360fdf20 evas/image - fixed typo 2014-04-25 20:10:46 +09:00
ChunEon Park 5fbd7b6f0f evas/image - fill up a missed initial value in the image state. 2014-04-25 20:01:26 +09:00
ChunEon Park 60cfdc4b4f evas/evas3d: rename 3d_scene_set()/get() to scene_set()/get()
if eolian generates c++ apis, the method name will be started with

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

so renamed.
2014-04-25 19:53:18 +09:00
ChunEon Park 844dddbb2f evas/evas3d: clean up camera code.
rewrite for more efl style.
2014-04-25 17:35:22 +09:00
ChunEon Park 7b31d84977 evas/evas3d: keep the code style. 2014-04-25 17:35:10 +09:00
ChunEon Park a023d3f9b9 evas/evas3d: just cleanup image code.
changed to clean efl style.
2014-04-25 17:34:53 +09:00
ChunEon Park 433699e976 evas/evas3d: cleanup docs and removed unncessary files.
Conflicts:

	src/lib/evas/Evas_Legacy.h
2014-04-25 17:34:11 +09:00
ChunEon Park 60e703bc24 evas/evas3d: filled up missed eo headers to be installed.
Conflicts:

	src/Makefile_Evas.am
2014-04-25 17:21:30 +09:00
ChunEon Park 16888f3e49 evas/evas3d: don't occur build break.
the declared t3d_scene api names are not matched exactly between header and code.
these name should be just "3d_scene"

and still there was a Evas_3D.h reference in evas Makefile.
2014-04-25 17:20:05 +09:00
ChunEon Park 23af2510ce evas/evas3d - changed file access authority.
don't other users execute or write them.
2014-04-25 17:19:51 +09:00
ChunEon Park 5c189d7746 evas/evas3d: oops. evas_3d.h should be removed since it's merged to evas.h 2014-04-25 17:18:57 +09:00
ChunEon Park 3914193a0a evas3d: forget evas_3d.h. it's merged to evas.h
Conflicts:

	src/lib/evas/Evas_3D.h
2014-04-25 17:16:16 +09:00
ChunEon Park 27c1b12825 evas3d: fixed grammartical break. 2014-04-25 17:03:19 +09:00
ChunEon Park 6ecdc5cbd2 evas/evas3d - use the image loader of the evas instead of the png lib. 2014-04-25 17:02:51 +09:00