Commit Graph

540 Commits

Author SHA1 Message Date
Rafael Antognolli d1c6266c45 evas/image: Delay some video overlay operations.
If we are running on async render, some operations must be delayed, so
they will happen at the same time that the canvas rendering result gets
updated on the window/surface.
2013-10-04 18:26:57 -03:00
Rafael Antognolli 22f9a6e8f0 evas/image: Take framespace into account when moving video surface. 2013-10-04 18:23:58 -03:00
Tom Hacohen 82f5f78dac Revert "evas/textblock - null check."
I'm sorry, but those kind of commit messages are unacceptable for code
I'm the only maintainer of. It's bad enough that to have them in the
project in general, but this I won't accept.

I wanted to review this commit, but the lack of explanation about what
you are trying to fix and why you think this is the good fix prevents me
from doing my job. However, without really looking too much into it,
this commit looks wrong. evas_textblock_cursor_format_is_visible_get
should verify there's a format node...

Please come up with a better commit message and re-commit.

This reverts commit fe33aa7408.
2013-10-03 18:45:07 +01:00
ChunEon Park fe33aa7408 evas/textblock - null check. 2013-10-04 02:43:20 +09:00
Cedric Bail 44988e4798 evas: more fix for ellipsis.
This one fix size of the object that didn't take into account the style
of the text since we added the support of ellipsis in Evas. It also
correctly detect when we insert an ellipsis in the text to relayout
properly on resize.
2013-10-02 20:57:29 +09:00
Cedric Bail 4c572c827a evas: we actually need to take those additional value into account. 2013-10-02 20:57:29 +09:00
Tom Hacohen 04b28686af Evas Textblock: Use font underline properties.
This change causes textblock to use the font properties when drawing
underline.
2013-10-02 11:46:25 +01:00
Cedric Bail 3b93896e54 evas: fix Evas_Object_Text alignment with ellipsis. 2013-10-02 11:02:05 +09:00
Cedric Bail 5487b75635 evas: fix some ellipsis case. 2013-10-01 20:45:21 +09:00
Cedric Bail 2e5a0215e6 evas: reduce number of relayout of text object to the strict minimum. 2013-10-01 16:38:47 +09:00
Tom Hacohen bb84a01f7c Evas textblock: Moved relayout checks to a function.
This cleans up the code a bit and makes it a bit simpler.
2013-09-30 16:15:16 +01:00
Carsten Haitzler a4a285089f evas - improve textblock logic to reduce num of layouts when used - faster
when using genlist and the edje item objects, there seem to be a lot
of excess textblock layouts happening. i was seeing about 12 layouts per tb
part in the edje before this patch. with this it's down to about 3.
2013-09-30 23:31:48 +09:00
Stefan Schmidt 642e4293ff evas/textblock: Remove null statement. 2013-09-30 09:48:34 +01:00
Cedric BAIL 5d37215d26 evas: let's micro optimize the parsing of format.
Only the key is worth being a stringshare as it is used to do an efficient
binary comparison instead of iterating over all possibility. Also reused
some already known value and a few other speedup.
2013-09-29 13:43:46 +02:00
ChunEon Park 3b6961e175 evas/canvas - code refactoring. more clean code. 2013-09-29 17:31:56 +09:00
Tom Hacohen 682c69764d Revert "eo: libs,test,benchmarks Eo_Class -> Eo"
This reverts commit 1714fe93f4.

We actually want this type, it makes things clearer.

Conflicts:
	src/tests/eo/function_overrides/function_overrides_inherit2.c
	src/tests/eo/function_overrides/function_overrides_simple.c
	src/tests/eo/suite/eo_test_class_simple.c
2013-09-27 16:40:32 +01:00
Jérémy Zurcher 1714fe93f4 eo: libs,test,benchmarks Eo_Class -> Eo
Conflicts:
	src/tests/eo/suite/eo_test_general.c
2013-09-27 14:01:46 +01:00
Tom Hacohen f03148f9e3 Evas font: Fixed evas_font_path_* functions to apply to fontconfig.
Until now those were only used for custom fonts, and not for fontconfig
searches. With this commit, fontconfig will also start looking in those
dirs.
2013-09-25 15:07:39 +01:00
Tom Hacohen baf018d659 Evas font: Use our own custom fontconfig config.
This will make sure people that change the default config don't affect us.
2013-09-25 15:07:38 +01:00
Cedric Bail b37494503f evas: update to new eo_parent_get/set API. 2013-09-25 13:34:18 +09:00
Carsten Haitzler b5472db51d fix if obj->layer is null during shutdown 2013-09-25 13:05:41 +09:00
Mike Blumenkrantz 21daab2c62 evas render bug--
objects that were visible and marked as "render del" rects during render are now detected when they magically change visibility during the same render loop, fixing a very hard to reproduce E19 corner case related to fullscreen client rendering with nocomp disabled

