Commit Graph

118 Commits

Author SHA1 Message Date
Jee-Yong Um ef491e697e edje: implement methods for mouse_events with edje_part for Edje Embryo script.
Summary:
In edje_embryo.c, there are the list for supported methods in script.
However, methods listed from line 175 to 188 don't exist actually.
This patch implements 4 methods among them.
   set_mouse_events(part_id, ev)
   get_mouse_events(part_id)
   set_repeat_events(part_id, rep)
   get_repeat_events(part_id)

Reviewers: Hermet, woohyun, cedric

Reviewed By: cedric

Subscribers: cedric, Hermet

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-25 17:21:09 +02:00
Jean-Philippe Andre 15afea293f Edje & evas filters: Properly pass data from EDC to Lua
Also fix a few issues
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre 0e8f890dfb Edje & evas filters: Add extra data from EDC to Lua program
This also supports color classes (really rough implementation for
now, but the API should remain stable).

@feature
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre 84e3dd5c34 Evas filters: Add name to the filters
Deep down internally there was already a name, but no API could
really set it properly.
Here Edje will set the name of the filter based on the part name
or the data item name if relevant.
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre 64fd278c62 Evas filters: EO-ify the filters API
This creates the new interface
 Efl.Gfx.Filter

And the implementation is a mixin (evas_filter_mixin.c):
 Evas.Filter

All the filter rendering code has now been moved to this
new file. TODO: Merge image filtering.
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre 88b81d240a Edje: Move filter desc to common desc
This will be shared between IMAGE and TEXT.
In the future it can also be shared with PROXY and TEXTBLOCK.
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre 707b979ffd Edje/evas filters: Use EDJ data sections to store filters code
Use the file data {item, file} block to embed filters code.
It can become especially useful to keep the filters as separated
Lua files, that will be embedded in the final edj file.

@feature
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre d00378edcf Edje/evas filters: Add filter.source support
This should preserve ABI stability with earlier versions of
edje_cc while still providing more advanced control over
proxy bindings for evas filters from EDC.

Also fix proxy binding for filters.

@feature
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre 0e11e0a6dc Edje/evas filters: Quick renaming of evas filters related stuff 2015-06-25 14:36:09 +09:00
Jean-Philippe Andre 225c0f937a Evas filters: Pass edje state name & value to the filters
From Edje, pass the current state info (name and value) as well
as the next state and the transition position when applicable.
2015-06-25 14:36:08 +09:00
Cedric BAIL a3c7a83196 edje: add possibility to speed up animation per object.
This could come handy for previewing the effect of accelerating animation.

@feature
2015-06-22 18:46:12 +02:00
jiin.moon 6487a26354 edje: add support to control the transition time of edje animation globally.
Summary:
Add the transition scale flag and the transtion scale value.
This flag can be change using "transition_scale_enable" in edje program.
If flag is true, the transition scale value affect the transition speed of edje
The transition scale value can be change by elm_config.

@feature

Test Plan: elementary_config

Reviewers: Hermet, cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-22 17:56:15 +02:00
perepelits.m 3671506ad3 edje: add of edje-3d to edje_calc.c
Summary: Adding of Mesh_Node, Light and Camera to _edje_part_recalc.

Reviewers: raster, Hermet, cedric

Reviewed By: cedric

Subscribers: cedric, artem.popov

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-22 11:17:29 +02:00
Oleksandr Shcherbina d409df1caa evas: change interface evas_3d to evas_canvas3d
Summary:
Regard to https://phab.enlightenment.org/T2479 it is need for right generation
Eolian files

Reviewers: cedric

Subscribers: cedric, tasn

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-17 17:52:17 +02:00
Jean-Philippe Andre 111e51a6ff Evas: Add "no-render" flag for proxy sources & clippers
Those objects should never be rendered on the canvas, even if they
are visible. On the other hand, they need to be rendered in mask or
proxy surfaces.

note: this patch includes some extra whitespaces changes :(

@feature
2015-06-15 16:59:41 +09:00
Jean-Philippe Andre 75ec3a7338 Edje: Add clip as a property of a part description
Since masking, for performance and themeing reasons, it becomes
interesting to be able to switch clippers on the fly. In particular,
switching from an IMAGE mask to a standard RECT clipper can save a
lot of power when masking is not required.

This new flag "description.clip_to" will behave a bit like a mix of
rel.to and visible:

- It points to a part by name, just like part.clip_to. This will
  override the clipper set by the part, or override the default clipper.

- Like "visible", it can not be interpolated between two values, so
  it will switch only at the end of a transition.

- By default there is no clip override, which means Edje will fallback
  to the part's clipper, if any, or the base (group's) clipper.

