Commit Graph

1043 Commits

Author SHA1 Message Date
Andrii Kroitor adff9e013d evas_events: fixed keyup with modifier
Summary:
removed check that disallows exact modifiers set.
I.e. if we need Ctrl+s without any other modifiers:

mask = evas_key_modifier_mask_get(obj, "Control");
evas_object_key_grab(obj, "o", mask, ~mask, false);

This works with keydown, but was broken with keyup.

Reviewers: cedric, seoz, Hermet, raster

Subscribers: cedric, reutskiy.v.v

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Signed-off-by: Carsten Haitzler (Rasterman) <raster@rasterman.com>
2014-09-24 11:43:37 +02:00
Mike Blumenkrantz 5375e154fe fix config.h inclusion across the tree 2014-09-23 15:56:46 -04:00
Sebastian Dransfeld 2690080c2d Evas: Fix crash in hide
During E shutdown I often get a crash here, so check if we have an evas.

@fix
2014-09-18 10:48:50 +02:00
Daniel Kolesa f86c2d4e5a eolian: remove accessor params feature
Temporarily replace it with @const_get and @const_set tags in values section.
2014-09-10 15:06:43 +01:00
Daniel Kolesa 4875123472 eo: update the EFL to use builtin complex types 2014-09-09 14:21:39 +01:00
Srivardhan Hebbar 65ad94bac4 Documentation: Adding documentation for evas_object_textblock structures.
Summary:
This is a fix to one of the FIXME in the code, evas_object_textblock.c

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: herdsman, tasn

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1383
2014-09-08 12:18:54 +01:00
Cedric BAIL 532c598557 evas: agressively freeze events on calculate callback and clear. 2014-09-06 15:10:36 +02:00
Cedric BAIL 563bf84388 evas: let's freeze the canvas, shall we ?
This is a critical performance issue that was introduced during our move
to eo2. This code was still eo1 style so I guess it was just forgotten.
The result is that canvas with large numbers of widget were slower after
the migration.

@fix
2014-09-06 15:10:36 +02:00
Youngbok Shin 05a5b4e1b9 evas: remove duplicate function call in evas_shutdown().
Summary:
evas_font_dir_cache_free() is called twice in evas_shutdown().
evas_common_shutdown() will call evas_font_dir_cache_free().

Test Plan: NONE

Reviewers: tasn, woohyun

Subscribers: herdsman, cedric

Differential Revision: https://phab.enlightenment.org/D1417
2014-09-05 09:10:04 +01:00
ChunEon Park 3e8ddb1bfb Revert "evas: Evas_3D - add .eet export/import"
This reverts commit 9ebb28e3d6.

I didn't mean pushing this patch...
sorry.
2014-09-03 21:30:17 +09:00
Dmytro Dadyka 0d2f4dbc11 [Evas/evas-3d] Add shadow maps. Added two scene-API functions for enable and disable shadows on the scene. Added 6 light-API function for set and get the light projection.
Reviewers: raster, cedric, Hermet

Subscribers: raster, cedric

Differential Revision: https://phab.enlightenment.org/D1330
2014-09-03 21:19:16 +09:00
ChunEon Park d1dd349feb Merge branch 'master' of ssh://git.enlightenment.org/core/efl 2014-09-03 21:05:27 +09:00
Daniel Zaoui ffa9ad7daf Eolian/Generator: support params initialization.
This is needed when get properties or methods have to return a
value in case of failure or to initialize parameters.
The way used is to generate an intermediate function that will
initialize the parameters and then invoke the "user" function.
2014-09-03 08:36:20 +03:00
ChunEon Park bf1ac534d3 Merge branch 'master' of ssh://git.enlightenment.org/core/efl 2014-09-03 10:57:38 +09:00
Cedric BAIL 5bac48a79d evas: actually just define the right number of events. 2014-09-02 16:03:45 +02:00
Cedric BAIL c0701f38a0 evas: forgotten evas canvas event EVAS_CANVAS_EVENT_DEVICE_CHANGED. 2014-09-02 15:35:14 +02:00
Youngbok Shin 15281561e5 evas textblock: fixed ellipsis character cut off issue with complex markup text.
Summary:
Evas Textblock ellipsis is handled in a item.
When the ellipsis item is added in the text, some characters are cut off
considering width of ellipsis character.
But, it is handled in only one text item.
If there are many short text item, the ellipsis item can be cut off visually.
And there was a bug in the patch when text is displayed in two lines or more.
The bug is also fixed.

Fixes Phab ticket T1213

@fix

Test Plan: This commit includes test case.

Reviewers: woohyun, seoz, sohyun, tasn, raster

Subscribers: cedric, herdsman

Differential Revision: https://phab.enlightenment.org/D1360
2014-09-02 11:47:36 +01:00
ChunEon Park e56199b626 Merge branch 'master' of ssh://git.enlightenment.org/core/efl 2014-09-02 10:00:11 +09:00
Daniel Kolesa 46715c3574 eolian: move efl eo files over to the new ctor syntax 2014-09-01 15:53:35 +01:00
Bogdan Devichev 9ebb28e3d6 evas: Evas_3D - add .eet export/import
Summary: The first version of .eet format is added.

Reviewers: Hermet, raster, cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1307
2014-09-01 22:43:16 +09:00
ChunEon Park 4cc893f0af evas/render: don't make children active unless the active object has the proxies.
the src change sholud be true only if the object has any proxies.
otherwise, the children will be pushed in active objects unnecessarily.
2014-09-01 19:54:21 +09:00
Carsten Haitzler 637fe65e98 evas 3d - fix mesh saver lack of check for fopen failure
fix CID 1222456
2014-09-01 19:40:47 +09:00
Daniel Kolesa 3e5da03f7d eolian: update virtual to the new syntax (as per wiki) 2014-08-29 11:40:29 +01:00
Daniel Kolesa 77d148cec9 eo: migrate constructors sections to constructing methods 2014-08-27 15:43:47 +01:00
Carsten Haitzler 27ae94596f evas textblock - fix inconsistent ascent/descent return ptr checks
ascent/descent are always non-null in usage of
_layout_item_ascent_descent_adjust() so don't check for them.

