Commit Graph

1198 Commits

Author SHA1 Message Date
ChunEon Park 5a1c7f6d9b evas/evas3d: removed export of evas_3d_node_add() and apply eo to examples.
but still i don't like eo apis used in app side (if it's only way)
we should export legacy apis for convenience.

lets decide this policy later.
2014-05-07 22:36:34 +09:00
ChunEon Park a5b89f17b3 evas - removed stdlib.h math.h header include in each source files.
It's included in the evas_common_private.h.
2014-05-07 16:33:23 +09:00
ChunEon Park 8e9657ebb6 evas/evas3d: don't be crash when it's running on sw backened.
It doesn't have a plan that evas3d supports sw backened in the near future,
let it prenvent engine function access in case of sw backened.
2014-05-07 16:23:53 +09:00
Cedric Bail d590ad8041 evas: reuse buffer instead of leaking it.
CID 1210816
2014-05-04 00:18:55 +02:00
Cedric Bail bb47730b6d evas: make evas_3d_node_add visible to others. 2014-05-01 12:05:36 +02: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
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
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
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 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 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 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
Cedric Bail 53a9fcf301 evas: remove Evas_3D legacy API. 2014-04-25 19:29:08 +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
Cedric Bail 6efce2289b evas: fix massive number of warning introduced by Evas_3d. 2014-04-25 14:36:20 +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 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
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 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 0a5a08b047 Evas: 3D: API documentation
Conflicts:

	src/lib/evas/Evas_3D.h
2014-04-25 16:45:23 +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 fc6cdaaa9d Evas: 3D: evas_3d_node_look_at_set() bug fix 2014-04-25 16:19:18 +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
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
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
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
Matvey Konovalov 9fb3aa6549 evas - improve speed of unpremul with redundant pixel data 2014-04-15 19:22:58 +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
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
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
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
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
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
Tom Hacohen 374af9b9ca Eo: eo_base's data_*->key_data_*. 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
Jean-Philippe Andre deb8a637e4 Evas filters: Remove useless include 2014-04-04 18:35:22 +09:00
Jean-Philippe Andre 77d0d69c3e Evas: Add support for AGRY88 in image creation functions
- evas_common_rgba_image_from_data
- evas_common_rgba_image_colorspace_set
- evas_common_image_colorspace_normalize
2014-04-04 10:08:08 +09:00
Jean-Philippe Andre 5a1ef2155d Evas: Add support for AGRY88 in evas_common_rgba_image_from_copied_data
This should fix a potential abort().
2014-04-04 10:08:08 +09:00
Daniel Zaoui 2de5aaefac Eolian: remove Eo API defined in evas_private.h
We don't need it more because Eolian generates it already.
2014-04-02 14:27:48 +03:00
Tom Hacohen 8e5234cf75 Evas textblock: Minor code cleanup.
Moved a global variable into a local scope, as it's no longer needed globally.
2014-04-02 10:06:57 +01:00
Cedric BAIL b517ed81d5 evas: always allocate an image.data pixels buffers even YUV content.
fix T1146.
2014-04-02 16:41:41 +09:00
Jean-Philippe Andre 634034af46 Evas filters: Add template optimizable files for box blur
The new files (i386, sse3 and neon) are basically empty and fallback
to the C version. This is just to pave the way for full low-level
optimization... if someone has the time and skills to do it :)

Add both Alpha and RGBA template files.
2014-04-02 14:53:00 +09:00
Cedric BAIL eb7071078a evas: handle premultiplying of AGRY88. 2014-04-01 22:00:15 +09:00
Cedric BAIL 516ee8c99e evas: don't forget that we can allocate AGRY8 now. 2014-04-01 22:00:15 +09:00
Cedric BAIL 641576f7f8 evas: add png support for other color space output. 2014-04-01 22:00:15 +09:00
Cedric BAIL cbf81fddd1 evas: handle allocation of ETC1 color space image surface. 2014-04-01 22:00:15 +09:00
Cedric BAIL 3699ec6883 evas: remove RGBA_IMAGE_ALPHA_ONLY flags and use EVAS_COLORSPACE_GRY8 instead. 2014-04-01 22:00:15 +09:00
Cedric BAIL 05239d8dd2 evas: let loader specify there prefered color space. 2014-04-01 22:00:14 +09:00
Cedric BAIL 0609779f17 evas: add TGV saver module. 2014-04-01 22:00:13 +09:00
Cedric BAIL 961ecab040 evas: add a tgv loader.
The TGV file format is specifically created for Evas. It is designed to allow
region decompression and parallele decompression with a fast path for GPU that
do handle ETC1 compression. Plan for adding other compression method will come
later.
2014-04-01 22:00:13 +09:00
ChunEon Park 22162a66f3 evas - fix incorrect object reset.
If the children are rendered in the proxy render time,
they should not be reset the changes always since we don't sure
they will be rendered in normal rendering after.