<raster> for now all i can say is "put the patch in and lets see if things break"
2013-09-24 11:34:21 +01:00
Tom Hacohen 2ab088aeea Evas textblock: Fixed native size calculation. 2013-09-23 14:37:18 +01:00
Tom Hacohen 2173652b4d Evas textblock: Fix format based line size calculation.
Format based line size modifiers were not applied.
2013-09-23 14:37:18 +01:00
Tom Hacohen cbde2bef69 Evas textblock: Fixed max descent adjustment and a related bug.
The bug caused wrong line sizing in some situations (appending new
paragraphs to a textblock).
2013-09-23 14:37:18 +01:00
Tom Hacohen 72167b9cc3 Evas textblock: Fixed ascent/descent calculation a bit more.
Separated maxascent/descent from ascent/descent even further.
Fix calculation to be based on font instance and not the font group.
2013-09-23 14:37:18 +01:00
Tom Hacohen 5adffd54e5 Evas textblock: rename maxascent/descent->ascent/descent.
Although we kinda use them as max in some situations, they are actually
just the regular ascent and descent. Following commits will make this
separation even stronger.
2013-09-23 14:37:18 +01:00
Tom Hacohen 94e6f6a5bc Evas textblock: Fix wrong line spacing when appending lines.
This fixes T397 which was introduced by commit: 4bcf4991eb.
This also fixes the issues with enventor.
2013-09-20 13:52:48 +01:00
Chris Michael a0fb1f4728 Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-17 07:41:07 +01:00
Chris Michael 24847d77dc Remove extra blank space
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-17 07:41:07 +01:00
Chris Michael d673cbc398 Readd the master clip for rendering of wayland engines.
NB: Master clip is needed so that things don't draw outside the client
area.

NB: This is a partial fix. Still a work in progress. Some remaining
issues with some various elm_tests that use evas_map.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-11 14:10:27 +01:00
Tom Hacohen c598997299 Evas object clouseau: Added object name to the property list. 2013-09-06 17:19:57 +01:00
Tom Hacohen f30be9b8ad Evas object clouseau: cleaned up the code a bit. 2013-09-06 17:19:07 +01:00
Carsten Haitzler 3f94953509 evas - fix render op reset when drawing map objs :) 2013-09-05 20:31:17 +09:00
Cedric Bail a626a91d69 evas: add evas_object_smart_iterator_new().
This is going to break Eo ABI. Rebuild all software using Eo API on top
of EFL (Elementary for example).
2013-09-05 17:16:40 +09:00
Carsten Haitzler 441f10e3ab evas - in dump also ensure an idle flush logic and proxy surface dump happens 2013-09-04 11:42:08 +09:00
Tom Hacohen bda3ceb632 Evas textblock: fixed *_markup_get issue with escaped chars.
Markup_get was misbehaving and returning wrong results with some escaped
chars. markup_to_utf8 was working correctly. Merged the code together
and now both are consistent and correct.

Thanks to WooHyun for reporting.
2013-09-03 11:50:34 +01:00
Ulisses Furquim 0af10ae93f evas/render: improve evas_render_sync()
Tracking only the async rendering canvases and just waiting for the last one
to finish rendering. This should be enough to sync all canvases since the
render thread orderly executes the commands.
2013-09-03 01:52:38 -03:00
Cedric Bail 9ac13e4aec Revert "evas/render - this is insane to me since nowhere it release the render_pre_done FALSE pairly."
This reverts commit fd7d1f9f98.

This commit is the one breaking Evas_Map use in shelf. Let's investigate why it was disable
in the first place.
2013-09-03 12:39:49 +09:00
Cedric Bail 7396dc2d89 evas: simplify logic and API signature, thanks k-s. 2013-09-03 11:08:12 +09:00
Ulisses Furquim 0c83dd806a evas/render: sync all canvases in _render_dump() 2013-09-02 20:03:23 -03:00
Ulisses Furquim 063f076aed evas/async_render: remove block/unblock of render thread.
This reverts commit 42a46214c4.
2013-09-02 20:01:37 -03:00
Ulisses Furquim 31b1cc6e3e evas/render: introduce evas_render_sync().
evas_render_sync() will loop through all canvases and wait for their
rendering to finish. Since this function will execute from the main
thread that will sync all of them.
2013-09-02 19:41:32 -03:00
Cedric Bail a007a3af13 evas: focus_set can fail... internally handle that case properly now. 2013-09-02 20:28:51 +09:00
Jean-Philippe Andre cafa763817 evas: Fix sigsegv after font rehint
If a text object is rehinted after it is deleted,
baaad things happen. Mark Evas_Object_Text as dead by
setting font to NULL.

