Commit Graph

1042 Commits

Author SHA1 Message Date
Tom Hacohen 7fd1ffc8c1 Evas box: Use the correct include for the generated eo file. 2014-03-18 12:07:57 +00:00
Yossi Kantor 0311cb6091 Eolian: Integration of Evas Box 2014-03-18 11:08:55 +02:00
Jean-Philippe Andre 320a9f18c5 Evas cserve2: Fix client crashes when a file changed
Clients must ignore changed file entries as they are not valid
anymore. The server will also mark the entry as invalid in case
of file update.

@fix
2014-03-18 13:49:05 +09:00
Youngbok Shin 7a4b65c735 evas/text: fix the issue that size of evas text object be shorten repeatly when ellipsis is shown.
Summary:
When the text was shorten by ellipsis, object size was fit to the text width.
If new text was set to the object, the text calculated with the smaller size.
It made shorten the object size when the text is set repeatly.
If the text is cutted off with ellipsis, it means there is no need to
resize the object.

Test Plan: elementary_test -> FileSelector Entry -> Click "Toggle Folder Only mode" button repeatly.

Reviewers: woohyun, tasn, raster, so.penible.animation, Hermet

Reviewed By: raster

CC: cedric, herdsman

Differential Revision: https://phab.enlightenment.org/D636
2014-03-17 19:29:17 +09:00
Yakov Goldberg 8331f6e79f Eolian: fix initialization of Evas Clickable Interface 2014-03-16 18:25:57 +02:00
Yossi Kantor 5994846a34 Eolian: Integration of Evas Zoomable Interface 2014-03-16 09:24:05 +02:00
Yossi Kantor 2e9772b11c Eolian: Integration of Evas Selectable Interface 2014-03-16 09:24:05 +02:00
Yossi Kantor 730a403046 Eolian: Integration of Evas Scrollable Interface 2014-03-16 09:24:05 +02:00
Yossi Kantor 7c9ce7dcf1 Eolian: Integration of Evas Clickable Interface 2014-03-16 09:24:05 +02:00
Yossi Kantor 0a6cce196c Eolian: Integration of Evas Draggable Interface 2014-03-16 09:24:05 +02:00
Yossi Kantor f82612e3f2 Eolian: Integration of Evas Common Interface 2014-03-16 09:23:00 +02:00
ChunEon Park cb79aa9089 evas - add warning to evas_object_freeze_events_set() API doc. 2014-03-16 01:15:58 +09:00
Alex-P. Natsios fa2b1b3d30 evas: improve portability for BSD system.
configure: fix prerequisite header issue

Summary:
in some platforms like openBSD <sys/socket.h> must be included before
net/if.h

the canonical way to ensure that with autotools is by providing that
fourth directive.

evas: use MAP_ANON instead of MAP_ANONYMOUS

Stupid unpredictable standards (or not so standard).
MAP_ANON exists and is defined almost anywhere unlike MAP_ANONYMOUS

Let's use that for portability's sake (they are practically identical
anyway)

Reviewers: raster, cedric

Reviewed By: cedric

CC: cedric

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

Signed-off-by: Cedric BAIL <cedric.bail@free.fr>
2014-03-15 19:58:08 +09:00
Subhransu Sekhar Mohanty 4d8fbd623c evas: add NULL check to avoid crash when clipper dosen't have a layer.
Summary:
There is a crash in naviframe demo and the stack points to the clip set function where it tries to acess evas object
from a NULL layer , by going through the log found out raster has already added the NULL check in clip_unset function
so just added the check in clip_set.

Reviewers: seoz, raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D625
2014-03-15 19:55:59 +09:00
Tom Hacohen 2eaf9049b9 Evas textblock: Don't include right margin/padding twice when aligning lines.
This should fix enventor issues.

