Commit Graph

120 Commits

Author SHA1 Message Date
Cedric BAIL 52a36461b8 evas: add infrastructure and basic tests for loading image. 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
Yossi Kantor 0311cb6091 Eolian: Integration of Evas Box 2014-03-18 11:08:55 +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
Tom Hacohen d52faf7d31 Eolian: Set eolian_flags in .pc files and ship .eo files. 2014-03-13 09:55:29 +00: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
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 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 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
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
Daniel Zaoui c8dc39c9ae Eolian: fix for nightly make distcheck.
Hmm, I forgot to add some .eo files to the EXTRA_DIST so they have not been
added inside the archive.
Eolian couldn't generate C files because of these missing files.
2014-03-10 16:59:46 +02:00
Daniel Zaoui 2fe6c88cf0 Eolian: Integration of Evas Text Grid 2014-03-10 13:28:03 +02:00
Daniel Zaoui ee7541e202 Eolian: Integration of Evas Text Block 2014-03-10 13:28:03 +02:00
Daniel Zaoui 9b8f036beb Eolian: Integration of Evas Text 2014-03-09 13:18:57 +02:00
Daniel Zaoui b545750bee Eolian: Integration of Evas Rectangle 2014-03-09 13:18:41 +02:00
Daniel Zaoui 1de10ce9fe Eolian: Integration of Evas Polygon 2014-03-09 13:18:17 +02:00
Tom Hacohen 84e9eba24f Evas line: Don't include generated headers in make dist.
This fixes make distcheck.
2014-03-07 13:48:13 +00:00
Tom Hacohen 9110d490e3 Fix evas compilation and installation. 2014-03-06 15:12:51 +02:00
Daniel Zaoui a3e38d7884 Eolian: generation of the first Eo file.
The first object that we generate with Eolian is Evas_Line, as it is a
simple one.
Two files are generated during build:
- the .eo.c contains the APIs definitions invoking Eo, the Eo functions
extracting the parameters and calling the hand written functions and
Eo structures to define the objects. These hand written functions are
located in e.g evas_object_line.c.
- the .eo.h contains the APIs and Eo prototyes.

We will continue with the other objects. If you note something wrong,
please update us asap:
daniel.zaoui@samsung.com
yossi.kantor@samsung.com
2014-03-06 15:12:51 +02:00
Chris Michael bdee3c1ed6 evas-drm: Add buffer manager file to build order
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-06 09:26:03 +00:00
Chris Michael e870bca601 evas-drm: Add Evas_Engine_Drm header to source files
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-02-28 13:11:54 +00:00
Chris Michael b36adec952 evas-drm: Add evas_drm to build order for Evas drm engine
@feature: Add evas-drm engine to Evas

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-02-28 13:08:00 +00:00
Snacker (Vladimir) 8e17290f19 @feature - Apply NEON intrisics improvement to rotation 2014-02-28 07:04:52 +09:00
Jean-Philippe Andre 18a7939f41 Evas filters: Add render test cases with pixel verification
Force render into an Ecore_Evas, and check that the pixels
are valid:
- Not all transparent (can't really happen)
- Not all black (since there's a black rect behind the text)
- All valid premultiplied values (A >= R,G,B)

Yes, it's a bit slow. But at least it really checks something :)
2014-02-20 13:27:43 +09:00
Jean-Philippe Andre 78c7931575 Evas filters: Add test cases for the script parser
Basic syntax checks and instructions coverage.
2014-02-20 13:27:42 +09:00
Carsten Haitzler 3fe36441ef fix distckeck for filter 2014-02-08 12:03:44 +09:00
Jean-Philippe Andre d9fb0cdc34 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.
2014-02-07 17:33:17 +09:00
Jean-Philippe Andre 7000907cd3 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.
2014-02-07 17:33:17 +09:00
Jean-Philippe Andre 98f745d140 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
2014-02-07 17:33:16 +09:00
Jean-Philippe Andre d8301fae6e 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.
2014-02-07 15:38:42 +09:00
Carsten Haitzler 86a97efeea evas - fonts - move to using 4bit and rel 4 bit compressed font glyphs
this changes the internal encoding of font glyphs in evas to use 4bit
uncompressed if small, or 4bit rle (run length encoded) if larger.
this caves at least 50% of memory on fonts - and more if bigger. with
large fonts (40-80pixel size) we can save in the region of 80% of
memory used for glyphs. this also happesn to allow speedups in
rendering too.
2014-01-13 05:15:32 +09:00
Carsten Haitzler eed4526003 first steps to rewriting evas render... a long path. 2013-12-19 22:49:43 +09:00
Tom Hacohen 1b51bc256b Evas tests: Add canvas free with ref tests.
This should check test for the issue fixed in:
bb4a19b5ad
8bba92fbca
2013-11-26 12:27:31 +00:00
Jean-Philippe Andre 71fdd0d342 evas/cserve2: Add SHM debug tool (CLI)
Prints out the content or the shared index.
Does not need any socket connection to the server, read-only.
2013-10-28 15:47:14 +09:00
Jean-Philippe Andre 07fb7172d5 evas/cserve2: Implement shared index and buffers
Only import the C file for now.
Implement the following features:

- Shared Arrays
Store arrays of elements of fixed size in shm.

- Shared Mempool
Store random sized buffers in shm.
These buffers are indexed in a Shared Array and are
referred to using their index only.

- Shared Strings
Store strings in a shm in a way similar to Eina_Stringshare
(except strings are referred to using an int index).

- Include evas_cserve2_index.c to the compilation.
- Declare shared index functions in header file.
- Call init() and shutdown() on the shared index subsystem.
- Add find and foreach functions
2013-10-28 15:47:12 +09:00
Vincent Torri 3b8b2ac66c evas: add JPEG 2000 loader.
This add finally support for JPEG 2000, but be aware that libopenjpeg
is very badly managed. There is currently only version 1.5.x that does
provide the right files, is usable by a third party and portable. You
can seriously forget any other version.
2013-10-01 16:38:44 +09:00
Jean-Philippe Andre ca5d174568 evas/cserve2: use Evas_Image_Load_Opts directly
Image_Data contained a similar struct to the standard Evas struct,
let's not duplicate it uselessly.
2013-07-04 13:02:48 +09:00
Jean-Philippe Andre 344eae9cbd evas: fix build when png12 is not around. 2013-07-03 10:09:31 +09:00
Jean-Philippe Andre 9bdf55da57 evas: fix build
Build may fail when using parallel compilation (-j)
Add EET as a dependency of cserve slave
2013-07-02 19:00:55 +09:00
Jean-Philippe Andre 8db3d4d2bf evas/cserve2: remove dead code (old loaders API).
Remove: cserve-specific loaders and deprecated code.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:10 +09:00