Note the crash happened with cserve2 and maybe not in normal
cases.
2013-09-02 15:00:01 +09:00
Carsten Haitzler 08e430b18a move render wait before the block to avoid deadlock. 2013-08-30 09:09:08 +09:00
Carsten Haitzler 42a46214c4 other async render issue - sync ALL rendering canvases, not just one 2013-08-29 21:18:04 +09:00
Cedric Bail bcb9ccb129 evas: let's allow intercept of other type of operation on the same object during an intercept. 2013-08-29 14:25:23 +09:00
Cedric Bail 35b98861dd evas: simplify code for setting intercept callback. 2013-08-29 11:35:35 +09:00
Cedric Bail 1ac1db596f evas: add interceptor for focus_set. 2013-08-29 11:21:20 +09:00
Cedric Bail 85f0749a83 evas: cleanup intercept code and improve performance there a little. 2013-08-29 10:53:48 +09:00
Carsten Haitzler 175335ae08 evas - restore ability for evas_render_dump() to dump out referenced data 2013-08-28 16:44:31 +09:00
WooHyun Jung d2da97c75b evas_event: Nomally, the point's state is maintained POINT_MOVE before it is released. 2013-08-28 13:40:27 +09:00
Carsten Haitzler 4aaf857fc8 fix apparent tb item leak (definitely lost) 2013-08-27 17:20:56 +09:00
Cedric Bail 33372313a1 evas: try to also cancel multi button to. 2013-08-27 16:52:24 +09:00
Chris Michael eff087a4b3 Fix redraw rectangle when framespace changes to not be Outside viewport.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-23 08:39:03 +01:00
Tom Hacohen 4bcf4991eb Evas textblock: Fixed calculation of maxdescent.
Thanks to YoungBok Shin for reporting.
2013-08-20 11:13:06 +01:00
Chris Michael 865531a9e1 Fix compiler warning about missing braces.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-19 08:35:34 +01:00
Mike Blumenkrantz c31061b642 evas render debug now prints object names if they exist 2013-08-19 05:20:57 +01:00
ChunEon Park 75ccce5706 evas - removed redundant code.
This check is not necessary but causes incorrect clipping issues.

At this moment, if primitive objects (except image) is the source then that code may be helpful but it doesn't guarantee same behavior for all the primitive objects.

So, right now removed it.
2013-08-18 16:26:11 +09:00
Cedric Bail 2b68a31252 evas: handle gracefully move from evas_object_image_file_set to and from evas_object_image_mmap_set. 2013-08-12 12:12:13 +09:00
Chris Michael 5ccf87c845 Remove unused variables.
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-08-11 14:02:21 +01:00
Carsten Haitzler 1e9d4bf28f evas - fix up border adjust improvement from last night. handles overlap now 2013-08-10 16:26:30 +09:00
Tom Hacohen 76eceda2ee Evas textblock: make an if look nicer (no logic change).
This makes things simpler and less confusing and might have prevented
the issue Stefan fixed in 4f484b81d4
from happenning in the first place.
2013-08-09 15:46:40 +01:00
Carsten Haitzler a18bdfc19f evas - OOPS! printf was not meant to go in! 2013-08-09 22:30:14 +09:00
Carsten Haitzler 9b8f67ec4d evas - minor visual fixup with impossible border scaling to be more sensible 2013-08-09 22:07:06 +09:00
Cedric Bail 861823848a eina: change eina_file_virtualize to be able to provide a fake name. 2013-08-09 20:50:54 +09:00
Stefan Schmidt 4f484b81d4 evas/textblock: Do not write out of bounds.
The length is len so last array index must be len - 1. Better not
corrupt memory. :)

