platform/upstream/efl.git
10 years agoEvas filters: Implement basic Edje support
Jean-Philippe Andre [Wed, 5 Feb 2014 06:36:05 +0000 (15:36 +0900)]
Evas filters: Implement basic Edje support

Does not support proxies yet.
Implemented as "filter" field in a part.description.text (next
to a "font").

10 years agoEvas filters: Check that program code changes before updating
Jean-Philippe Andre [Wed, 5 Feb 2014 06:34:28 +0000 (15:34 +0900)]
Evas filters: Check that program code changes before updating

Save the code and compare with the new one. This way we can
safely call program_set from the edje_calc functions.

10 years agoEvas filters: Add argument src for buffer declaration
Jean-Philippe Andre [Wed, 5 Feb 2014 10:25:14 +0000 (19:25 +0900)]
Evas filters: Add argument src for buffer declaration

Basically, in an edje file, we'll declare buffers manually,
using the "buffer:buf(src=part)" syntax.

10 years agoEvas filters: Avoid adding multiple sources under the same name
Jean-Philippe Andre [Wed, 5 Feb 2014 10:35:45 +0000 (19:35 +0900)]
Evas filters: Avoid adding multiple sources under the same name

10 years agoEvas filters: Rename bind to source_set
Jean-Philippe Andre [Wed, 5 Feb 2014 02:40:10 +0000 (11:40 +0900)]
Evas filters: Rename bind to source_set

Because that's what we call it for proxy images :)

10 years agoEvas filters: Disable gauss blur
Jean-Philippe Andre [Tue, 4 Feb 2014 10:08:08 +0000 (19:08 +0900)]
Evas filters: Disable gauss blur

And fix doc in parser

10 years agoEvas filters: Remove FIXME and unimplemented code
Jean-Philippe Andre [Tue, 4 Feb 2014 03:32:15 +0000 (12:32 +0900)]
Evas filters: Remove FIXME and unimplemented code

Remove compilation warnings: we don't really need cubic
interpolation at this point, we can still add it back
later if wanted.

Also, make it clear that buffer #2 is the output buffer.
Remove meaningless FIXME.

10 years agoEvas filters: Add proxy source only once
Jean-Philippe Andre [Fri, 24 Jan 2014 07:41:21 +0000 (16:41 +0900)]
Evas filters: Add proxy source only once

If the proxy has already been added to the list of
proxy sources, don't add it again. This is for the filters
case where unset isn't even called :)

10 years agoEvas filters: Fix memory leaks with buffers
Jean-Philippe Andre [Fri, 24 Jan 2014 01:54:51 +0000 (10:54 +0900)]
Evas filters: Fix memory leaks with buffers

In async rendering case, basically all buffers were leaked or
freed from the wrong thread. Fix that :)

10 years agoEvas filters: Allocate buffer in the main loop (part 2)
Jean-Philippe Andre [Thu, 23 Jan 2014 07:54:50 +0000 (16:54 +0900)]
Evas filters: Allocate buffer in the main loop (part 2)

Now the allocation is really done in the main loop.
Rendering fails, only happens in case of redraw.

10 years agoEvas filters: Alloc/Dealloc buffers from the main loop only
Jean-Philippe Andre [Thu, 23 Jan 2014 05:58:05 +0000 (14:58 +0900)]
Evas filters: Alloc/Dealloc buffers from the main loop only

This is a problem I didn't spot immediately... but with
tons of nasty consequences.

10 years agoEvas filters: Simplify clip_to_target
Jean-Philippe Andre [Wed, 22 Jan 2014 09:41:00 +0000 (18:41 +0900)]
Evas filters: Simplify clip_to_target

10 years agoEvas filters: Fix uninitialized memory access and unsupported call
Jean-Philippe Andre [Wed, 22 Jan 2014 09:26:09 +0000 (18:26 +0900)]
Evas filters: Fix uninitialized memory access and unsupported call

10 years agoEvas filters: Fix mapped rendering for mask, blend
Jean-Philippe Andre [Wed, 22 Jan 2014 09:19:29 +0000 (18:19 +0900)]
Evas filters: Fix mapped rendering for mask, blend

If dx, dy are 0, there was a miscalculation of bottom and right,
leading to segvs.

10 years agoEvas filters: Implement all rgba mask operation
Jean-Philippe Andre [Wed, 22 Jan 2014 00:41:44 +0000 (09:41 +0900)]
Evas filters: Implement all rgba mask operation