fix CID 1099704
2014-08-27 17:37:01 +09:00
Carsten Haitzler e17a028e43 evas - fix possible bitshift bug
CID 1232725 1232724 1039319 1039318
2014-08-27 16:54:09 +09:00
Carsten Haitzler efb4535807 evas 3d - fix possible divide by zero
fixes CID 1216432
2014-08-27 16:48:40 +09:00
Carsten Haitzler 144a92105c evas async events fd - check fcntl return
fix CID 1039684
2014-08-27 16:39:09 +09:00
Carsten Haitzler 4fd102c866 evas - async events fd - check fcntl return
fix CID 1039683
2014-08-27 16:37:45 +09:00
Carsten Haitzler 5ca08e65d8 evas render - checking if can overlay was broking checking parent maps
brought out by CID 1039454 - fix!
2014-08-27 12:46:43 +09:00
Carsten Haitzler 6c758594a7 evas - table - fix copy and paste bug in table min size limiting
logically dead code find pointed out a bug in min size limiting in
homogenouse table layout in evas - fix CID 1039457
2014-08-27 12:39:51 +09:00
Carsten Haitzler 2fe5b511fd evas - grid - remove logically dead code
remove extra priv check that is not needed in grid - CID 1039458
2014-08-27 12:36:46 +09:00
Carsten Haitzler 783f81a25f evas - whitespace fix 2014-08-27 12:21:23 +09:00
Cedric BAIL 8803a8f46c evas: Evas_3D - fix forgotten initialization. 2014-08-25 19:04:12 +02:00
Carsten Haitzler 2a580c1665 evas textblock - remove unused pointer
fixes CID 1039479
2014-08-25 13:17:02 +09:00
Carsten Haitzler 24ad46488f evas font dir - remove unused pointer
fixes CID 1039480
2014-08-25 13:05:21 +09:00
Carsten Haitzler 58fed21414 evas - fix possible layer null access in object free
fixes CID 1039409
2014-08-22 20:14:59 +09:00
Carsten Haitzler 1c82a88d6e evas text - deal with possible null text in layout
fix CID 1039408
2014-08-22 20:14:59 +09:00
Carsten Haitzler 48f45da5fb fix possible integer overflows with bitshift
these are very unlinkely, but in theory possible so check return value
and don't use an invalid bitshift.

fixes CID 1039318 and CID 1039319
2014-08-22 20:14:57 +09:00
Tom Hacohen fe374084ed Efl interfaces: Add text interface and start using it. 2014-08-21 11:02:11 +01:00
Tom Hacohen 69219fe1e2 Efl interface: Add image interface and start using it. 2014-08-21 11:02:11 +01:00
Tom Hacohen 500c4019dd Interface file: Update file interface and use it for image. 2014-08-21 11:02:11 +01:00
Tom Hacohen ceada9523f Efl interfaces: Drop interface namespace from the used interfaces.
We don't need this namespace, it just makes the names long and complicated.
2014-08-21 11:02:11 +01:00
Tom Hacohen bf55348a92 Efl interfaces: Start using the text_properties interface. 2014-08-21 11:02:11 +01:00
Daniel Kolesa 459638c2b9 eolian: more consistent syntax
"legacy foo" is now "legacy: foo" and "return foo" is now "return: foo".
2014-08-21 09:26:03 +01:00
Tom Hacohen 1fcbd88e6d Evas textblock: Remove unused function. 2014-08-20 17:08:28 +01:00
Tom Hacohen 841191d907 Evas textblock: Fix BiDi text cut-off at the edges.
This patch fixes an issue causing text to be cut off in some cases.
The problem was that we were calculating line width and alignment before
we did any bidi calculations, which in turn caused us to use the wrong
text items for those calculations.

Many thanks to Daniel Hirt for investigating this deeply, finding all
the nitty-gritty and generally pointing me to where the problem is.
Daniel also provided the test case.
His patch (D1291) was close, but not enough.

Fixes T1496

@Fix
2014-08-20 15:10:23 +01:00
Carsten Haitzler 9a91261a4e Revert "evas textblock: fixed ellipsis character cut off issue with complex markup text."
This reverts commit d408408283.

this breaks mult-line "long" filenames in efm. 2nd line is just ...
for almost all of them (ones that are actually in need of 3 or more
lines). break break! REVERT!
2014-08-20 12:03:14 +09:00
Youngbok Shin d408408283 evas textblock: fixed ellipsis character cut off issue with complex markup text.
Summary:
Evas Textblock ellipsis is handled in a item.
When the ellipsis item is added in the text, some characters are cut off
considering width of ellipsis character.
But, it is handled in only one text item.
If there are many short text item, the ellipsis item can be cut off visually.

Fixes Phab ticket T1213

@fix

Test Plan: This commit includes test case.

Reviewers: woohyun, seoz, sohyun, tasn

Subscribers: herdsman, cedric

Differential Revision: https://phab.enlightenment.org/D1311
2014-08-19 15:20:35 +01:00
Carsten Haitzler 45ccffa837 evas - fix access of NULL evas in layer for change.. on shutdown 2014-08-19 18:00:42 +09:00
Carsten Haitzler faaaf55f7a evas images - animated gifs
there are deep down bugs in evas with animated gifs. espeically if you
have multiple instances of the same gif, but for now let's just
address the problem where we have entire frames of animation
vanishing. this is because the animation frame set failed and thus
didnt notify the rest of evas. have it ignore this fail for now so
things work out.
2014-08-18 18:01:51 +09:00
Carsten Haitzler 0987f06e6b evas text - fix text object expanding when it gets some unicode in it
the text object walked all text items and took the biggest. when that
big item used some fallback font that didnt match the primary font in
ascent/descent etc. things went wrong - text expanded when not
expected to. this makes text objects just use the primary font
ascent/descent metrics and fixes e titlebar magically expanding thus
compressing window content when not expected.
2014-08-17 22:22:44 +09:00
Carsten Haitzler 4b431d3638 evas font - fix null access of font format possibility
this fixes NULL access in CID 1099705, 1099703, 1099704
2014-08-14 18:14:08 +09:00
Carsten Haitzler b25c416b14 evas 3d - remove logically dead code
coverity is right. this code is misleading - fixes CID 1210806
2014-08-14 16:35:57 +09:00
ChunEon Park b179c1d82e evas/proxy: When src object has no proxies, redraw flag is set for EINA_FALSE.
[Problem] When obj which has src object(proxy concept) are excluded from render_object,
src object's 'proxy.redraw' isn't change although src obj have not proxies.
because 'proxy.redraw' flag is changed to EINA_FALSE only in obj's subrender() called.