CID 1039302
2013-08-09 11:54:42 +01:00
Tom Hacohen 1d75dcaf56 Evas textblock: Make the ellipsis format the same as the surrounding.
This fix is based on a solution by WooHyun Jung.
2013-08-08 13:10:39 +01:00
Cedric Bail a07fab03e8 evas: CRIT when someone change object geometry during pixels get callback. 2013-08-08 09:47:45 +09:00
Tom Hacohen 6583b83c73 Evas textblock: Use max ascent/descent at the edges of the textblock.
Thanks to Youngbok Shin for reporting the difference in behaviour between
textblock and text object.
2013-08-06 09:29:03 +01:00
Cedric Bail f302c0e0ac evas: fix build with debugging rendering trace. 2013-08-06 15:45:07 +09:00
Chris Michael 8810f69914 Remove the directory from the font_first hash First, before calling
object_text_font_cache_dir_del as the latter function will actually
Free the fd.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-05 14:07:11 +01:00
Cedric Bail 35e1ddc6f6 evas: limit resize to always be of the right size.
This should fix T157.
2013-08-05 17:46:37 +09:00
Cedric Bail 9104fe7322 evas: let's not leak temporary list left over. 2013-08-01 19:39:58 +09:00
Cedric Bail e0b8e3f5e7 evas: use eina_file_virtualize() in evas_object_memfile_set().
NOTE: I am tempted to mark evas_object_memfile_set() as deprecated due
to the forced memcpy it introduced and the fact that it is now a 3 lines
of code to do the same in a more efficient way.
2013-07-31 11:53:39 +09:00
ChunEon Park e2c395f049 evas/proxy - render the children of the proxy's source object when ther visibility is true.
This is not the perfect solution at this moment. This doesn't consider the cached clipper's visibility at all.
But at least this would be better than exist works. Should be improved.
2013-07-28 20:24:46 +09:00
Cedric Bail 847efe7cdb evas: let's return the correct file name. 2013-07-24 15:50:09 +09:00
Jiyoun Park 75a39b02bd * Evas: fix infinite loop if app use ecore evas image
app have to call update add function after object data set
2013-07-23 17:01:36 +09:00
Yakov Goldberg ae561346e4 evas/textblock: fix my own boolean expression to be more obvious 2013-07-21 11:57:11 +03:00
Cedric Bail 614263c1ed evas: add geometry_set to please zmike. 2013-07-19 18:37:43 +09:00
Carsten Haitzler 76229f7a2f fix clang nonnull warning. 2013-07-16 16:47:35 +09:00
Cedric Bail 166e89baac Revert "eo: try to fix callback array to work on other system."
This reverts commit e89f32d28d.
2013-07-16 15:18:16 +09:00
Cedric Bail e89f32d28d eo: try to fix callback array to work on other system. 2013-07-16 13:41:27 +09:00
Cedric Bail dce0fbcb84 evas: let's get the pixels if the image is dirty, not only when we do already have pixels. 2013-07-15 19:12:02 +09:00
Mike Blumenkrantz 7dfd4581b4 fix crash when trying to get an object below the current object and a layer with no objects is present
probably a layer not being cleaned somewhere, but I can't deal with the crashing
2013-07-11 11:40:41 +01:00
Daniel Juyung Seo fa9f891bce evas_main.c: fix a typo? 2013-07-11 16:53:21 +09:00
Cedric Bail dc97ae0937 evas: reduce memory footprint. 2013-07-11 16:16:25 +09:00
ChunEon Park 46ba77d4f4 evas - print ERR if the object coundn't be deleted when it's ref count is more than 0.
In this case, evas_free() won't be exit because of the infinite loop.
2013-07-11 14:05:21 +09:00
ChunEon Park 898caee04d evas - use Eina_Bool 2013-07-11 14:00:18 +09:00
ChunEon Park 1e9a56d361 evas - indent fix. 2013-07-11 13:45:22 +09:00
Cedric Bail 48b40640b5 evas: no need to call eo_data_scope_get in many case after this change.
Reduce CPU usage by 5% in some case (especially when the CPU is not the
limiting factor like with the GL backend).
2013-07-09 09:48:09 +09:00
Chris Michael 4e103fd858 Fix mem leak reported by Coverity (don't just free fdata if size > 0).
NB: Fixes Coverity CID1039665

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 08:30:26 +01:00
Chris Michael ff60a233d2 Fix unintended operator precedence... I do believe != 4 is what was
wanted here...Or (!(ob->map->cur.map->count == 4)) ... but not much
difference either way ;)

NB: Fixes Coverity CID1039673

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 08:22:23 +01:00
Chris Michael 8280ef3730 Remove the grab from any lists Before we free it.
NB: Fixes Coverity CID 1039888

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 08:08:10 +01:00
ChunEon Park 64f984bd1a evas/render - draw the map in case that the source clip is invalid. 2013-07-05 12:53:09 +09:00
ChunEon Park 307e2f823d evas/render - support proxy source clip for the mapped object. 2013-07-05 11:14:47 +09:00
ChunEon Park 04f87ab237 evas/render - refactoring. split off a bunch of internal logic to a seprate function. 2013-07-05 11:09:03 +09:00
Tom Hacohen 5d4ff97e20 Evas textblock: Fixed issue with *textblock_cursor_range_formats_get.
In some cases we could return extra formats that are outside of the
range. It's actually not completely fixed yet.

Thanks to clang-analyzer for detecting this.
2013-07-04 10:07:52 +01:00
Daniel Juyung Seo 311db0fc58 evas_object_smart.c: removed unnecessary code. 2013-07-02 17:07:05 +09:00
ChunEon Park 627beaae71 evas/proxy rendering - optimize proxy rendering.
re-render proxies if sources are changed. this patch increases the proxy rendering up to 2x.
2013-07-02 15:38:42 +09:00
ChunEon Park 5f4ae9abeb evas/render - refactoring about checking smart member changed.
move those code to the evas_object_smart.
2013-07-02 15:28:56 +09:00
Tom Hacohen 827885d794 Evas textblock: Fixed format parsing to not be confused by single-quotes.
Before this commit, having a single quote anywhere in the format would mess
up all of the format parsing.