RGBA + RGBA blended to an RGBA target.
Uses existing infrastructure to combine all buffers together.

10 years agoEvas filters: Implement repeat and stretch for rgba to alpha
Jean-Philippe Andre [Tue, 21 Jan 2014 07:49:43 +0000 (16:49 +0900)]
Evas filters: Implement repeat and stretch for rgba to alpha

Use the mapped rendering to implement repeat and stretch
with rgba to alpha buffers blending.
If stretch is required, it will add one more (expensive)
scaling step.

10 years agoEvas filters: Fix mask function
Jean-Philippe Andre [Tue, 21 Jan 2014 07:01:19 +0000 (16:01 +0900)]
Evas filters: Fix mask function

Mask iteration was not valid.

10 years agoEvas filters: OpenGL support part 2.
Jean-Philippe Andre [Fri, 17 Jan 2014 06:05:23 +0000 (15:05 +0900)]
Evas filters: OpenGL support part 2.

This patch implements the final draw from RGBA_Image to the
OpenGL surface. We can even steal the output buffer and
redraw it quickly, without having to re-render everything
(same as in SW).

10 years agoEvas filters: Move font draw inside the filters functions
Jean-Philippe Andre [Fri, 17 Jan 2014 04:32:25 +0000 (13:32 +0900)]
Evas filters: Move font draw inside the filters functions

Since the filters will have to decide on which engine (SW, GL) to
choose from to render the font and the effects, move the font
draw call inside the filters module.

10 years agoEvas filters: OpenGL support part 1.
Jean-Philippe Andre [Fri, 17 Jan 2014 02:19:02 +0000 (11:19 +0900)]
Evas filters: OpenGL support part 1.

Quick and dirty solution to support the OpenGL engine:
[1] Allocate CPU buffers
[2] Render text and process all effects to these buffers
[3] Push final image as an OpenGL texture.

This patch implements [1].

10 years agoEvas fitlers: Implement SLOW font draw to alpha targets
Jean-Philippe Andre [Thu, 16 Jan 2014 05:38:11 +0000 (14:38 +0900)]
Evas fitlers: Implement SLOW font draw to alpha targets

Well, raster did some great job at optimizing font draw... but only
to RGBA32 targets. In this font effects case, we also want to render
text on ALPHA buffers.

For now, reuse the existing alpha blending & glyph decompress
functions. It's MUCH easier, and works. Definitely slower than
decompressing on-the-fly and optimizing everything. But for now,
this will not even be the performance bottleneck in an effect
(blur will be a lot slower).

10 years agoEvas filters: Remove (never implemented) motion blur
Jean-Philippe Andre [Wed, 8 Jan 2014 02:12:03 +0000 (11:12 +0900)]
Evas filters: Remove (never implemented) motion blur

10 years agoEvas filters: Add offset parameter to vflip
Jean-Philippe Andre [Tue, 7 Jan 2014 09:38:22 +0000 (18:38 +0900)]
Evas filters: Add offset parameter to vflip

It is not possible to logically handle padding and offset at the same
time for a proper mirror effect, unless this is handled directly at the
transformation level.

Also, add support for blend() operation padding computation.

10 years agoEvas filters: Add transform filter
Jean-Philippe Andre [Tue, 7 Jan 2014 07:44:10 +0000 (16:44 +0900)]
Evas filters: Add transform filter

This is the simplest solution I can come up with for "mirror" effects.
Displacement maps are HARD to generate and use properly, since the buffer
size is unknown until runtime.
Even if we align the map to the text itself (using the padding information),
it's still hard to describe properly how to apply the displacement map, and
to generate it... So let's just add a simple flip operation.

10 years agoEvas filters: Add padding info to filter runtime context
Jean-Philippe Andre [Tue, 7 Jan 2014 05:55:27 +0000 (14:55 +0900)]
Evas filters: Add padding info to filter runtime context

10 years agoEvas filters: Add support for displacement map alpha
Jean-Philippe Andre [Tue, 7 Jan 2014 02:03:46 +0000 (11:03 +0900)]
Evas filters: Add support for displacement map alpha

Not tested yet!

10 years agoEvas filters: Remove complicated displacement flags
Jean-Philippe Andre [Tue, 7 Jan 2014 01:16:39 +0000 (10:16 +0900)]
Evas filters: Remove complicated displacement flags

The displacement effect is way too complicated. Let's keep it
simple and have only one displacement map format (RG + Alpha).