[Resolution] When the count of source obj's proxies is 0, src obj's 'proxy.redraw' is set for EINA_FALSE.

Signed-Off-By: Min Kyoung Kim <mer.kim@samsung.com>
2014-08-14 15:29:26 +09:00
Hosang Kim b4d013d2ec Grid: fix a mirroring bug
Summary:
When the grid is mirrored, originally code is just changed (x1,y1) to (x2,y2).
I fix calculate logic for the x-axis.
@fix

Test Plan:
1. elementary_test -> grid
2. click UI-MIRRORING toggle

Reviewers: Hermet, woohyun, raster, seoz

Reviewed By: seoz

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1325
2014-08-14 11:14:49 +09:00
Carsten Haitzler cb2f558ecf evas 3d - fix divide by zero issue from coverity
this fixes CID 1216432
2014-08-13 23:50:49 +09:00
Carsten Haitzler 72f1a2600b evas 3d - fix error handling for ftell from coverity
coverity was right again - CID 1222453 - fix.
2014-08-13 20:57:33 +09:00
Carsten Haitzler dad62cc323 evas 3d - fix null access for fopen on 3d mesh save
this fixes CID 1222455 yes fopen for write may fail!
2014-08-13 20:54:32 +09:00
Carsten Haitzler 0d05039f37 evas key bitshifts for 64bit type - fix.
coverity is right. this is another set of thse bitshift problems with
unsigned long long. fix 1224346, 1224345, 1224344 1224343 and 1224342
2014-08-13 20:49:36 +09:00
Carsten Haitzler fa5b052911 fix coveirty range complaint on modifer bit mask
this fixes CID 1224356, 1224355, 1224354, 1224353 and 1224352
2014-08-13 20:21:14 +09:00
Carsten Haitzler d539152156 address non nul terminated string due to strncpy
this addresses CID 1230994. as such  eina_unicode_unicode_to_utf8()
always returns a nul terminated string. so it's guaranteed. but yes -
if string is 7 bytes or longer it will not put a nul byte on the
destination. as such for a single unicode char this can never happen
as in utf8 it's 6 bytes. but since eina_unicode_unicode_to_utf8()
safely returns a nul terminated string at all times - we can just use
strcpy safely. no need for strncpy. also handle null return from
eina_unicode_unicode_to_utf8()
2014-08-13 09:03:02 +09:00
Tom Hacohen 90c0eb15a4 Evas textblock: strcpy->strncpy (although the buffer is always big enough).
Many tools will complain about the use of strcpy, and it's not that hard to use
strncpy anyway.

CID1039581.
2014-08-12 10:11:41 +01:00
Tom Hacohen 1d6960867d Evas textblock: remove checks for impossible null derefs.
This improves code clarity based on input from coverity.

CID1190401
CID1190402
2014-08-12 09:52:18 +01:00
Tom Hacohen c746d4b181 Evas text: fix text object size with empty texts.
@fix.
2014-08-11 13:33:26 +01:00
Jaehyun Cho b3d900e748 evas: Fix not to clean and re-render if position of object enabled map is changed
Summary: Fix not to clean and re-render if the position of an object enabled map is changed.

Reviewers: raster, cedric, Hermet

Reviewed By: Hermet

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1220
2014-08-07 15:32:40 +09:00
Youngbok Shin 7a87f322f4 textblock: Update visual_pos before calling _size_native_calc_line_finalize.
Summary:
In items loop of _size_native_calc_line_finalize,
last_it should be replaced with new item according to position.
But, visual_pos is not prepared and it is always zero in the function.
So, we need to update visual_pos.
And when textblock only has LTR text,
we can replace last_it according to item list sequence.
@fix

Test Plan:
It includes test cases using the following test case.
 1. "i<b>。</b>"
 2. "。<b>i</b>"

Reviewers: seoz, woohyun, sohyun, tasn

Subscribers: raster, herdsman, cedric

Differential Revision: https://phab.enlightenment.org/D859
2014-08-06 10:40:02 +01:00
Cedric BAIL d52f122db4 evas: fix evas events order and count.
Before this patch, if you were hooking to any event above
EVAS_OBJECT_EVENT_IMAGE_PRELOADED you will end up receiving another
event instead and be fooled into receiving the right one.

In the mean time I did discover that our table is missing one item, the
equivalent to EVAS_CALLBACK_DEVICE_CHANGED. I don't know how to properly
fix that one for now, so put NULL instead to at least avoid a random
memory access.
2014-08-06 10:37:09 +02:00
Youngbok Shin 1984961ba6 evas/textblock: fix to keep original format when a markup tag is matched to a style tag.
Summary:
We can define a style tag as opener, closer and own closer.
If there is a markup tag that is matched to style tag,
it is reprocessed to format node inside of textblock.
But, when the format node will be converted to markup text,
'/' character can be appended to text at closer and own closer style tag.
Even if original markup tag does not has '/' character,
it will be appended according to format node information.

It makes some issue when compare input text with output text.
@fix

Test Plan: This commit includes test case.

Reviewers: woohyun, raster, sohyun, tasn

Subscribers: herdsman, cedric