Thanks to MinSu Seo for reporting.
2013-07-01 14:18:52 +01:00
Chris Michael 2a67e78bde Fix klockwork memleak: We should free 'texts' that we malloc'd earlier
if we are going to error out.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-28 14:14:44 +01:00
Carsten Haitzler 6828cf2e29 evas: efl 1.8 dev bug only... update add bug in image objects throws away some updates. 2013-06-28 17:26:14 +09:00
Cedric Bail e888a07c0a evas: cleanup headers. Should work on windows. 2013-06-26 11:24:29 +09:00
Tom Hacohen fdbc477f79 Evas textblock: Fixed issue with textblocks without fonts segfaulting.
Fixes T184 (which is a regression).
2013-06-25 16:37:48 +01:00
ChunEon Park 44568ef01d efl/evas - removed duplicated lines and apply clipping only when clip values are available. 2013-06-25 21:56:28 +09:00
ChunEon Park ede5390258 efl/evas - +null check 2013-06-25 21:53:05 +09:00
Christophe Sadoine 2dabd04dc8 evas: fix problem with dllimport on Windows.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-06-25 12:29:48 +09:00
Sebastian Dransfeld 336f6ec328 efl: formatting 2013-06-20 13:28:18 +02:00
Sebastian Dransfeld 51023d2d4f evas: Keep sane name for public header
Evas_Common.h should be used for the public header, and rather rename
evas_common.h internal header to another name.

Sa:
Evas_Common_Header.h -> Evas_Common.h
evas_common.h -> evas_common_private.h

Shouldn't have both Evas_Common.h and evas_common.h because of case
insensitive filesystems.
2013-06-20 12:53:29 +02:00
Cedric Bail 694e8a7d09 evas: fix clang compilation. 2013-06-18 13:32:00 +09:00
Cedric Bail 1609055579 evas: reduce memory footprint taken by Evas_Object_Table callbacks setup.
This reduce by 50K elemines memory use on 32bits system.
2013-06-18 11:44:29 +09:00
Cedric Bail 91aea489c3 evas: reduce memory usage by using Eo array of callbacks.
Reduce usage by 100K on my test on Elementary test, likely better with 64bits system.
2013-06-18 11:44:29 +09:00
Sung W. Park 8e6f0aa11c Evas: add partial rendering support for evasgl direct rendering
Evas_GL Direct rendering is an optimization path that renders
directly to the window if conditions are met.  Because evas gl
backend used to re-render the entire screen, evas_gl direct
rendering didin't have to concern with partial region rendering.
Now that partial rendering/swapping has been applied to evas gl-
backend, evas_gl direct rendering also had to take into account
clip regions. in order to properly apply it, some adjustments
were made to the engine functions and etc.
2013-06-17 18:32:00 +09:00
Sung W. Park 316be3e6c7 Revert "Saving evasgl direct partial rendering fix temporarily"
This reverts commit e6359132de.
2013-06-17 18:22:15 +09:00
Sung W. Park 62e146f2fc Revert "Touch for evas gl direct rendering partial rendering/swap fix."
This reverts commit 382ffbb4f5.
2013-06-17 18:22:04 +09:00
Sung W. Park 382ffbb4f5 Touch for evas gl direct rendering partial rendering/swap fix. 2013-06-17 17:52:16 +09:00
Sung W. Park e6359132de Saving evasgl direct partial rendering fix temporarily 2013-06-17 17:52:16 +09:00
Jean-Philippe Andre 19fb35d657 evas/cserve2: Close scaled images after drawing 2013-06-14 16:38:18 +09:00
Rafael Antognolli d44a69f911 evas/map: Add FIXME comment to remember that it's just a workaround. 2013-06-13 19:16:23 -03:00
Jiyoun Park f488cf2b4d Evas: Fix bs if app call image object update add after call api like
fileset.
2013-06-13 14:09:28 +09:00
Carsten Haitzler c979a52553 fix bug introduced by: f1ba71147e
max ascent/descent are not the same as ascent and descent... get them
specifically.
2013-06-09 17:30:34 +09:00
Tom Hacohen f2317ac875 Evas font: Fix initialization of ascent/descent for empty objects. 2013-06-07 18:09:51 +01:00
Tom Hacohen e1cffeecef Evas text: Removed unused variables. 2013-06-07 18:09:50 +01:00
Rafael Antognolli 4b5d52fca1 evas/callbacks: Prevent post_event_callback_call recursion.
If this function is called recursively, it will free the list of post
callbacks before the list stops being used, which will cause a segfault.

The only place where this seems to happen is on
https://phab.enlightenment.org/T124, probably due to the extensive mouse
events which are launched in an unexpected way.

This bug started happening after commit
164cc07237395f8fe6efa465e4f0c0c4863f78ed, where the
_elm_scroll_page_x_get() started being called by a post_event callback,
and forcing an edje recalc. This recalc triggered another post_event
callback, thus causing the mentioned segfault.

If there's a better way to prevent this from happening, please change
the mentioned code.
2013-06-06 18:42:16 -03:00
Tom Hacohen f1ba71147e Evas font: Fixed line size calculation using multiple fonts.
Additional fixes to cc4cf77865.
There were two problems:
1. Usage of max_ascent instead of ascent.
2. Initialization of the ascent value according to the first font,
   instead of 0 (as the first font might not even be used).
2013-06-06 15:42:41 +01:00
Tom Hacohen e81edab826 Evas font: Remove useless multiplication and division.
Does nothing, just looks ugly.
2013-06-06 15:42:41 +01:00
Rafael Antognolli 383bb37e61 evas/wayland_egl: Workaround for map perspective issues.
Account for the framespace offset on perspective fx and fy of each map
point.