Here's what's missing now:
- Alpha support, to blend in the input with a variable intensity
- Extra padding (see below)

Also, the intensity VS. map values are not perfectly defined yet.

Problems: How to create a complete mirror effect (map needs to go
over boundaries... add extra padding to the buffers).

10 years agoEvas filters: Optimize Text redraw with filters
Jean-Philippe Andre [Mon, 6 Jan 2014 10:13:36 +0000 (19:13 +0900)]
Evas filters: Optimize Text redraw with filters

Fix case when a proxy source has changed: need to fully render
the effect again.

10 years agoEvas filters: Factorize blend map logic
Jean-Philippe Andre [Mon, 6 Jan 2014 05:44:20 +0000 (14:44 +0900)]
Evas filters: Factorize blend map logic

10 years agoEvas filters: Implement fill mode in blend
Jean-Philippe Andre [Fri, 3 Jan 2014 09:55:54 +0000 (18:55 +0900)]
Evas filters: Implement fill mode in blend

None, repeat (x,y) and stretch (x,y) are now working for RGBA
blending. The same logic shall be applied to alpha as well.

10 years agoEvas filters: Start implementing stretch for blend
Jean-Philippe Andre [Fri, 3 Jan 2014 06:51:17 +0000 (15:51 +0900)]
Evas filters: Start implementing stretch for blend

The fillmode is ignored when blending... for now.
First, implement none and stretch options for RGBA.

10 years agoEvas filters: Reuse output buffer in Text object
Jean-Philippe Andre [Fri, 3 Jan 2014 02:11:40 +0000 (11:11 +0900)]
Evas filters: Reuse output buffer in Text object

This is the first possible optimization: save the rendered
text (since we already have the output buffer anyways), and
reuse it if the text + filter didn't change.

10 years agoEvas filters: Implement fill with padding
Jean-Philippe Andre [Thu, 2 Jan 2014 09:44:01 +0000 (18:44 +0900)]
Evas filters: Implement fill with padding

Add parameters l, r, t, b to clip the fill area.
While l=x and t=y, the width and height of the clip are determined
at filter run-time, since we don't know the buffer size before.

10 years agoEvas filters: Fix padding in blur with offset
Jean-Philippe Andre [Thu, 2 Jan 2014 09:04:06 +0000 (18:04 +0900)]
Evas filters: Fix padding in blur with offset

If ox, oy were set, the padding was wrong in blur.

10 years agoEvas filters: Implement curve script API
Jean-Philippe Andre [Thu, 2 Jan 2014 06:57:44 +0000 (15:57 +0900)]
Evas filters: Implement curve script API

Currently supports interpolation modes "none" and "linear".
Cubic interpolation is not implemented yet.

10 years agoEvas filters: Move scaling to a common file
Jean-Philippe Andre [Thu, 2 Jan 2014 03:43:44 +0000 (12:43 +0900)]
Evas filters: Move scaling to a common file

NOTE: Alpha scaling is NOT supported.
It could be faked in 3 expensive steps:
1. Draw to RGBA
2. Scale RGBA
3. Draw to Alpha.

10 years agoEvas filters: Implement mask stretch in RGBA blend
Jean-Philippe Andre [Tue, 31 Dec 2013 10:38:58 +0000 (19:38 +0900)]
Evas filters: Implement mask stretch in RGBA blend

Brutal method for now: allocate YET ANOTHER buffer,
render scaled image to it (smooth scaling, oh yeah),
use this as a new mask.

For now, supports:
Alpha Input, RGBA mask, RGBA output, X,Y,XY stretching

10 years agoEvas filters: Pass fillmode to the filters
Jean-Philippe Andre [Tue, 31 Dec 2013 08:51:09 +0000 (17:51 +0900)]
Evas filters: Pass fillmode to the filters

I just need to actually implement them, now :)

10 years agoEvas filters: Introduce "fill" mode in script API
Jean-Philippe Andre [Tue, 31 Dec 2013 07:01:06 +0000 (16:01 +0900)]
Evas filters: Introduce "fill" mode in script API

This would mean: repeat (X,Y) or stretch (X,Y), for buffer
operations where it means something (blend, bump, ...)

10 years agoEvas filters: Change default buffer size to input size
Jean-Philippe Andre [Tue, 31 Dec 2013 03:43:03 +0000 (12:43 +0900)]
Evas filters: Change default buffer size to input size