Differential Revision: https://phab.enlightenment.org/D1037
2014-08-05 10:26:05 +01:00
Thiep Ha 104f04eda1 Evas textblock: Correct word start/end moving at new line or line begins with spaces
Summary:
Word start/end works incorrectly when it goes to new line or line begins with spaces.
Ex: In elementary_test/Entry, place cursor at the end of line, press ctrl + right arrow keys: cursor moves to begin of next line. In this case, cursor should move to end of 1st word in next line.
Ex2: In elementary_test/Entry, add some spaces to begin of 2nd line ("   uses markup"), place cursor at the first word ("uses"), press ctrl + left arrow keys twice, cursor moves to begin of 2nd line. In this case, cursor should move to begin of last word in 1st line.

This patch provides a fix by considerring next/previous text node to move cursor to correct place.

@fix

Reviewers: woohyun, raster, tasn

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1140
2014-08-04 11:01:51 +01:00
Carsten Haitzler 2b3998cced add evas changed get in order to help fix ecore-evas bug
this does add an api, but it is to fix another bug in ecore-evas
2014-08-02 13:15:59 +09:00
Thiep Ha 808202e6af Evas textblock: Fix memory leak
Summary:
In evas_textblock_cursor_word_end function, the breaks' memory is allocated but not freed when cursor position is equal to text length.
Fix: Remove memory allocating.

@fix

Reviewers: raster, tasn

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1225
2014-07-25 16:06:37 +01:00
Daniel Kolesa d8e54e2636 eolian: use new syntax for const methods as per wiki 2014-07-22 17:13:24 +01:00
Cedric BAIL 0daff5e524 evas: do check visibility flag early to not propagate show/hide when not needed.
This should be a proper fix instead of D1217
2014-07-22 16:12:36 +02:00
Daniel Kolesa 3798eb2f99 eolian: move eina types to namespaced syntax 2014-07-21 16:30:23 +01:00
WooHyun Jung ad8daa2f84 evas: table - when colspan(rowspan) is over 2, padding size should be added.
@ fix
2014-07-19 09:50:59 +09:00
Daniel Kolesa fa3e433f6e eolian: disallow the data field in interfaces; it's always null 2014-07-18 17:29:35 +01:00
Carsten Haitzler c11592fb6a evas - render2 - now finally tracking updates right. map/proxy not done 2014-07-18 16:56:20 +09:00
Carsten Haitzler bed30a7eb9 evas - more render2 work - follows smart children now 2014-07-18 16:51:07 +09:00
Carsten Haitzler 6bf45900c8 more work on render2 - still not working with smart objects 2014-07-17 22:53:37 +09:00
Carsten Haitzler 8b2f042477 oops - remove printf that snuck in from dev 2014-07-16 22:09:41 +09:00
Carsten Haitzler f5221b9cfb evas - work on evas render2 and begin making it work at all 2014-07-16 20:43:32 +09:00
Vyacheslav Reutskiy 8ee6e168de evas: mark the evas text object as dirty, when text style is changed.
@fix
2014-07-16 14:30:51 +03:00
Vincent Torri 9631585f24 efl: remove Windows CE support 2014-07-13 15:17:17 +02:00
Daniel Kolesa c9744596de eolian: builtin bool type, and change the eo files to use that 2014-07-11 14:40:49 +01:00
Chris Michael 3d1f009a58 evas-3d: Add missing EINA_UNUSED to unused function parameter
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-07-08 14:43:29 -04:00
Dmytro Dadyka 8e496570a7 evas: Evas_3D - add fog effect. add two API function for enable and disable fog effect for given mesh.
Reviewers: Hermet, raster, cedric

CC: cedric

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

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
2014-07-07 19:26:48 +02:00
Daniel Kolesa 39aad55991 eolian: support for void as separate type type 2014-06-30 23:07:32 +01:00
Tom Hacohen bd41cfe9ea Evas: Fix object_top_at_pointer_get().
I accidentally changed that function in a previous commit.

Thanks to davemds for reporting.
2014-06-30 19:31:07 +01:00
Tom Hacohen 14ce09686a Evas object eolian: Fix namespace. 2014-06-30 17:47:07 +01:00
Tom Hacohen 25ef15dedc Evas object smart eolian: Update namespace. 2014-06-30 17:47:07 +01:00
Tom Hacohen 37bc841fcc Evas smart clipped eolian: Update namespace. 2014-06-30 17:47:07 +01:00
Tom Hacohen 896ef1a588 Evas eolian: Fix namespace for many more classes. 2014-06-30 17:47:06 +01:00
Tom Hacohen 7f3a44894b Evas canvas eolian: Fix namespace and class name for the evas canvas. 2014-06-30 17:47:06 +01:00
Tom Hacohen c19948c2cf Eo (base class): Fix .eo file to have proper namespacing for the class naem. 2014-06-30 17:47:06 +01:00
Daniel Kolesa 363d2362f2 eolian: remove all occurences of unsigned 2014-06-30 17:20:38 +01:00
Daniel Kolesa 8221e9dd45 eolian: modify all eo files according to the new type syntax 2014-06-30 17:20:38 +01:00
Jean-Philippe ANDRE d589e760d3 Evas map: Add missing EINA_MAGIC check 2014-06-22 18:12:01 +09:00
Daniel Kolesa 43e2349203 eolian/generator: public api func name deduplication, spank tasn if it breaks 2014-06-20 17:09:03 +01:00
Daniel Kolesa 3acbdaa8c7 eolian: mark all methods/properties in interfaces as virtual by default and disallow everything but class.(con|de)structor in their implements 2014-06-20 12:24:10 +01:00
Savio Sena 71c1482827 Evas/Eolian: Eolian'ized Evas_Object events.
Summary:
The event descriptions of Evas_Object were hardcoded instead
of declared in evas_object.eo and thus no binding could be aware of
their existence.

Note: Evas_Canvas events were left as is.

Reviewers: cedric, tasn, q66, JackDanielZ

Reviewed By: q66

CC: felipealmeida, raster, smohanty, cedric