This is just a workaround because I could not understand exactly why it
is needed. When no perspective is used, the viewport is set to the size
of the surface, and each map point seems to be used as is, with no
adjustment being needed.

However, when the map is not flat (perspective is used), a more complex
math is used to find the glViewport size. It ends up being bigger, but
there are some offsets used to compensate that, gc->shared->ax/y, which
are added to each vertex before pushing them. Thus, it seems to me that
the framespace offset should not be added to them, but things are weird
if this is not done.

Anyway, I just added those offsets, and it should not impact on gl_x11
since it's not using framespace, and software engines don't seem to
implement perspective anyway, so it all should be fine.

If anyone understands better what's going on here, please make a proper
fix or at least contact me to explain the problem, and maybe I can fix
it by myself.
2013-06-04 14:52:26 -03:00
Cedric Bail 229d9f1efd evas: make it usable from modules. 2013-06-04 15:04:19 +09:00
Cedric Bail 4d15a0f50f evas: add infra to block the main loop from evas.
PS: later on, I think we should just move evas to use Ecore infra
directly to create jobs and sync with the main loop.
2013-06-04 11:20:25 +09:00
ChunEon Park 11b43dad4b evas - fixed source clip. If the source object is a evas primitive object, then proxy won't clipped by proxy clipper itself. 2013-05-31 20:29:18 +09:00
ChunEon Park fd7d1f9f98 evas/render - this is insane to me since nowhere it release the render_pre_done FALSE pairly.
This causes the textblock layouting problem.

It should be checked when does it really render_pre() called.

If someone knows the reason of this, please ping me.
2013-05-30 14:50:47 +09:00
ChunEon Park 1f558c6cde evas/textblock - revert the textblock pre_render_done.
Fundamentally, this is not a point of the problem.

somewhere pre_render caller is inccorrect without releasing the flag.
2013-05-30 14:43:41 +09:00
Jihoon Kim 4a90649f48 Fix typo in Evas headers 2013-05-29 10:27:10 +09:00
ChunEon Park b7ff5a737f evas/textblock - fix the textblock to render pre again if it needs to be relayouting 2013-05-28 23:07:24 +09:00
ChunEon Park 7003b7fd0b evas/textblock - fix indent 2013-05-28 23:00:31 +09:00
Stefan Schmidt 0a20c045b2 evas/textgrid: Fix memory leak.
Free allocated color before we return in the failure case.
2013-05-28 13:47:52 +01:00
Tom Hacohen 25f79697af Revert "Evas eo compat: Freeze object events when deleting."
This reverts commit 3c53b824d8.

This is a bad idea for now, as we need to mark some more events as hot
(including compat generated ones) before doing it.
2013-05-21 16:32:09 +01:00
Tom Hacohen 3c53b824d8 Evas eo compat: Freeze object events when deleting.
In the past events wouldn't be called for deleted objects, retain that
behaviour.
2013-05-21 15:07:41 +01:00
Daniel Juyung Seo b2dd73e841 evas_object_textblock.c: fixed a typo in the documentation. 2013-05-21 19:21:47 +09:00
Cedric Bail f13a35909b evas: always set degre to zero before using it. 2013-05-21 09:58:24 +09:00
Chris Michael 5da4fce18a With antognolli's framespace changes, we no longer need to subtract
framespace from the output/canvas to get proper x/y coordinates.

Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-05-20 18:19:03 +01:00
Cedric Bail be153f92b6 evas: make canvas event to hot to be frozen. 2013-05-20 18:17:29 +09:00
Tom Hacohen 97acb71175 Evas textblock: Removed double ;. 2013-05-16 10:38:56 +01:00
Sung W. Park 97806103eb evas: fix evas flushing its command queue to wrong gl context in gl-backends
For native surface rendering (glX, egl) in gl-backend,  if pixel get callback
function is called for native rendering, there is a case where evas will
try to call evas_gl_common_context_flush() to flush its remaining commands
in its command queue while the context is set current to the native surface/
context that is called within the pixel get callback.  So, I've added an
engine function that forces a flush before it enters the pixel get callback
function.
2013-05-13 14:12:36 +09:00
Tom Hacohen cc4cf77865 Evas font/text: Fixed an issue with asc/desc calculation in text object.
Added font_int asc/desc getters in order to achieve that.

Thanks to MinSu Seo for reporting.
2013-05-10 17:48:26 +01:00
Chris Michael 6cdbca59d4 Fix proxy object check to compare against proper object.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-09 08:06:05 +01:00
Rafael Antognolli cf9d3c90f5 Ecore/Evas: Add evas_event_input_multi_down/up().
These events (from multi-touch) also have information about the mouse
pointer position, so they must be translated by the framespace too.
2013-05-08 16:50:15 -03:00
Carsten Haitzler 0632415e9c don't try free a NULL image handle in proxy_unset. 2013-05-08 23:41:39 +09:00
Cedric Bail d833244100 evas: add infrastructure to open from Eina_File. 2013-05-08 18:17:00 +09:00
Cedric Bail ba46068c09 evas: agressively destroy proxy surface when nobody use the proxy anymore. 2013-05-08 18:16:59 +09:00
ChunEon Park b10be8fb4c evas/render - Fixed proxy clipping if the source object is clipped by output area.
Before this patch, the proxy will be clipped if the source is clipped by output area even if the soure_clip is disabled,