This should make more commands work intuitively.
Now we still need to specify how to repeat or stretch buffers
when running commands.

10 years agoEvas filters: Change buffer creation API in script
Jean-Philippe Andre [Tue, 31 Dec 2013 02:49:18 +0000 (11:49 +0900)]
Evas filters: Change buffer creation API in script

Syntax was: buffer(name=bla,alpha=bool);
Changed to: buffer:bla(alpha);

There's a semicolon between buffer and its name because ALL whitespaces
are discarded. This might prove useful sometime in the future, so let's
keep it this way for now :)

10 years agoEvas filters: Use common color parse function
Jean-Philippe Andre [Mon, 30 Dec 2013 10:28:55 +0000 (19:28 +0900)]
Evas filters: Use common color parse function

10 years agoEvas filters: Fix compilation after merge from master
Jean-Philippe Andre [Mon, 30 Dec 2013 06:43:52 +0000 (15:43 +0900)]
Evas filters: Fix compilation after merge from master

- CRIT becomes CRI

10 years agoEvas filters: Fix automatic buffers with Evas_Object_Text
Jean-Philippe Andre [Fri, 13 Dec 2013 09:17:59 +0000 (18:17 +0900)]
Evas filters: Fix automatic buffers with Evas_Object_Text

10 years agoEvas filters: Reduce padding to the minimum acceptable
Jean-Philippe Andre [Fri, 13 Dec 2013 07:21:59 +0000 (16:21 +0900)]
Evas filters: Reduce padding to the minimum acceptable

Padding was brutally calculated by suming ALL the filters'
individual paddings. Now we try to be a bit smarter and propagate
the padding between buffers in the filter chain.

10 years agoEvas filters: Rename Text's special_effect into filter_chain
Jean-Philippe Andre [Fri, 13 Dec 2013 01:17:13 +0000 (10:17 +0900)]
Evas filters: Rename Text's special_effect into filter_chain

For consistency with Textblock.

10 years agoEvas filters: Disable styles when filter_chain is set
Jean-Philippe Andre [Fri, 13 Dec 2013 01:03:47 +0000 (10:03 +0900)]
Evas filters: Disable styles when filter_chain is set

Since the default theme includes a dark shadow behind normal
lines text (white on dark grey), we need to skip those when using
a filter program.

10 years agoEvas filters: Add fill command
Jean-Philippe Andre [Thu, 12 Dec 2013 08:46:46 +0000 (17:46 +0900)]
Evas filters: Add fill command

This will simply clear the target buffer with the specified color.

10 years agoEvas filters: Fix blur with small buffers
Jean-Philippe Andre [Thu, 12 Dec 2013 06:58:14 +0000 (15:58 +0900)]
Evas filters: Fix blur with small buffers

If the buffer is smaller than the blur kernel, then artifacts appear
and CRASHES happen because we read/write out of the buffer bounds.

Output buffer must be larger than the kernel diameter.
Input buffer's size is used to reduce the blurring effect on the edges.

10 years agoEvas filters: Clear buffers after allocation
Jean-Philippe Andre [Thu, 12 Dec 2013 06:54:33 +0000 (15:54 +0900)]
Evas filters: Clear buffers after allocation

malloc() and mmap() don't return empty buffers, so blending on top
will present tons of artifacts.
Visible mostly on very small buffers as they are malloc()'ed from
previously used memory segments.

10 years agoEvas filters: Use strcasecmp in the parser
Jean-Philippe Andre [Wed, 11 Dec 2013 10:35:24 +0000 (19:35 +0900)]
Evas filters: Use strcasecmp in the parser

We don't care about the case for our language.
EVEN for buffer names, so beware :)

10 years agoEvas filters: Add basic support for clip in blend
Jean-Philippe Andre [Tue, 10 Dec 2013 07:20:45 +0000 (16:20 +0900)]
Evas filters: Add basic support for clip in blend

Right now, clip is used only when blending RGBA surfaces.

10 years agoEvas filters: Allow empty commands
Jean-Philippe Andre [Tue, 10 Dec 2013 06:47:27 +0000 (15:47 +0900)]
Evas filters: Allow empty commands

If an instruction line contains only ';', skip it.
This is a convenience for Textblock and C++ style comments.

10 years agoEvas filters: Add Eo APIs and some comments
Jean-Philippe Andre [Mon, 9 Dec 2013 11:55:38 +0000 (20:55 +0900)]
Evas filters: Add Eo APIs and some comments