NOTE:
- Since a clipper that does not clip anything becomes a standard object,
  it is visible and rendered. This will in 99.999% cases not be the
  intended behaviour. Currently we can simply use a transparent RECT
  in order to always have something clipped by the clipper, but this is
  a hack and this will trigger rendering of masks in their surfaces even
  when they are not actually used.
  Ideally, there should be a flag indicating to Edje & Evas that an object
  should be considered a clipper in all situations, and never be rendered
  on screen.

TODO:
- Support Edje Edit
- Add Embryo & Lua functions
- Add support in edje_convert
- Add Edje/Evas flag to mark objects as "no_render"

@feature
2015-06-15 16:59:41 +09:00
katpavalli 26b27319b4 edje: add po file support in edc translation.
Summary:
   Implementation to support .po files in edc for translation

Test Plan:
   Test Code to test this implementation is done as part of efl/src/examples/edje/edje-text.c and efl/src/examples/edje/text.edc
   edje_cc -md . text.edc && gcc -o edje-text edje-text.c `pkg-config --libs --cflags ecore-evas edje evas ecore eo`
   ./edje-text

   1) Click On the text "Click here"
      The language gets changed.

Reviewers: shilpasingh, cedric

Reviewed By: shilpasingh, cedric

Subscribers: cedric, rajeshps, govi, poornima.srinivasan

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-11 10:40:55 +02:00
katpavalli ff1184df2e edje: add ability to change the language on one specific edje object.
Summary:
   Add a new property to edje_object.eo for setting the language on one Edje_Object.

Test Plan:
Test Code to test this implementation is done as part of efl/src/examples/edje/edje-text.c and efl/src/examples/edje/text.edc
   edje_cc -md <dir path>/efl/src/examples/edje/ text.edc && gcc -o edje-text edje-text.c `pkg-config --libs --cflags ecore-evas edje evas ecore eo`
   ./edje-text

   1) Click On the text "Click here"
      The language gets changed as per the specific edje object.

   2) Click on the text object at bottom. "Click here"
      The system language gets changed and the below two edje objects language are changed globally.

Reviewers: cedric, shilpasingh

Subscribers: poornima.srinivasan, govi, rajeshps, cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-01 17:50:02 +02:00
perepelits.m d7a53b11f6 edje: switch Evas_3D color to use Edje_Color.
Summary: Changes float on uchar as we do in other place for color component

Reviewers: raster, Hermet, cedric

Reviewed By: cedric

Subscribers: cedric, artem.popov

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-19 14:17:00 +02:00
katpavalli dca95fb45a edje: support translation on static strings in edc.
Summary:
   Internationalisation of the static text specified as part of the edc is implemented.
   Problem: Static text when specified in the edc, remains unchanged when the system language is changed.
   Solution: Language support is provided even for the static strings in the edc.

Test Plan:
   Test code to test this implementation is done as part of efl/src/examples/edje/edje-text.c and efl/src/examples/edje/text.edc
   Compile the code with the below  command
   edje_cc -md <dir path>/efl/src/examples/edje/ text.edc && gcc -o edje-text edje-text.c `pkg-config --libs --cflags ecore-evas edje evas ecore`
   ./edje-text

   1) change the language of the system using the command
      export LANGUAGE=hi
      ./edje.text

      Not the text Loading gets displayed in hindi language

   2) change the language of the system using the command
      export LANGUAGE=ta
      ./edje.text

      Not the text Loading gets displayed in tamil language

   3) change the language of the system using the command
      export LANGUAGE=en
      ./edje.text

      Not the text Loading gets displayed in english language
As the number of .mo files in the /edje folder can be increased, those many languages can be supported

Reviewers: cedric, shilpasingh

Reviewed By: shilpasingh

Subscribers: cedric, rajeshps, govi, poornima.srinivasan

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-14 18:41:47 +02:00
Cedric BAIL 59fb53c4cc edje: remove the need to order the header correctly for Windows. 2015-05-07 09:53:10 +02:00
Cedric BAIL b72df468f2 edje: add edje_file_iterator_new().
This list the actually opened Edje file by the current process.
2015-03-31 23:23:32 +02:00
Cedric BAIL 09f304a33c edje: make Edje_Color_Class a public structure. 2015-03-31 04:26:06 +02:00
perepelits.m 62b5ca7060 edje: add of textures to Edje 3D node.
Summary: Adding textures to edje_cc and some topblock keywords that I have forgotten to add in previous commits.