Differential Revision: https://phab.enlightenment.org/D1065
2014-06-20 10:55:57 +01:00
Daniel Kolesa e9f4890747 eolian: fix end-of-file checking, move namespaces from :: to . 2014-06-20 10:46:04 +01:00
Jean-Philippe Andre 10e8b72667 Evas: Fix potential memory leak (save with encoding) 2014-06-18 16:28:37 +09:00
Daniel Hirt 2b40860f78 Evas/Textblock: Introduce PS deletion bug test and fix
Summary:
This test should make the test suite fail. It sets "a<ps>b" and
"a<ps/>b" markups, and deletes the PS format. Essentially, these two
different markups should have the same result by this deletion. Instead,
only the <ps/> format gets deleted properly.
A follow-up commit is added with this as a fix.

Evas/Textblock: fix deletion of PS bug

Fixes an issue with deletion of "<ps>". Format deletion was only
performed for formats that are own-closers. This sets the paragraph
separator to be an own-closer format.

@fix

Reviewers: tasn

Reviewed By: tasn

CC: JackDanielZ, id213sin

Differential Revision: https://phab.enlightenment.org/D1046
2014-06-17 11:11:33 +01:00
Tom Hacohen 1d52065438 Evas textblock: Fix issue with edje fonts not being used.
The issue was within the fontconfig fallback mechanism and our cache. We
used to just use the fontconfig fallback list, instead of also using the
correct edje font.

This can probably be improved a bit by not caching the fontconfig set,
but cache a list of the filenames instead. This is more generic and will
improve cache as well.

Fixes T1331

@fix
2014-06-13 15:29:59 +01:00
Jean-Philippe Andre d0d9dbfdba Evas: Add encoding parameter to the savers
ecore_evas_convert: Add -e/--encoding option

This uses directly the encoding parameter.
For now, used only by the TGV saver, but there is no other way
to specify between ETC1 and ETC2. And we don't have a mixed ETC1+2
mode (yet).

@feature
2014-06-13 16:05:48 +09:00
Carsten Haitzler 2f2def0861 evas 3d - fix uninitialized orientation var 2014-06-12 12:40:25 +09:00
Jean-Philippe Andre c99449ea09 Evas filters: Allow use of a color multiplier
We couldn't do evas_object_color_set() on a filtered text
object simply because the color was not properly taken into
account.

This should simplify some effects as it'll be much easier to
set a color or alpha value to the text regardless of the filter.

Hmm, is this a fix or feature? O_o
2014-06-12 10:59:56 +09:00
Youngbok Shin f7cf96d4d9 evas/textblock: check item's type before returning result.
Summary:
When format item is cut off by ellipsis, result of "_find_layout_item_line_match"
can be TEXT type item. And it keeps ellipsis item's information.
@fix

Test Plan: D974

Reviewers: woohyun, tasn

CC: cedric, herdsman

Differential Revision: https://phab.enlightenment.org/D975
2014-06-10 15:08:09 +01:00
Daniel Zaoui d668a0a726 3d: Fix shadow declaration 2014-06-08 12:40:42 +03:00
Bogdan Devichev 700f4396e1 evas: Evas_3D - add .obj export/import.
@feature

Reviewers: raster, Hermet, cedric

Reviewed By: cedric

CC: cedric

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

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
2014-06-05 20:49:26 +02:00
Oleksandr Shcherbina a25aa1aa1a evas: Evas_3D - Revision frustum culling.
Summary:
Add API that checks OBB's points of node are inside frustum of camera.
Add example with frustum culling.

@feature

Reviewers: Hermet, cedric, raster

CC: cedric

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

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
2014-06-04 19:55:34 +02:00
Cedric BAIL 21e7a3aed9 evas: check that we don't use a NULL pointer on wrong frame number.
CID 1220083
2014-06-04 01:18:51 +02:00
Tom Hacohen 0fc3279db9 Efl: Update code to use the new class names generated by eolian. 2014-06-03 11:28:01 +01:00
Tom Hacohen d9263e6571 Eo base: rename event_freeze_get to event_freeze_count_get.
This is needed because of a possible clash between the method event_freeze
and the property event_freeze with bindings.
2014-06-02 12:50:23 +01:00
Guillaume Friloux 91afb45cd0 Fix warning with -Wincompatible-pointer-types-discards-qualifiers 2014-05-30 10:43:54 +02:00
ChunEon Park 6f1f49b4f6 evas/evas_3d: fix implicit declaration function call.
Thanks JackDaniel for reporting.
2014-05-30 08:46:16 +09:00
Daniel Hirt 177135ff0d Evas/Textblock: add support for ellipsis values
Summary:
This enables textblock to support more values other than 1.0.
For 0 <= ellipsis < 1.0, it splits the text such that it fits the
textblock's width. The ellipsis is relatively position according to the
ellipsis value, and characters are removed also relatively.
For example, a value of 0.5 will position the ellipsis right in the
center of the textblock's width, while removing characters equally right
and left from the center.

Basic approach to this feature was to do some work before the layout
process. We calculate the expected total width of the items, and by how
much we exceed from the textblock's width. Afterwards is it just some
careful work to set the boundaries of the width we want to cut, and
deciding which characters we need to removed to fulfill this requirement.
The rest is splitting the text and visually-removing the part we
need to cut.
This is all handled before any logical lines are created, so the
_layout_par function remains almost intact. A designated _ellip_prev_it
field in the Paragraph struct instructs after which item we place the
ellipsis item, if at all.

Note that we keep the fast path for ellipsis 1.0, as heavier work needs
to be done for the other values.

Added tests to evas_suite for a range of ellipsis values.

Also, multiline is unsupported at the moment.
@feature

Test Plan: Anything that uses Evas Textblock (single-line, please)

Reviewers: tasn, id213sin, raster

CC: cedric, JackDanielZ, raster

Differential Revision: https://phab.enlightenment.org/D905
2014-05-29 15:52:01 +01:00
Daniel Zaoui b9b5fe5744 Evas_3d: fix warnings. 2014-05-29 09:58:27 +03:00
Tom Hacohen c58b3401c3 Eo/evas events: Move legacy events dynamic generator to eo. 2014-05-28 12:28:17 +01:00
Carsten Haitzler cedfc6e49e warning-- 2014-05-28 18:26:51 +09:00
se.osadchy 0bc5d3176a [Evas/evas_3d_scene] Propagate events.
Summary: Add 3 new APIs function for full work of the picking nodes.

