Commit Graph

11 Commits

Author SHA1 Message Date
Jean-Philippe Andre caf3b95a6d elm_test: Make the animated filter a bit prettier
This is a basic example of fire text.

The gif was generated with a GIMP script from
http://fence-post.deviantart.com/art/GIMP-Animated-Fire-Script-84921148
2017-01-17 14:35:31 +09:00
Jean-Philippe Andre 277ca9c0fc elm_test: Add a filter to the code entry
Just because I can. It's the filter code editor after all, deserves
a filter of its own. Plus, it tests that we can embed a filter
in the default style, and edit text with a filter and everything
works as expected. Yay!
2017-01-17 14:35:30 +09:00
Jean-Philippe Andre 13c62c10e1 evas: Introduce event style_insets,changed for tb
This will be triggered in the rare case when a textblock's
insets are changed (ie. the padding due to filters or style).

This fixes invalid sizing in the test case in elm (due to a
lack of event after program_set).

@feature
2017-01-17 14:35:29 +09:00
Jean-Philippe Andre 93965db815 evas: Implement filter sources support for textblock 2017-01-17 14:35:29 +09:00
Jean-Philippe Andre 1512741b48 evas: Implement filter_data_set for textblock
This is a function that allows passing variables from C or EDC
to the filter's Lua code. Useful in particular for color classes
from EDC.

This data would be the global data but we could eventually add
a markup tag to specify a data value per filter instance. For now
a single data value per tb object should be more than enough though.
2017-01-17 14:35:29 +09:00
Jean-Philippe Andre 4453044d84 elm_test: Improve gfx filter test case for tb & text
Now we can test both of those widgets with filters. We
could also add an image. This test case still needs some
improvement anyway.
2017-01-17 14:35:28 +09:00
Jean-Philippe Andre 421df2eec6 evas: Adjust tb padding from gfx filters padding
This makes gfx filters padding work just like the standard style
padding, which means the tb user must offset the object position
by -l, -t and increase the object size by l+r,t+b.
2017-01-17 14:35:28 +09:00
Jean-Philippe Andre 5f1c993d17 evas: Set gfx filters by name on textblock
This allows for much simpler markup, and easier tracking of
which filters are in use, etc... Next: data and sources.
2017-01-17 14:35:28 +09:00
Jean-Philippe Andre cb294320dc evas: Experimental textblock support for gfx filters
This is only for testing purposes for now. Eventually we need
to fix the following things:
- terrible performance (cache buffers)
- force redraws based on filter padding
- expand textblock padding based on max filter padding
- add sources, data and a filter name/code hash
- test! :)
2017-01-17 14:35:28 +09:00
Jean-Philippe Andre bcfc33fd00 elm_test: Add a test case for gfx filters
This adds a test window for the efl_gfx_filter (also known as
evas filters). The builtin examples are not incredibly pretty
but they showcase some of the most basic features. They also
show that some of the filters need to be improved.

Note that the code contains a lot of FIXME due to the incompleteness
of our EO API. Also, Efl.Ui.Text still has quite a few issues (sizing,
lack of a working change event, ...) so the UI doesn't even look as
designed (a label is missing). Hopefully this should get fixed over
time.

Oh and this is mostly using EO APIs but that's a terrible idea as
evas_object_text is not going to be exposed in EO land... except
it's the only object implementing filter support (with image).
2016-12-13 16:12:27 +09:00
Jean-Philippe Andre fdcd926960 evas: Fix stacked box align
I added a way to respect the object's alignment when adding them
to a stacked box, but that alignment should only be used when the
box align is set to fill, otherwise both aligns would conflict.

See 3df7b717c9
2016-12-13 16:12:27 +09:00