Reviewers: Hermet, raster, cedric

Reviewed By: cedric

Subscribers: cedric, artem.popov

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-25 19:40:41 +01:00
Sohyun Kim 10670094c1 edje: add text_class_get() APIs
Summary: No APIs to get text_class for global hash and object hash

Reviewers: woohyun, cedric, raster

Reviewed By: cedric, raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2213
2015-03-26 02:53:22 +09:00
Mike Blumenkrantz 1cf630f2bd edje color classes can now have text descriptions
@feature
2015-03-07 13:44:52 -05:00
Andrii Kroitor 4ad20ac8e4 edje: Edje_Edit - fix part alias source generation.
Summary:
generating correct part alias string 'alias: "theme_part_path" "real_part_path";'
@fix

Reviewers: cedric, seoz, Hermet, raster

Subscribers: cedric, reutskiy.v.v

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-06 20:19:22 +01:00
jiin.moon 4673dbeb4b edje: Adding the zoom effect of map to edje
Summary:
Support zoom effect of map in edje
@feature

Reviewers: Hermet

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2068
2015-03-02 20:19:01 +09:00
Sohyun Kim 78ddad3daf edje: Add edje to text_class_member_hash properly.
Summary:
When textblock styles have text_classes, all edjes in the files were added
to text_class_member_hash even if the edjes didn't use the textblock styles. It
makes time long to update text_class.
This will add the edje using the textblock style which has a text_class to
text_class_member_hash.

Reviewers: cedric, raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2035
2015-02-24 18:26:18 +01:00
Andrii Kroitor c198746b2d edje: fix windows build
Summary:
"far" and "near" are keywords on windows and can't be used as names of variables.

@fix

Reviewers: cedric, Hermet, raster, perepelits.m

Subscribers: reutskiy.v.v, cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-24 13:46:45 +01:00
perepelits.m bc584cd59b edje: add of material properties.
Summary: Filling of fields: "ambient", "diffuse", "specular", "material", "normal", "shininess" and "shade".

Reviewers: Hermet, raster, cedric

Reviewed By: cedric

Subscribers: cedric, artem.popov

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-20 16:33:21 +01:00
perepelits.m 3dda07dbce edje: add camera properties to edje_cc.
Summary: Filling of "fovy", "aspect", "near" and "far".

@feature

Reviewers: raster, Hermet, cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-20 11:31:14 +01:00
perepelits.m 2e3b9ea589 edje: add of model lookups.
Summary:
I have added some methods to edje_cc_out.c to organize model lookups. The same methods already exists for images.
Also, I have removed source_type because now we don't need it in efl_file_set.

@feature

Reviewers: raster, Hermet, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-09 22:03:26 +01:00
perepelits.m 694f9dbcdb [Evas, Edje] Adding of new structures
Summary:
There will be several methods to set orientation in edc, so we have decided to make one big vector,
the main reason is that we use quaternion by default, but look_at, for example, is given as 6 coordinates.

Reviewers: Hermet, cedric, raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1693
2015-01-08 15:21:17 +09:00
ChunEon Park 382c41e42d edje: support anti_alias option
set anti_alias in part section.
default is enabled.

part { name: "test";
   type: XXX;
   anti_alias: 0;
   ...
}

@feature
2014-12-24 16:29:49 +09:00
Cedric BAIL a6e6a4a44a edje: for now disable near and far as they are keyword on Windows. 2014-12-22 11:07:59 +01:00
Carsten Haitzler ee0eb1336b edje - remove old script_only code that used embryo (not lua)
thjis was deprecated even before efl 1.0 by never removed. lua
replaced it for script_only objects and you havent been able to
compile an edje file with script_only enabled since 1.0, so no point
having the code here.

this cleans up that code and cruft.
2014-11-25 15:09:00 +09:00
perepelits.m c59fba68de edje, evas: add of new structures
Summary: Preparation for the 3d edc adding.

Reviewers: raster, Hermet, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-11-14 07:07:25 +01:00
Jaehwan Kim e4a1696a72 Edje: Set the min, max sizes of the image automatically.
Set the min, max sizes of the image automatically,
if it uses image set and there's no setting about min, max sizes.
This idea is originated by Jinsol Park.