Reviewers: Hermet, cedric, raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D889
2014-05-28 18:24:58 +09:00
ChunEon Park b61b1c9412 evas/textblock - apply efl coding style. 2014-05-28 14:19:46 +09:00
ChunEon Park fbb4d092cb evas/textblock - removed unnecessary null check.
It should be definitely valid.
It's meaningless checking the value there.
2014-05-28 14:14:35 +09:00
ChunEon Park e973390f64 evas/textblock - null check format.
logically it's insane that it doesn't check the null there but it checks right next line.
2014-05-28 14:09:34 +09:00
Jaehyun Cho eee9607a4b evas_font_dir: Prevent the use after free
Summary: Pointer fd is used after being deallocated.

Reviewers: Hermet

Reviewed By: Hermet

CC: seoz, cedric

Differential Revision: https://phab.enlightenment.org/D906
2014-05-28 11:24:34 +09:00
Tom Hacohen cf4ad9328a Evas textblock: Fix wrong advance calculation when bidi is disabled.
The last_it was not updated correctly with bidi disabled.

Thanks to Daniel Hirt for spotting this.

@fix
2014-05-27 14:20:18 +01:00
Oleksandr Shcherbina e47373aee1 [evas/evas-3d] Add OBB and AABB.
Summary: Add axis-aligned bounding box (AABB) to frame. Set and update AABB and oriented bounding box (OBB) in node.

Reviewers: Hermet, cedric, raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D881
2014-05-27 22:07:29 +09:00
Youngbok Shin bc70a1bd84 evas/text: fix abnormal ellipsis logic when harfbuzz is enabled.
Summary:
text_props.len indicates visual length from harfbuzz logic when it is available.
But, input pram "idx" is logical length. So, ellipsis works abnormally in some case.
@fix

Test Plan: D870

Reviewers: tasn, woohyun

CC: cedric, herdsman

Differential Revision: https://phab.enlightenment.org/D871
2014-05-21 10:41:29 +01:00
ChunEon Park c3cd680fad evas/render - fix segfault because of null cow access.
issue ticket: T1252

@fixed
2014-05-19 22:45:46 +09:00
ChunEon Park d497cd4364 evas/evas3d: reset image properies if the image is used for scene. 2014-05-12 19:55:47 +09:00
ChunEon Park 97c7f36a50 evas/evas3d: discard proxy textures list properly.
this fixes evas-3d-proxy example to be exited correctly.
2014-05-12 16:47:54 +09:00
ChunEon Park 7ef3276a66 evas/evas3d: fix proxy texture source set.
the appeneded texture should be object itself but not private data.
2014-05-12 15:42:57 +09:00
Cedric Bail 2042bdf922 evas: fix uninitialized value in Evas_3D.
CID 1211986.
2014-05-10 12:04:12 +02:00
Cedric Bail d36bc1f95a evas: remove left over Evas_3D public/released API. 2014-05-10 12:04:11 +02:00
Cedric Bail 45d1cd0b01 evas: fix use of uninitialized value in Evas_3D_Mesh. 2014-05-10 12:04:03 +02:00
Cedric Bail d8652193fc evas: fix uninitialized value being used when the engine doesn't support Evas_3D.
CID 1211988
2014-05-10 11:44:57 +02:00
Jérémy Zurcher f8c2c57406 do not use EINA_FALSE instead of NULL 2014-05-07 17:45:11 +02: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
ChunEon Park fac0ab79b0 evas/evas3d: exceptional handling if a camera doesn't set to a scene. 2014-04-30 20:24:20 +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 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
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 a023d3f9b9 evas/evas3d: just cleanup image code.
changed to clean efl style.
2014-04-25 17:34:53 +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
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
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 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
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 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 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
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 1563181922 Eolian: Legacy integration of Evas Rectangle, Polygon, Line, Textgrid and Textblock 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
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
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
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 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
Cedric BAIL fe2948be08 evas: let's be to safe than sorry.
Fix CID 1193214.
2014-03-20 16:50:48 +09:00
Jean-Philippe Andre 079e5d3692 Evas image: Improve diagrams in comments
Purely non functional change, for readability :)
2014-03-20 11:13:32 +09:00
Yossi Kantor de0c0f0fd8 Eolian: Added class constructor delegate to Evas Box 2014-03-19 07:04:28 +02:00
Daniel Zaoui 6fd341a449 Eolian: Fix ctor/dtor generation 2014-03-19 07:04:28 +02:00
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
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
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
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
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
Tom Hacohen cb9a06f550 Evas font: Don't add canvas specific path to the global fontconfig path list.
This will come back when D621 gets in (which implements it correctly).
2014-03-10 16:17:21 +00:00
Tom Hacohen d175b8aa69 Evas textblock: Fix clipping issues with some texts with width > advance.
This happens with many texts. The issue occurs when the width of the
last char is larger than it's advance. Before this patch, we didn't the
width into account when calculating width, thus causing clipping issues
in some cases.
2014-03-10 14:58:18 +00:00
Daniel Zaoui 4e33fd16e2 Eolian: add support of eo_prefix and data.
You can add in the .eo file the eo_prefix:... and data:... in case
you want to override respectively the Eo prefix and the data type.
If "data: null" is used, no data type will be added.
2014-03-10 15:07:05 +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 1d79ce75ff Evas line: Fix out of source builds.
The build system only adds top lib dir to include path, so we have to
specifically put the path there.

This should probably be fixed, so we can drop the canvas dir prefix in
our includes altogether, but until then, this is needed.
2014-03-07 09:50:17 +00:00
Jean-Philippe Andre 688c9c3676 Evas filters: Minor change (type is void*) 2014-03-07 10:39:55 +09: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
Jean-Philippe Andre 8ddfa35da6 Evas filters: Add return value in filter callback
This will inform the client whether an asynchronous filter properly
rendered or not.

