Commit Graph

25611 Commits

Author SHA1 Message Date
Stefan Schmidt aa4418e14a release: v1.10.0 alpha1 2014-04-28 13:00:32 +02: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 a4ec4a6019 Eolian: update cmake.
The change is needed for applications that want to use the installed .eo files
(currently of efl and elementary).
2014-04-28 11:26:46 +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
Cedric Bail 335e8c0b91 autotools: enable lua old support before testing for it. 2014-04-27 12:02:53 +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
Jean-Philippe Andre 72b959239d Evas: Add lua support for evas
Since Lua is already a dependency for Edje, I believe it is safe
to add it as a dependency for Evas as well.

This will be used to replace the (bad) scripting language used for
the Evas filters (text effects).
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 Juyung Seo 521363a6d5 AUTHORS: updated Brett's email address. 2014-04-26 21:47:06 +09:00
Daniel Zaoui bd71bb2a88 Evas_3d: fix some typo in .eo.
@in is not used for properties.
2014-04-26 10:28:11 +03:00
Daniel Zaoui a9779aa4ed Evas_3d: modify .eo files to disable legacy.
Instead of setting legacy to null to every function, you can set the
class legacy_prefix to null. It will disable legacy for all the class.
2014-04-26 10:10:06 +03:00
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