The entry points on evas text are there!

10 years agoEvas filters: Add all filters to Makefile
Jean-Philippe Andre [Mon, 9 Dec 2013 11:27:33 +0000 (20:27 +0900)]
Evas filters: Add all filters to Makefile

Compile the following evas_filter files:
- evas_filter.c
- blend.c
- blur.c
- bump.c
- curve.c
- displace.c
- mask.c
- parser.c

10 years agoEvas filters: Implement style parser
Jean-Philippe Andre [Mon, 9 Dec 2013 11:20:33 +0000 (20:20 +0900)]
Evas filters: Implement style parser

So, the (font) effects will be described by a string. It's
basically a new language (yeah yeah sorry), VERY simple, based
on function calls a la Python, with sequential and named arguments.

This string is intended to be passed directly to an evas text object
and embedded into the evas textblock's markup tags.

This file implements both the basic parsing functions, the
compilation of instructions into a queue of commands, and the glue
code for the rest of the filter infrastructure.

10 years agoEvas filters: Implement bump maps
Jean-Philippe Andre [Mon, 9 Dec 2013 07:56:44 +0000 (16:56 +0900)]
Evas filters: Implement bump maps

These bump maps implement two light effects at once:
- 3D Shadows
- Specular lights

The specular light is activated by a flag.
Another flag enables compensation for darkening/whitening of
horizontal surfaces.

NOTE: This implementation is VERY SLOW.
It uses double values and divisions all over the place.
It might be possible to optimize by computing two LUTs before
running the algorithm.

10 years agoEvas filters: Implement displacement maps
Jean-Philippe Andre [Mon, 9 Dec 2013 07:43:52 +0000 (16:43 +0900)]
Evas filters: Implement displacement maps

Displacement maps are a simple but powerful tool to move pixels
around in a buffer, based on a displacement map (image).

Currently, various modes are implemented:
- X, Y or XY displacement
- Alpha map or RGBA map where R and G only are used

An intensity parameter is given as well.

Some of these might not be useful, we can just strip them off when
the final API is decided.

10 years agoEvas filters: Implement color curves filter
Jean-Philippe Andre [Mon, 9 Dec 2013 07:32:38 +0000 (16:32 +0900)]
Evas filters: Implement color curves filter

Color curves are a very simple tool to alter the colors of an image,
on a per-pixel basis. This implementation will simply map each pixel
to a 256 bytes buffer, provided by the application.

NOTE: There are no convenience functions yet for easy curve
generation, but this is the plan (give point A, B, B and interpolate
between them to generate the 256 values array).

10 years agoEvas filters: Implement blur functions
Jean-Philippe Andre [Mon, 9 Dec 2013 07:26:02 +0000 (16:26 +0900)]
Evas filters: Implement blur functions

Currently supported:
- Box blur for Alpha and RGBA
- Gaussian blur for Alpha and RGBA

Motion blur is not implemented.

These effects are SLOW. Gaussian blur is based on a true gaussian
curve for small radii, or a sine-based approximation.
The true gaussian might need to be removed for consistency, since
it gives slightly different results from the sine one (less blur).

It is not possible to mix Alpha and RGBA surfaces in this filter.

10 years agoEvas filters: Implement other masking functions
Jean-Philippe Andre [Mon, 9 Dec 2013 07:23:58 +0000 (16:23 +0900)]
Evas filters: Implement other masking functions

These functions differ from normal blending as they will use
a mask on top of input and output buffers.
So, basically they blend input+mask into a third buffer output.

If output is RGBA then mask or input MUST be RGBA.

10 years agoEvas filters: Implement blend functions
Jean-Philippe Andre [Mon, 9 Dec 2013 07:20:48 +0000 (16:20 +0900)]
Evas filters: Implement blend functions

Currently, blending supports the following:
- Alpha --> Alpha (simple alpha masking)
- Alpha + Color --> RGBA (same as mask)
- RGBA --> RGBA (normal blend)
- RGBA --> Alpha (desaturate using A=(R+G+B)/3)

10 years agoEvas filters: Import main implementation file
Jean-Philippe Andre [Mon, 9 Dec 2013 06:57:50 +0000 (15:57 +0900)]
Evas filters: Import main implementation file

evas_filter.c contains the entry points for the evas filters subsystem,
in particular, the filter API, the (yet very basic) buffer management
system, the command queue and main context handling functions.