@fix
2014-03-14 12:54:09 +00:00
Jean-Philippe Andre 571d7b6287 Evas filters: Fix invalid error check in mapped_blend()
Some filters would not render because I checked the wrong
value. image_draw can not fail, it only returns a bool
indicating asynchronous processing.
2014-03-14 17:00:06 +09:00
Cedric BAIL b0a4bf2808 evas: if the class is the wrong one, you should not do the check after accessing a NULL pointer.
Fix CID 1191978.
2014-03-14 11:51:49 +09:00
Cedric BAIL d8914689d4 evas: let's check NULL for destination object to.
Fix CID 1191976.
2014-03-14 11:44:49 +09:00
Yossi Kantor 7e6c21c44b Eolian: Integration of Evas Out 2014-03-13 09:14:14 +02:00
Yossi Kantor 2219b5434c Eolian: Integration of Evas Image 2014-03-13 09:14:14 +02:00
Cedric BAIL d3bc06ae33 evas: simplify path logic and make backend code more robust.
Fix CID 1039665.
2014-03-13 10:57:38 +09:00
Cedric BAIL 522cb7756d evas: track modifier in the limited range of unsigned long long.
This fix CID 1191924, CID 1191923, CID 1191922 and CID 1191921.
2014-03-13 10:52:37 +09:00
Cedric BAIL 9b0127f102 evas: be consistent in our check for NULL layer.
Fix CID 1191913.
2014-03-13 10:46:05 +09:00
Cedric BAIL e9d86e8719 evas: protect correctly for object layer not being set.
FIX CID 1191914, CID 1191915, CID 1191916 and CID 1191917.
2014-03-13 10:44:15 +09:00
Cedric BAIL bd2152a1cc evas: protect against potential NULL access.
Fix CID 1191919.
2014-03-13 10:40:14 +09:00
Cedric BAIL 4dcf49c6e9 evas: let's not access a potential NULL object when looping on a corrupted object list.
This fix CID 1191920.
2014-03-13 10:40:14 +09:00
Cedric BAIL 34c836ec60 evas: the while guarantee that obj will be NULL, so let's not access it.
This will fix CID 1191918.
2014-03-13 10:40:14 +09:00
Cedric BAIL e9bd738dc4 evas: restore behavior of stack above and below when no rel is specified.
This will fix CID 1191907 and CID 1191906.

@fix
2014-03-13 10:40:09 +09:00
Yossi Kantor 2a90b4f23d Eolian: Integration of Evas Grid 2014-03-12 10:57:28 +02:00
Daniel Zaoui 103e89a04a Eolian: Integration of Evas 2014-03-12 10:57:28 +02:00
Daniel Zaoui f22bd9e6ee Eolian: Integration of Evas Object.
const have been added in object parameter of two legacy APIs to fit
Eolian generated files.
Since these functions retrieve information from object, it is logic that
the object would be const.
2014-03-12 10:57:28 +02:00
Jean-Philippe Andre 96e58cebf7 Evas filters: Fix memory leak when destroying the object
The GL buffers set to be freed were released only the async case...
which doesn't make sense since GL is sync.

@fix
2014-03-12 14:08:02 +09:00
Jean-Philippe Andre 592204fe73 Evas filters: Optimize RGBA blur as well
Same as Alpha blur, use combination of box blurs,
and put all that code into optimizable functions.
2014-03-12 14:08:02 +09:00
Jean-Philippe Andre 4443ecfa8b Evas filters: Optimize alpha box blur
Use two optimizable functions for BOX blur: vertical and horizontal.
These functions will run as many times as requested (from 1 to 6 max).

The horizontal case is pretty straightforward as the source is already
contiguous (nice in terms of cache hits). The only catch is to swap
src and dst without ever writing to the input buffer.

In case of vertical blur, we apply the same method as above, after
rotating the column into a horizontal (contiguous) span, and rotating
it back afterwards.

Now, the same needs to be done for RGBA :)
2014-03-12 14:08:02 +09:00
Jean-Philippe Andre 2a1ba1b908 Evas filters: Use box blur by default
BOX blur is a lot faster (and easier to optimize, too)
than GAUSSIAN blur. Repeating 2x or 3x BOX blur will also
give similar results to GAUSSIAN blur (very smooth), but
in much less time.