In this case, we leave them as they are.
But maybe they can be optimized by comments says.

@fix
2014-04-01 14:08:14 +09:00
zmike e5d207fc25 +evas_object_image_mmap_get() 2014-03-31 09:51:00 -04:00
Tom Hacohen 2e7565b7c3 Evas textblock: Fixed compilation with FriBiDi disabled.
This issue was introduced in d175b8aa69
during the previous merge window.

Thanks a lot to vtorri for reporting.
2014-03-31 11:41:51 +01:00
Stefan Schmidt 23b0d4f14d evas/textblock: Correct evas_textblock_text_utf8_to_markup docs
Input and output was documented in the wrong direction.This function
takes plain text and gives markup.
2014-03-27 12:30:19 +01:00
ChunEon Park b1dc908681 evas/proxy - actually, I missed updating is_active of the object.
this commit is introduced by this b2070f8c39.
2014-03-27 16:16:49 +09:00
ChunEon Park b2070f8c39 evas/proxy - redraw proxy source properly.
This patch fixes the proxy drawing problem that source won't be updated in some case

If the image object is the one member of the smart that has the proxy,
the proxy(image part) won't be redrawed properly unless evas tries to draw the image object.
This can be heppend if the image object is inactive cause of some reasone(ie. outside of the screen)
So, the proxy object never can be never updated even the image part is changed.
Now let try to be active if the parent is both active and source object.

and revert previous change with regarded to a739716cee,
that's no more required now.

@fix
2014-03-27 15:47:00 +09:00
Daniel Hirt 5778896735 Evas Textblock: increase ref of format before work
We need to increase ref count for the format prior to calling of
functions that handle the layout.
This resolves valgrind error of accessing already freed memory.
Please note that a scenerio to trigger this exists in test suite, and
for some reason is not being detected by jenkins.
@fix
2014-03-26 12:32:25 +00:00
Jean-Philippe Andre b045feefb1 Evas filters: Fix blur with src == dst
If dst == src, then we should not blend back to the buffer,
as we actually want to blur the content and not keep the sharp
version.
2014-03-26 10:48:12 +09:00
Jean-Philippe Andre 27d97110cc Evas filters: Default mask fillmode should be repeat
Fillmode "NONE" has basically no practical use and shouldn't be
the default.
2014-03-26 10:48:12 +09:00
Jean-Philippe Andre 7e731ea10a Evas filters: Ignore ox,oy when stretching in the same direction
During padding calculation, ox and oy should be ignored unless the
blend operation is neither repeating nor stretching. Otherwise,
the buffer will grow without necessity.
2014-03-26 10:48:12 +09:00
ChunEon Park 4de2059d41 evas/common - initialize only the available blend stuff that cpu is supporting. 2014-03-22 17:25:59 +09:00
Jean-Philippe Andre b027e58a96 Evas filters: fix potential memory leak
Unlikely use case trying to delete a source when there are no
sources yet.

@fix
2014-03-21 15:23:02 +09:00
Jean-Philippe Andre fc3472aae5 Evas filters: Fix Eo documentation of program.set
The generated header "looked" a bit broken and some bits of doc
were dropped during the transition. Not a very big deal. :)
2014-03-21 15:23:02 +09:00
Jean-Philippe Andre eee3c1c773 Evas filters: Allow BLUR and GROW with radius 0
Fallback to a standard blend instruction instead of failing
miserably just because the radius is 0.
2014-03-21 15:23:02 +09:00
Jean-Philippe Andre 91a471b4dc Evas filters: Add new instruction padding_set
This will allow forcing a specific value for the filter padding,
instead of relying on auto calculation.

Two advantages:
- Auto calculation can't be perfect, since it will add as much
  padding as required for the full blur effect
- This prepares the path for animations with effects, where the
  object size does not change over time
2014-03-21 15:23:02 +09:00