I actually don't know any case where rendering can fail at runtime.
2014-03-04 15:17:11 +09:00
Jean-Philippe Andre 63a18f3fce Evas filters: Fix errors in Evas_Object::destructor
Remove invalid call to source_unset and call the appropriate
Eo evas_obj_text_filter_source_set in case of Evas_Text with
proxy sources.
2014-03-04 14:17:25 +09:00
Jean-Philippe Andre 993bd965ed Evas filters: Fix a typo (wrong value checked)
This was all a bad copy and paste :)
2014-03-04 11:52:53 +09:00
Jean-Philippe Andre e05885e0e3 Evas filters: Fallback to normal rendering in case of error
If the filters fail to render at runtime (that is, parsing went fine
but a command failed to run properly), fallback to normal rendering.
This should prevent text from disappearing when using proxies and
the OpenGL engine (for now).
2014-03-04 10:37:34 +09:00
Jean-Philippe ANDRE 83746e5629 Evas filters: fix black squares with the GL engine
If a text object changes regularily, there might be cases where
the object will be rendered as a simple black rectangle for just
one frame.

It seems that the previous output buffer is deleted before being
actually rendered on screen. This patch will delay the deletion
of the previous buffer until the current one has been rendered
to the target surface.

And again, thanks zmike for reporting.

@fix

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
2014-03-04 10:37:19 +09:00
Tom Hacohen 46361148b2 Evas textblock: Implemented mid-contextualization formatting.
There are many situations (e.g all the time with Arabic text) in which
characters change their appearance depending on the context they lie
within. Before this patch, we didn't support changing font appearance
mid-context. So for example one couldn't do "a<color=#f00>b" without
messing up 'a' and 'b's change to their contextual forms.

Although Arabic is a very good example, this also applies to Latin text
in many cases, and should fix some wrong spacing that might have
appeared when changing styles.

@feature
2014-02-28 10:47:56 +00:00
WooHyun Jung 6093e68cb0 evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.
EINA_LIST_FREE does eina_list_remove_list, and clip_unset does
the same thing to the same list pointer. So, EINA_LIST_FOREACH_SAFE
is proper for this case.
2014-02-27 10:31:42 +09:00
Jérémy Zurcher f98c1393b8 evas: rename macro EVAS_COMMON_CLASS -> EVAS_COMMON_INTERFACE as it is one 2014-02-26 16:25:00 +01:00
Tom Hacohen 0378e41958 Evas textblock: removed unused internal function. 2014-02-26 12:25:08 +00:00
Carsten Haitzler 2bb9d9563c textgrid - with new fallback fonts we cant depend on glyph extents anymore
now that glyphs can exceed the bounds of the original query for the
font, there is no pointusing max ascent/descent bounds. back to plain
ascent and decent then so you may get fewer gaps in some fonts. this
fixes font gaps consiering trying to wrk otherwise now is pointless.
2014-02-23 22:25:19 +09:00
Carsten Haitzler 8ca7a21403 textgrid - out-of-bounds chars cause update artifacts - fix.
over-redner by 1 char cell in each direction of an update region to
clean up overflow artifacts.
2014-02-23 22:11:02 +09:00
Tom Hacohen dae9eacb14 Revert "Evas font: Change font fallback to not depend on fontconfig >= 2.11."
It seems that before 2.10, this was not stable, and was causing issues
to some people. I guess we'll have to bring the dependency back, at
least until we can find a better solution.

This reverts commit ec41f67be4.

This fixes T1006.
2014-02-21 09:47:30 +00:00
Tom Hacohen 0e5d3f9b98 Evas textblock: Fixed a few word start/end issues.
Fixed issues with valgrind complaints at the end of the textblock, and
Fixed wrong jumping with some special cases like "a a a a "."

This fixes T995.
2014-02-19 14:38:06 +00:00
Youngbok Shin 2bff3d1c2e evas - Added eina_stringshare_ref call for fallbacks, lang in font description.
Summary:
When the fdesc(Font Description) is duplicated,
ref of all of stringshare pointers should be increased.
But, in the evas_font_desc_dup API, we only increased ref for name string.
It can cause some of memory issues.

Reviewers: tasn, woohyun, seoz, Hermet

CC: cedric

Differential Revision: https://phab.enlightenment.org/D570
2014-02-19 10:44:34 +00:00
ChunEon Park a739716cee evas/image - update dirty region in the render time.
this fixes the proxy rendering that sub object of the source couldn't be dirty region set.

since the object could be invisible nor won't be pre-rendered neither.

Im supposing the mapped(proxy) object rendering sequence should be totally refactored

that should be separated with the normal rendering sequence.

Until that, this change will be alternative solution.
2014-02-17 23:05:36 +09:00
Carsten Haitzler adbb8e6675 evas - table - fix theoretical leak that likely will never happen
this addresses CID 1039663
2014-02-13 19:44:40 +09:00
Carsten Haitzler 56f4035898 evas - proxy source visible check not done on update del
this fixes T842
2014-02-13 15:40:29 +09:00
Jean-Philippe Andre 56d73cb897 Evas filters: Fix warnings on shadowed variables
Also, remove globals A, R, G, B from parser.c... these are
temp variables used in a macro.

My CFLAGS didn't include -Wshadow so I missed those.
Thanks Tom for spotting :)
2014-02-12 10:36:11 +09:00
Tom Hacohen 650b0b6c64 Evas textblock: Fixed colour setting for textblock formats.
Of course Cedric introduced a bug. The bug was that the current colour context
is set to the previously selected colour, instead of the current one, which
made all colours wrong.

Fixes T926.
2014-02-10 16:49:53 +00:00
Tom Hacohen 80033e022d Evas textblock: Fix rendering of spaces in some cases.
The issue was with a textblock that's being resized and a space between formats.
The problem is, that the text would get trimmed when wrapping, and then not
restored, because it had nothing to merge to.

This fixes T924.
2014-02-10 14:17:03 +00:00
Carsten Haitzler acbcc7da6a in case font_instance is null in text_props... avoid using it 2014-02-09 19:39:30 +09:00
Chris Michael 6e1b9de112 Evas Textgrid: Don't leak an eina_stringshare when scale_update is
called.