Add a count parameter to the BOX blur instruction.
2014-03-12 14:08:02 +09:00
Jean-Philippe Andre 4e249143a5 Evas filters: Prepare optimization paths for BOX blur
Actually, there is a very nice trick with BOX blur.
Pass BOX blur 3 times and you can approximate a GAUSSIAN
blur with up to 3% accuracy. This is way more than enough
for just a simple graphical effect.

So, despite the crappy quality of BOX blur, we should
optimize it a lot so we can replace large GAUSSIAN blurs
with series of BOX blurs instead.

Source: Wikipedia's page on box blur :)

This commit also moves around some duplicated definitions.
2014-03-12 14:08:02 +09:00
Jean-Philippe Andre 0dace7721e Evas filters: Fix 1-D blurs on a single buffer
When a blur operation requires a copy-back to the source
buffer, then the render_op must be set to COPY instead of
BLEND. Otherwise the non blurred content will be visible.

@fix
2014-03-12 14:08:02 +09:00
Jean-Philippe Andre 6674ef5b35 Evas filters: Move DEBUG_TIME macro to be used in the main file
Optimization can happen at a higher level than the blur function
itself... so let's measure the whole filter running time.
2014-03-12 14:08:02 +09:00
Jean-Philippe Andre a37a1d458d Evas filters: Fix uninitialized variable warning 2014-03-12 14:08:02 +09:00
Jean-Philippe Andre 9c3a3373b3 Evas filters: Add basic optimization for RGBA gaussian blur 2014-03-12 14:08:01 +09:00
Jean-Philippe Andre cb69700389 Evas filters: Add optimizable blur function
Prepare optimization paths for blur operations, as they are VERY
costly. This simple change, when using gcc -O3 flag, boosts
horizontal blur performance by > 50%, because STEP is 1 (and
so, memory accesses, increments, etc... are all very simple)

The objective is to have support for NEON, MMX, SSE, too, with
runtime detection.
2014-03-12 14:08:01 +09:00
Jean-Philippe Andre 1960c97eb4 Evas filters: Add more time debug marks in blur 2014-03-12 14:08:01 +09:00
Jean-Philippe Andre 2ea3cb6414 Evas filters: Remove dead code
Remove true Gaussian kernel code, as it is not usable over 12px and
was disabled because it gives different visual results than the
fake Gaussian curve using sin().
2014-03-12 14:08:01 +09:00
Jean-Philippe Andre caa8789424 Evas filters: Improve debug logs
According to Gustavo's comment :)
2014-03-12 14:08:01 +09:00
Boris Faure e8c0e71f89 evas: @fix use the correct composite op on lines with pixman 2014-03-11 22:34:35 +01:00
Youngbok Shin cb5026137b evas/font: Added evas_font_path_global_* APIs.
Summary:
These APIs will be used for adding font paths for the application.
The existing APIs for font path, such as evas_font_path_append,
are used for adding font paths to the given evas.
But, these APIs will affect to every evas in the process.

Reviewers: tasn, woohyun, Hermet, seoz

CC: cedric, herdsman

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

@feature
2014-03-11 11:21:56 +00:00
WooHyun Jung 2791c3dc06 evas: Replace EINA_LIST_FOREACH_SAFE to while statement.
Clipees can be cleared before the loop is finished because
evas_object_clip_unset calls smart function of clip_unset.
So, if we use EINA_LIST_FOREACH_SAFE, invalid next list pointer
can be kept and read after obj->clip.clipees is freed.

Thanks to Davide Andreoli for reporting.

@fix
2014-03-11 16:34:56 +09:00
Yossi Kantor 1b2f732d2a Eolian: Integration of Evas Table 2014-03-11 07:37:48 +02:00
Daniel Zaoui e203ec008e Eolian: Integration of Evas Smart Clipped 2014-03-11 07:37:48 +02:00
Daniel Zaoui 44f9da675c Eolian: Integration of Evas Smart 2014-03-11 07:37:47 +02:00