Additionally, src_clip/src_event/src_visible options must be supported in edje.
2013-05-08 01:16:49 +09:00
ChunEon Park 6a6f827e20 evas/render - there was a my fault. proxy clip should be a default. 2013-05-06 22:18:08 +09:00
Daniel Zaoui f30370fe52 efl: rename the Eo events for Evas objects and evas canvas. 2013-05-06 13:18:50 +03:00
ChunEon Park 49e88118d5 evas/render - and you don't need to check change for the map render if the change is already determined. 2013-05-06 11:03:11 +09:00
ChunEon Park 95b0f469b6 evas/render - clean code. 2013-05-06 00:56:10 +09:00
ChunEon Park 3ba5135135 evas - update map smart members when really it needs to render. 2013-05-06 00:48:56 +09:00
Daniel Zaoui 1a0282691c Efl: adapt legacy Evas Smart callbacks to Eo callbacks mechanism. 2013-05-05 14:33:16 +03:00
Daniel Zaoui 3d5136e4cc Efl: adapt legacy Evas callbacks to Eo callbacks mechanism. 2013-05-05 14:32:24 +03:00
Rafael Antognolli f490c4e5aa evas/events: Add evas_event_input_multi_move().
Same as evas_event_input_mouse_move, but for multi_move.
2013-05-03 17:19:13 -03:00
Rafael Antognolli 4b9a80a063 ecore/evas events: Use evas_event_input_mouse_move to report events.
Ecore_Evas_Input should use this function to report mouse move events.
The previous used function should be used to refeed events, or to
artificially feed mouse move events to the canvas. Basically every other
feed_mouse_move use case that is not an event from the input system.
2013-05-03 16:45:33 -03:00
Rafael Antognolli f09e493bc2 evas/events: Add evas_event_input_mouse_move().
This function should be used internally by the input system
(Ecore_Evas_Input) to feed Evas with move events. The x,y event info is
relative to the base of the window/surface, instead of the 0,0 of the
canvas.

This case only happens for now under Wayland, where the 0,0 of the
canvas is translated due to the window decorations that are drawn by the
client.
2013-05-03 16:45:33 -03:00
Carsten Haitzler c8def7a756 SCREW YOU GIT!... here is my fix for jack daniels leak! 2013-05-02 16:48:43 +09:00
Carsten Haitzler f8c9a8d167 revert the revert... damn you git!
Revert "Revert "Efl: replace eo_data_get for objects data referencing.""

This reverts commit b64a2994b3.
2013-05-02 16:47:16 +09:00
Carsten Haitzler b64a2994b3 Revert "Efl: replace eo_data_get for objects data referencing."
This reverts commit 654a3f5f94.
2013-05-02 14:17:19 +09:00
Daniel Zaoui 654a3f5f94 Efl: replace eo_data_get for objects data referencing. 2013-05-01 10:37:08 +03:00
ChunEon Park 29ef0f71ba evas - fix the wrong compare. thanks JackDanielZ for spotting it. 2013-04-30 19:51:24 +09:00
Rafael Antognolli de0d0dce2e evas/smart: Directly access object geometry to improve performance.
There's no need to get the object geometry through
evas_object_geometry_get(), since it is not converted anymore (there's
no offset).
2013-04-29 12:52:50 -03:00
Rafael Antognolli a1914368a7 evas/framespace: Use more framespace offset on evas events.
The framespace offset must be taken into account when searching the list
of objects which received events, since the objects now have their
original position.
2013-04-29 11:29:43 -03:00
Rafael Antognolli 59c37d1c7b evas/framespace: Add support for framespace offset rendering translation.
Instead of moving the objects by adding the framespace offset to them,
use this offset when rendering them. This way there's no change in the
object's geometry/position, it works correctly with map, and will be
automatically updated in case that the framespace values change (for
instance if one sets a window to borderless).

There are 2 main places where changes were needed:
 - output redraws, when they come from an object being changed, must be
   add the framespace offset to their damaged area;
 - checks to see if the object is inside a given rendering area, must
   also add this offset, since the object is actually being rendered on
   a different position;