Signed-off-by: Chris Michael <devilhorns@comcast.net>
2014-02-08 17:17:25 +00:00
Carsten Haitzler 229ee74f6c evas - textblock ... fix valign handling to actually work as documented
valign handling was really broken. this fixes it to pretty much work
again. ie 0.0 == top, 0.5 == centered, 1.0 == bottom align and -1.0
== baseline. only baseline worked before.
2014-02-08 22:54:56 +09:00
Carsten Haitzler 131fc99e79 evas text filter - fix va_arg usage to not cause compiler internal errs 2014-02-08 14:26:50 +09:00
Tom Hacohen 354691e03e Evas textblock: Fixed *_cursor_char_coord_set with some y values.
Specifically y values that are between par->y and the first ln->y.

This should fix some selection issues with elm.
2014-02-07 13:14:21 +00:00
Jean-Philippe Andre 637416d62e Evas filters: Allow calling program_set and source_set in any order
If source_set was called after program_set, then parsing would fail.
It used to work because the program was re-parsed at source_set.
Now, save the code, mark the filter as changed, and reparse again
if the source changed (keep track of invalid programs to avoid
excessive parsing).
2014-02-07 17:59:18 +09:00
Jean-Philippe Andre 9d821a402a Evas filters: Fix proxy usage (source unset)
Proxy sources & objects were not properly unset.
This results either in crashes (especially in the Edje tests)
or dangling objects with tons of references.

Remove the refcount increase/decrease, as it is redundant.
Store pairs proxy+source instead of just the source in all hashes,
so we can unset the is_proxy flag on the proxy when there are no
sources anymore.
2014-02-07 17:33:18 +09:00
Jean-Philippe Andre e112d49e0b 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.
2014-02-07 17:33:18 +09:00
Jean-Philippe Andre 28d469237b Evas filters: Avoid adding multiple sources under the same name 2014-02-07 17:33:18 +09:00
Jean-Philippe Andre 8570b38dd1 Evas filters: Rename bind to source_set
Because that's what we call it for proxy images :)
2014-02-07 17:33:18 +09:00
Jean-Philippe Andre 712566939d 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 :)
2014-02-07 17:33:17 +09:00
Jean-Philippe Andre 2e401c2e91 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.
2014-02-07 17:33:17 +09:00
Jean-Philippe Andre eea049f988 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.
2014-02-07 17:33:17 +09:00
Jean-Philippe Andre 8062df320c 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).
2014-02-07 17:33:17 +09:00
Jean-Philippe Andre f007cd5665 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.
2014-02-07 17:33:17 +09:00
Jean-Philippe Andre 0135b45c12 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].
2014-02-07 17:33:17 +09:00
Jean-Philippe Andre b54eb40006 Evas filters: Optimize Text redraw with filters
Fix case when a proxy source has changed: need to fully render
the effect again.
2014-02-07 17:33:17 +09:00
Jean-Philippe Andre 12ddad2867 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.
2014-02-07 17:33:17 +09:00
Jean-Philippe Andre 9623e1f238 Evas filters: Pass fillmode to the filters
I just need to actually implement them, now :)
2014-02-07 17:33:16 +09:00
Jean-Philippe Andre 0ad8b02c16 Evas filters: Fix compilation after merge from master
- CRIT becomes CRI
2014-02-07 17:33:16 +09:00
Jean-Philippe Andre f723d8af8f Evas filters: Fix automatic buffers with Evas_Object_Text 2014-02-07 17:33:16 +09:00
Jean-Philippe Andre 22b8377255 Evas filters: Rename Text's special_effect into filter_chain
For consistency with Textblock.
2014-02-07 17:33:16 +09:00
Jean-Philippe Andre 9da4789b66 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.
2014-02-07 17:33:16 +09:00
Jean-Philippe Andre a5abbf784e Evas filters: Add basic support for clip in blend
Right now, clip is used only when blending RGBA surfaces.
2014-02-07 17:33:16 +09:00
Jean-Philippe Andre 0450e027e7 Evas filters: Add Eo APIs and some comments
The entry points on evas text are there!
2014-02-07 17:33:16 +09:00
Jean-Philippe Andre 2928a2d2da Evas: Move _format_color_parse to common file
This (simple) code should be shared between Textblock and Filters.
2014-02-07 15:38:42 +09:00
Tom Hacohen ec41f67be4 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.
2014-02-05 13:54:41 +00:00
Tom Hacohen 9cc7e69338 Evas textblock: Improved error messages when detecting errors in markup. 2014-02-05 13:51:22 +00:00
Youngbok Shin c48c9827ff 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
2014-02-05 13:23:55 +00:00
ChunEon Park eea4fbff6a evas/map - added comment to do. 2014-02-05 20:55:38 +09:00
Tom Hacohen 17d028f944 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.
2014-02-04 10:44:11 +00:00
Tom Hacohen 1c44890491 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.
2014-02-04 10:44:11 +00:00
Carsten Haitzler ef2127c900 evas - fix tom's bold-killer from 2cb9db171e 2014-02-02 10:59:33 +09:00
Tom Hacohen 19cde8f194 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.
2014-01-29 14:36:22 +00:00
Tom Hacohen 2cb9db171e Evas font: Added support for weight/width/slant font tags.
This let's you set those directly, instead of using the style tag.
2014-01-29 14:10:43 +00:00
Tom Hacohen 22813f5b52 Evas textblock: Fix selection with bidi text.
This is a regression introduced in
548e548632.

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.
2014-01-29 13:27:45 +00:00
Daniel Juyung Seo 4b457c5f2d evas_render: avoid unnecessary assignment. 2014-01-28 01:54:49 +09:00
Carsten Haitzler aa761eaae9 evas - textgrid - clear up unused var warning 2014-01-24 10:01:23 +09:00
Jean-Philippe Andre 345c1ad26d evas: textgrid - fix crash in terminology with rare characters.
So I have a weird crash in terminology.
Reproduction path:
eet -x /path/to/elm/theme/default.edj edje/images/537

Scroll back in the terminal buffer, to show the entire file: CRASH.

Reviewers: cedric, tasn

CC: cedric, raster

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

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
2014-01-24 09:47:08 +09:00