Right now, the Evas engine is left untouched, so these implementations
will work ONLY in the software engine.

NOTE: This will not compile on its own (thus, not added to Makefile.am),
as it will require the filter implementations to be linked.

10 years agoEvas filters: Import main header file
Jean-Philippe Andre [Mon, 9 Dec 2013 06:54:48 +0000 (15:54 +0900)]
Evas filters: Import main header file

evas_filter.h contains the API declarations for the internal
Evas Filter module: enums, functions and some documentation.

10 years agoecore-x xpresent - fix build if you DONT have xpresent there.
Carsten Haitzler (Rasterman) [Fri, 7 Feb 2014 08:10:41 +0000 (17:10 +0900)]
ecore-x xpresent - fix build if you DONT have xpresent there.

10 years agoecore_x: added @since comment about ecore_x_e_illume_window_state_send
Doyoun Kang [Fri, 7 Feb 2014 08:06:22 +0000 (17:06 +0900)]
ecore_x: added @since comment about ecore_x_e_illume_window_state_send

Reviewers: seoz

CC: zmike, cedric, raster
Differential Revision: https://phab.enlightenment.org/D526

10 years agoEvas fonts: Pass RGBA_Image instead of DATA32 buffer
Jean-Philippe Andre [Wed, 15 Jan 2014 09:18:16 +0000 (18:18 +0900)]
Evas fonts: Pass RGBA_Image instead of DATA32 buffer

Since we want to be able to draw to alpha buffers, it's
easier if we pass the whole image struct instead of just
the data pointer.

10 years agoEvas text utils: Check syntax in color parse
Jean-Philippe Andre [Mon, 30 Dec 2013 09:13:32 +0000 (18:13 +0900)]
Evas text utils: Check syntax in color parse