@feature
2014-11-10 21:01:19 +09:00
Jaehwan Kim 1e21a4c323 scale: add the API edje_object_base_scale_get.
This function returns the base_scale factor set on the
Edje object.
The base_scale can be set in the collection of edc.
If it isn't set, the default value is 1.0.
2014-10-16 13:45:30 +09:00
Jihoon Kim 000f5fee84 ecore_imf: Add ecore_imf_context_bidi_direction_set/get API
Some Input Methods want to know the bidi direction (LTR/RTL) at the current cursor position.
2014-09-23 10:18:35 +09:00
Jihoon Kim 715da43d3a Add edje_object_part_text_input_hint_set/get API
Sets or get the input hint which allows input methods to fine-tune their behavior.
2014-09-01 19:01:54 +09:00
Jaehwan Kim 7e5d2606cc edje: Add dpi feature.
Summary:
This dpi is used to get the scale for each collection.
If each collection has a described dpi, it calculates a proper scale
based on the dpi and dpi which is described in the collection.

@feature

Test Plan:
If add dpi to collection of edc, the edje will save the value as the dpi of the collection.
For example, if the dpi of your device is 100, you just set dpi: 100 in the collection of edc.
If the edj is loaded in another device(dpi is 200), it will scaled 2 times.
It is possible that the described dpi of application and theme are different.
In that case, application and theme have a different scale.
It makes the edj that made in different environment works in one device.

Reviewers: seoz, zmike, JackDanielZ, Hermet, woohyun, cedric, raster

Reviewed By: raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1190
2014-07-24 14:50:25 +09:00
Cedric BAIL 1b54047ac4 edje: reduce overhead of setting text and color class in theme.
This reduce by 10% some elementary tests case that was provided
by some crazy french.
2014-07-06 22:50:32 +02:00
Carsten Haitzler 8edc879cc2 remove edje file changed monitoring as it's nothing but a bug vector
so this has to go. reloading edje files is nothing but trouble.
example - if you update your os your theme files get updated and then
all sorts of stuff goes wrong. jeff is right. this makes it an
intractible problem. we have an open file handle on the edj file. we
share that anre reuse it via eina_file - keep it. this keeps tyhe edje
file stable and consistant.

<Jef91> Elementary applications freak the fuck out
<Jef91> if you change the theme file
<Jef91> that they are using
<Jef91> SeoZ,
http://forums.bodhilinux.com/index.php?/topic/10629-eepdater-display-issue/
<Jef91> that happens when my theme file that is in use changes

we will get nothing but continued issues and complains if we keep
doing this. it's a fairly pointless mis-feature. thank god its got no
apis - just signals and internals.
2014-07-02 11:28:42 +09:00
Kateryna Fesyna 782b93a65e edje: Edje_Edit - add functions that allow user to set and get the value of states limit property
Summary:
This commit contains two new functions edje_edit_state_limit_get() and
edje_edit_state_limit_set(). These functions allow user to set and get value of
states 'limit' property value. Also it provides an internal type to represent
limits (Edje_Edit_State_Limit) and implements printing of limits value on edc code
generation.

Reviewers: cedric, Hermet, seoz, raster

CC: reutskiy.v.v, cedric

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

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
2014-06-16 17:01:31 +02:00
Kateryna Fesyna 8ae41a547b edje: Edje_Edit - add functions that allow user to set and get value of fill type
Summary:
This commit contains two new functions for setting and getting value of
fill type of IMAGE and PROXY parts: edje_edit_state_fill_type_get() and edje_edit_state_fill_type_set()
Also with this commit printing of not default value of fill type (TILE) on generation of edc code is added.

Reviewers: cedric, Hermet, seoz, raster

CC: reutskiy.v.v, cedric

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

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
2014-06-16 16:56:32 +02:00
Jean-Philippe Andre e8d7c46253 Edje: Add support for ETC2 through LOSSY_ETC2 images
Declare your images as LOSSY_ETC2 to encode them as ETC2.
Add options to edje_cc to disable etc2.
Use ETC2 support from Eet.

@feature
2014-06-13 17:58:08 +09:00
Mike Blumenkrantz 894c36ff11 de-elipsis edje
the word is "ellipsis". it's bad enough that we have released misspelled api, but we can at least spell things correctly internally.
2014-05-13 16:20:41 -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