2013-04-29 11:29:43 -03:00
Rafael Antognolli 550bc6ca48 evas/framespace: Remove framespace offset from position set/get.
Objects won't be moved by the framespace offset anymore.
2013-04-29 11:29:43 -03:00
Rafael Antognolli 4268bf9961 Revert "evas/map: Consider framespace offset when populating map points."
This reverts commit 3e43ad338d.
2013-04-29 11:29:43 -03:00
ChunEon Park 2e699fbab9 evas - and apply proxy_src_clip only when object and proxy is same in render_mapped 2013-04-29 21:05:33 +09:00
ChunEon Park 9fc2835cf4 evas - add evas_object_image_source_clip_set()/get() 2013-04-29 15:30:37 +09:00
ChunEon Park 911790b236 evas - fixed logic fault in proxy clipping. 2013-04-26 20:05:46 +09:00
ChunEon Park 188c345b27 evas - For compatibility, Make proxy's source clip to be optional. Im checking partal code for zmike. 2013-04-26 17:19:50 +09:00
ChunEon Park 39a864d2f7 evas - fix the proxy object to not be clipped by source clipper 2013-04-26 14:45:41 +09:00
Tom Hacohen 455d8790b9 Evas textblock: Fixed line size calculation when using multiple fonts.
Thanks to MinSu Seo for reporting.
2013-04-25 15:16:20 +01:00
Rafael Antognolli d05c58ff2c evas/wayland: Remove framespace clipper.
This clipper caused several bugs already, and there are some bugs still
not fixed. Let's remove it and try to fix any remaining with some other
kind of solution that does not depend on adding or clipping objects
during the evas render phase, which causes unexpected behavior.
2013-04-23 18:52:35 -03:00
Mike Blumenkrantz 715c77adb9 fix recursive proxy rendering to just show a black rectangle 2013-04-22 16:41:24 +01:00
Rafael Antognolli e937f1f5a3 evas/wayland: Unclip objects from the framespace after rendering.
These objects should be clipped only during rendering, since keeping
them clipped after that allows for unexpected behavior on the
application side. For instance, an application could check if objects
have clippers before doing something to them, assuming that some objects
should have no clipper, but under wayland, after the first render
iteration, there will be no objects without a clipper.

This commit fixes this behavior by unclipping objects that had no
clipper prior to the render iteration.

Additionally, it fixes a bug where a maximized/fullscreen window could
have not all of its content rendered immediately. This was occuring
because some objects could be clipped to the framespace clipper, but
considered invisible in the beginning of the render phase, where they
are evaluated. They were considered invisible because the framespace
clipper object was not resized at that phase yet, and thus these objects
were being clipped out from the viewport.
2013-04-18 16:38:16 -03:00
Tom Hacohen 171eebc21b Evas object dbg_info: Fixed cast of pointer to int.
Also fixed additional unneeded cast.
2013-04-18 12:20:46 +01:00
Daniel Juyung Seo 4497815caf evas_object_main.c: added Clipper information for debug info.
Eina value type does not support pointer so I used int as of now.
This needs to be converted into hexa later.
By using Clouseau, one can see this Clipper information.
2013-04-17 16:58:30 +09:00
ChunEon Park 4163b2f509 Evas: If an object goes to be hidden without replacing the cur/prev state info, the object context can be corrupted at the next show time. Now it replaces the cur/prev in that rare case. 2013-04-16 03:05:16 +09:00
Tom Hacohen 3f3ad67616 Evas textblock: Fixed a bug with deletion of ranges.
Fixed a bug with deletion of ranges that end just before a visual format.
Thanks to WooHyun Jung for reporting.
2013-04-15 17:15:22 +01:00
Tom Hacohen d77a7bb39b Evas polygon: Cleaned up the way we clean the points. 2013-04-15 10:48:42 +01:00
ChunEon Park 59bd729ca9 evas/image - actually, no need to check both. one is enough. 2013-04-14 05:36:28 +09:00
ChunEon Park 6b9a895c59 evas/image - don't update evas render area by a clipper if the image object visible is changed. 2013-04-14 05:18:31 +09:00
ChunEon Park b660465410 evas - Don't be crashed even if the map image size is 0. 2013-04-13 18:58:08 +09:00
Tom Hacohen 882b7a72eb Evas dev: Fixed usage of uninitialized variable. 2013-04-12 15:17:19 +01:00
Carsten Haitzler 9b0e7626f4 Add subclasses for evas device api (new in 1.8) and document the evas
device api... :)
2013-04-12 20:05:16 +09:00
Cedric Bail d1c502fe26 evas: remove warning, no need for double (). 2013-04-12 11:24:14 +09:00
ChunEon Park fbec2b33db evas - removed unused 2013-04-12 11:06:03 +09:00
Cedric Bail 61dbbbb451 evas: let's do less useless marshalling. 2013-04-11 18:56:52 +09:00
Cedric Bail 36c3cf0733 evas: don't call eo_data_get when it is really not necessary. 2013-04-11 18:07:09 +09:00
Cedric Bail e0f2ddadde evas: use eo_data_get less. Use clipees_has if you want to know the number of child now. 2013-04-11 18:07:09 +09:00
Cedric Bail bf07af3e7b evas: remove useless initialization. 2013-04-11 18:07:09 +09:00
Yakov Goldberg 7016872619 Efl textblock/entry: additions to split BiDi cursor
- handling multiple runs, multiple lines, last char of line/par
   - tests added

Signed-off-by: Yakov Goldberg <yakov.g@samsung.com>
2013-04-10 14:59:48 +03:00