If the color string is not correct (ie. not #RRGGBBAA, #RGBA, #RGB, #RRGGBB),
return an error.

10 years agoEvas: Move _format_color_parse to common file
Jean-Philippe Andre [Mon, 30 Dec 2013 09:07:15 +0000 (18:07 +0900)]
Evas: Move _format_color_parse to common file

This (simple) code should be shared between Textblock and Filters.

10 years agoEvas: Add support for Alpha buffers
Jean-Philippe Andre [Mon, 9 Dec 2013 05:46:12 +0000 (14:46 +0900)]
Evas: Add support for Alpha buffers

Evas is an RGBA only engine, BUT we also use some alpha masks,
especially in the font rendering pipeline.
This commit adds basic support for alpha buffer operations
(blend and copy).

RGBA_Image can then point to either alpha-only data, if
its colorspace is grey.

10 years agoecore_x: Add ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_OVER.
Jaehwan Kim [Fri, 7 Feb 2014 05:21:40 +0000 (14:21 +0900)]
ecore_x: Add ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_OVER.

This Atom is for accessibility.
In the touch screen, when the finger moves continuously, it is uesd.

10 years agoevas/common - code refactoring.
ChunEon Park [Fri, 7 Feb 2014 04:39:11 +0000 (13:39 +0900)]
evas/common - code refactoring.

tiny change for readibility.

10 years agoecore_x: Added API - ecore_x_e_illume_window_state_send
Doyoun Kang [Fri, 7 Feb 2014 04:05:00 +0000 (13:05 +0900)]
ecore_x: Added API - ecore_x_e_illume_window_state_send

Summary:
there exists ecore_x_e_illume_window_state_set and ecore_x_e_illume_window_state_get,
but no ecore_x_e_illume_window_state_send.

Reviewers: raster, seoz, cedric

Reviewed By: seoz

CC: cedric, seoz
Differential Revision: https://phab.enlightenment.org/D512

10 years agoautotools: use libevil libdl implementation.
Vincent Torri [Fri, 7 Feb 2014 03:56:37 +0000 (12:56 +0900)]
autotools: use libevil libdl implementation.

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
10 years agoevas: gl backend - ensure eng_window_use in image_content_hint_set
Wonsik Jung [Fri, 7 Feb 2014 03:17:59 +0000 (12:17 +0900)]
evas: gl backend - ensure eng_window_use in image_content_hint_set

Summary: Ensure eng_window_use in image_content_hint_set

Test Plan:
1. make native OpenGLES application.
2. set evas object image  with evas_object_image_native_surface_set.
3. GLES Application try to call eglMakeCurrent with own eglContext, then resize evas object resize

Reviewers: Hermet, raster, cedric

Reviewed By: cedric

CC: cedric, seoz
Differential Revision: https://phab.enlightenment.org/D523

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
10 years agoedje: edje_calc - fix deffect by find the part description when 'approximate' is...
Vyacheslav Reutskiy [Fri, 7 Feb 2014 03:16:01 +0000 (12:16 +0900)]
edje: edje_calc - fix deffect by find the part description when 'approximate' is EINA_FALSE

Reviewers: cedric, raster, seoz

Reviewed By: cedric

CC: cedric
Differential Revision: https://phab.enlightenment.org/D495

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
10 years agoEvas font: Change font fallback to not depend on fontconfig >= 2.11.
Tom Hacohen [Wed, 5 Feb 2014 13:54:41 +0000 (13:54 +0000)]
Evas font: Change font fallback to not depend on fontconfig >= 2.11.

Apparently, it was available for quite a while. It's just a case of confusing documentation
that made me think the minimum version is 2.11.

10 years agoEvas textblock: Improved error messages when detecting errors in markup.
Tom Hacohen [Wed, 5 Feb 2014 13:51:22 +0000 (13:51 +0000)]
Evas textblock: Improved error messages when detecting errors in markup.

10 years agoevas: textblock - Added Null checking in evas_textblock_text_markup_to_utf8 before...
Youngbok Shin [Wed, 5 Feb 2014 13:23:55 +0000 (13:23 +0000)]
evas: textblock - Added Null checking in evas_textblock_text_markup_to_utf8 before calling eina_strbuf_append_length API.

Summary:
When input string has non-finished markup tags or escaped tags,
eina_strbuf_append_length is called with Null string.
There is a Null checking in eina_strbuf_* API, but it will print error message when input string is Null.
Strictly speaking, *_markup_to_utf8 API could be used with any kind of input string.
So, we need to add Null checking for removing the useless error message.

Test Plan:
Call the API like the following code.
evas_textblock_text_markup_to_utf8(NULL, "test_text&&&&");

ERR message will be printed.

Reviewers: woohyun, tasn, seoz, Hermet, hbr4570

CC: cedric
Differential Revision: https://phab.enlightenment.org/D493

10 years agoevas/map - added comment to do.
ChunEon Park [Wed, 5 Feb 2014 11:55:38 +0000 (20:55 +0900)]
evas/map - added comment to do.

10 years agoeina: restore magic debug option for ABI compatibility purpose.
Cedric BAIL [Wed, 5 Feb 2014 02:10:29 +0000 (11:10 +0900)]
eina: restore magic debug option for ABI compatibility purpose.

We can't remove that option as it break ABI for people who did turn
it off in 1.7.

- cherry-pick me -

10 years agoEvas font: Added support for font fallback for eet/edje fonts.
Tom Hacohen [Mon, 3 Feb 2014 13:58:25 +0000 (13:58 +0000)]
Evas font: Added support for font fallback for eet/edje fonts.

This is a long awaited feature that has been requested years ago.
Fontconfig finally added the support needed to make it happen, so here
it is.

I added a fontconfig query to look for similar fonts in case we loaded a
font from eet/edje/file(no fontconfig). This now works quite well.

Still missing: if you load a bold/italic/whatever font directly (set the file)
without putting ":weight=bold" you will not get run-time emboldenment if
only non-bold fonts are found.

This unfortunately depends on very recent fontconfig version (#ifed out
when unavailable), so only people with fontconfig >= 2.11 will enjoy
this feature.

10 years agoEvas font: Renamed evas_load_fontconfig and added support for a base set.
Tom Hacohen [Thu, 30 Jan 2014 14:20:45 +0000 (14:20 +0000)]
Evas font: Renamed evas_load_fontconfig and added support for a base set.

Renamed it so it'll be more obvious that it's internal.
Added the parameter as the first step towards supporting edje font
fallback using fontconfig.

10 years agoedje embryo reset timer should probably call the reset function
zmike [Mon, 3 Feb 2014 23:23:50 +0000 (18:23 -0500)]
edje embryo reset timer should probably call the reset function

10 years agoedje embryo now supports reset_timer()
zmike [Mon, 3 Feb 2014 22:18:52 +0000 (17:18 -0500)]
edje embryo now supports reset_timer()

works the same as ecore_timer_reset()

10 years agoedje freeze count can no longer become negative
Mike Blumenkrantz [Mon, 3 Feb 2014 16:51:45 +0000 (11:51 -0500)]
edje freeze count can no longer become negative

10 years agoPatcna: fix wrong widgth and height in eina_rectangle computation logic.
Cedric BAIL [Mon, 3 Feb 2014 06:35:36 +0000 (15:35 +0900)]
Patcna: fix wrong widgth and height in eina_rectangle computation logic.

Reviewers: cedric, raster, seoz, Hermet, bluezery

Reviewed By: cedric

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

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
10 years agoevas - fix tom's bold-killer from 2cb9db171ead5bc9920234e27c2e12b7c7b3883a
Carsten Haitzler (Rasterman) [Sun, 2 Feb 2014 01:59:33 +0000 (10:59 +0900)]
evas - fix tom's bold-killer from 2cb9db171ead5bc9920234e27c2e12b7c7b3883a

10 years agoevas: fix doxygen warning in group of Evas_Key
Jihoon Kim [Sat, 1 Feb 2014 05:19:38 +0000 (14:19 +0900)]
evas: fix doxygen warning in group of Evas_Key

Evas_Common.h:5243: warning: end of file while inside a group

10 years agoedje: fix the mismatched argument name with doxygen
Jihoon Kim [Sat, 1 Feb 2014 04:32:57 +0000 (13:32 +0900)]
edje: fix the mismatched argument name with doxygen

warning: argument 'above' of command @param is not found in the argument list of edje_edit_part_restack_part_above(Evas_Object *obj, const char *part, const char *below)

10 years agoedje: call imf reset before selecting text area
Jihoon Kim [Sat, 1 Feb 2014 01:32:53 +0000 (10:32 +0900)]
edje: call imf reset before selecting text area

10 years agoUpdating hungarian and italian translations
maxerba [Wed, 29 Jan 2014 18:18:28 +0000 (19:18 +0100)]
Updating hungarian and italian translations

10 years agoEvas font: Added support for the freetype spacing tag.
Tom Hacohen [Wed, 29 Jan 2014 14:36:02 +0000 (14:36 +0000)]
Evas font: Added support for the freetype spacing tag.

This doesn't work nicely, as for some reason fontconfig doesn't work
nicely with ':spacing=mono' without a font name.
Doesn't work with fc-match either. It does work with fc-list, but that's
not what we'd like to use. It could be just an issue with my local
fontconfig configuration.

This fixes T865 although the problem is now with freetype.

10 years agoEvas font: Added support for weight/width/slant font tags.
Tom Hacohen [Wed, 29 Jan 2014 14:10:40 +0000 (14:10 +0000)]
Evas font: Added support for weight/width/slant font tags.

This let's you set those directly, instead of using the style tag.

10 years agoEvas textblock: Fix selection with bidi text.
Tom Hacohen [Wed, 29 Jan 2014 13:25:21 +0000 (13:25 +0000)]
Evas textblock: Fix selection with bidi text.

This is a regression introduced in
548e548632333f5ef533079a7aaa54aadd20ef8d.

This is really bad, and essentially broke selection geometry for bidi
text. Very serious.

The problematic code assumed that the range comparison for the items
assumed the item marked with 1 is always logically before the item marked
with 2, which is just not true.

10 years agoEvas textblock: Added a test for range geometry with bidi text.
Tom Hacohen [Tue, 28 Jan 2014 17:03:07 +0000 (17:03 +0000)]
Evas textblock: Added a test for range geometry with bidi text.

10 years agofix evas_tiler bug (makes evas get stuck in an infinite loop there in certain scenarios)
Daniel Kolesa [Wed, 29 Jan 2014 10:00:29 +0000 (10:00 +0000)]
fix evas_tiler bug (makes evas get stuck in an infinite loop there in certain scenarios)

10 years agoefl: fixed documentation typos.
Daniel Juyung Seo [Tue, 28 Jan 2014 15:19:16 +0000 (00:19 +0900)]
efl: fixed documentation typos.

10 years agoEdje entry: Fix memory corruption (of by one in allocation).
Tom Hacohen [Tue, 28 Jan 2014 10:10:05 +0000 (10:10 +0000)]
Edje entry: Fix memory corruption (of by one in allocation).

This fixes T867.

10 years agoevas_render: avoid unnecessary assignment.
Daniel Juyung Seo [Mon, 27 Jan 2014 16:54:25 +0000 (01:54 +0900)]
evas_render: avoid unnecessary assignment.