Commit Graph

4043 Commits

Author SHA1 Message Date
Mike McCormack ee5446fb13 evas: Use clists to store the render recalculation list
Rather than trying to avoid removing the list element that is
currently being processed, keep two lists and move elements
to the processed list before recalculating them.

Remove items from the list head only, and always append them
to the tail.

Use the fact that an item can be removed from a clist without
needing to know which list it is in.

Signed-off-by: Mike McCormack <mj.mccormack@samsung.com>

SVN revision: 64030
2011-10-13 02:22:29 +00:00
Carsten Haitzler ab7d9bdd84 fix use of invalid program id IF viewport changed - also disable
GLERR. this can really hurt performance.



SVN revision: 64027
2011-10-12 23:22:26 +00:00
Carsten Haitzler 4d5b4b2f24 fix gl pipeline problem with textures and map and the wrong program id
being set/restored.



SVN revision: 64014
2011-10-12 10:27:17 +00:00
Carsten Haitzler 6412cc1358 fixme--
SVN revision: 64013
2011-10-12 10:15:35 +00:00
Carsten Haitzler a7adef691a more sse3 bugs!
SVN revision: 64006
2011-10-12 03:28:53 +00:00
Carsten Haitzler 9e62992fe8 make more bug notes.
SVN revision: 64005
2011-10-12 02:59:44 +00:00
Carsten Haitzler 23df774e8d all vert shaders always highp on gles.
SVN revision: 64004
2011-10-12 02:54:06 +00:00
Carsten Haitzler b531487495 some nasty hackery to get affine transform mapping to be "pixel
perfect" with 90 degree rotations. i really should have actually
special cased them, for for now i made the generic routine try and punt
out the right numbers.



SVN revision: 63986
2011-10-11 12:32:21 +00:00
Carsten Haitzler 2cf202ff51 disable buggy sse3 routine! test showed it in ello.
SVN revision: 63985
2011-10-11 11:51:54 +00:00
Carsten Haitzler f83bdbc136 fix off-by-one update region calc in map.
SVN revision: 63984
2011-10-11 11:30:37 +00:00
Carsten Haitzler 914a08e206 use lround() for map coord rounding to avoid silly things like
15.999999999999999998 rounding down to 15... whihc leads to
sometimes... odd off-by-1 expected results.



SVN revision: 63978
2011-10-11 06:06:11 +00:00
Carsten Haitzler 0bfb70e48e oops - typo.
SVN revision: 63967
2011-10-11 01:51:49 +00:00
Carsten Haitzler 7597814df2 adapt to SEC direct texture access changes for the last time.
SVN revision: 63959
2011-10-10 10:08:29 +00:00
ChunEon Park af25636ab8 evas/evas_events - trivial changes
SVN revision: 63953
2011-10-10 08:52:08 +00:00
Vincent Torri 50cfcfc323 Evas: Add GL_EET_CFLAGS tp CPPFLAGS so that Eet.h is found. Patch by JGMiller, fix ticket #874
SVN revision: 63922
2011-10-08 07:16:36 +00:00
Carsten Haitzler 2f674f7059 be quiet about the EEK.
SVN revision: 63921
2011-10-08 05:33:47 +00:00
Carsten Haitzler 6fd17b839d Commit Neil's patch reported here:
http://trac.enlightenment.org/e/ticket/880



SVN revision: 63920
2011-10-08 04:58:57 +00:00
Carsten Haitzler 4e4e7a03a4 fix cedric's nv12 shader! it worked by luck only. tex_y -> tex_c in
vert shdr



SVN revision: 63918
2011-10-08 03:04:16 +00:00
Carsten Haitzler 7c7f8803f5 try and make newgl work again... fail! why does glx hate me?
SVN revision: 63885
2011-10-06 15:05:32 +00:00
Carsten Haitzler 837165ed8a no no.. oops. i missed an error!
SVN revision: 63883
2011-10-06 13:46:06 +00:00
Carsten Haitzler bdbfbbd2d3 newgl work.. now.. why?
SVN revision: 63882
2011-10-06 13:45:14 +00:00
Carsten Haitzler 82b843d222 only use highp *IF* compiler supports it.
SVN revision: 63880
2011-10-06 13:25:18 +00:00
Mike McCormack e5c1e7cc4f evas: remove extra CR
SVN revision: 63867
2011-10-06 02:23:57 +00:00
Jim Kukunas 5d45544329 [PATCH] evas: fix typo in LOOP_ALIGNED_U1_A48_SSE3
The old version works because in every function in which
this macro is used ``l'' is the length and ``d'' is the
destination. This patch prevents future headaches when
those constraints no longer hold.

Patch by: Jim Kukunas <james.t.kukunas@linux.intel.com>



SVN revision: 63856
2011-10-05 23:41:01 +00:00
Cedric BAIL a33eccf6e2 evas: fix shader for nv12.
SVN revision: 63835
2011-10-05 10:16:25 +00:00
Carsten Haitzler 27431cacdd oh and compile script missing updates to make shd's... grrr. and nv12
shader bad!



SVN revision: 63832
2011-10-05 09:52:08 +00:00
WooHyun Jung fb371c8aa6 evas/evas_object_textblock : When cursor_mode is BEFORE, dir_cur->node
can be NULL. So modified the conditional state.


SVN revision: 63824
2011-10-05 07:29:06 +00:00
Carsten Haitzler 4ddeed5933 all shaders -> use high precision not medium to avoid rounding errors.
SVN revision: 63804
2011-10-04 11:21:22 +00:00
Cedric BAIL 8edb994133 evas: cleanup and reorder video function call to be more usable.
SVN revision: 63799
2011-10-04 09:34:01 +00:00
Cedric BAIL 7b33abd685 evas: forgotten commit with since.
SVN revision: 63798
2011-10-04 09:33:40 +00:00
EunMi Lee c6681aa189 From: EunMi Lee <eunmi15.lee@samsung.com>
Subject: [E-devel] [Patch] Evas touch event patch.

Nice to meet you.
I'm Eunmi Lee, developing mobile web browser and working on WebKit EFL port.
I need new type of event for touch, so I've made patch to add
EVAS_CALLBACK_TOUCH event to the evas.

I will explain history of this patch.
Currently, many web applications and sites use TouchEvent and they can
do everything(scrolling, zooming and so on) like native application
using TouchEvent.
So, I'm also want to provide TouchEvent for web in the WebKit EFL port,
but I got a problem during making TouchEvent because EFL's touch
event's structure (Mouse, Multi Event) is different from Web
TouchEvent's one.

Let me explain about Web TouchEvent firstly.
Web TouchEvent is consist of type and touch points list simply.
There are 3 kinds of type.
TouchStart: Happens every time a finger is placed on the screen.
TouchEnd: Happens every time a finger is removed from the screen.
TouchMove: Happens as a finger already placed on the screen is moved
across the screen.
for example, we can make (1 finger starts to touch), (2 fingers are
moving), (1 finger is released duirng 3 fingers are moving) and so on.
You can see the detailed information in the following url:
http://www.sitepen.com/blog/2008/07/10/touching-and-gesturing-on-the-iphone

However, EFL's touch event is consist of six kinds of type :
MOUSE_DOWN, MOUSE_UP, MOUSE_MOVE, MULTI_DOWN, MULTI_UP, MULTI_MOVE.
So, I have to make a converter to make web touch event from EFL's
touch event.
You can reference attatched image file : evas_touch_event.png.

To tell the truth, converting code is not a big one.
But, I want to reduce this additional job and make code simple.
In the WebKit QT port, they don't have to make converting code for
TouchEvent,
because they have QTouchEvent, it has type and touchPoints list and
they can be mapped to Web TouchEvent one by one.
I think iPhone and Android also have such kind of event.

That's all why I want to add new touch event type to the evas.

about my patch:
- EVAS_CALLBACK_TOUCH event is added
- touch_points Eina_List is added to the Evas structure to maintain
current touch lists.
- process MOUSE/MULTI UP, DOWN, MOVE to make TOUCH event.

It is my first time to modify eves codes and actually I don't know too
much about evas.
So, I will be grateful if you send any feedback and comments.




SVN revision: 63796
2011-10-04 07:30:22 +00:00
Carsten Haitzler 157224ffef jiyoun bug! you didnt fix the hkey string properly.. you set the last
2 chars to o? where ? is "undefined". you set the same string char to
/ then o. fix!



SVN revision: 63785
2011-10-04 01:41:45 +00:00
Carsten Haitzler 620d2573f3 so... gcc was optimizing the test out... that sucks! fix. make sure gcc
doesnt know what to do with optimizing and actually compiles the code!



SVN revision: 63775
2011-10-03 16:29:12 +00:00
Carsten Haitzler 2aed2cf20a isolate sse3 to only its own file, so it only uses -msse3 for that
SVN revision: 63762
2011-10-03 04:44:23 +00:00
Cedric BAIL d724205a6e evas: add basic support for video support.
SVN revision: 63758
2011-10-03 03:28:52 +00:00
Carsten Haitzler de8b0a1137 formatting - space++
SVN revision: 63743
2011-10-02 10:43:17 +00:00
Carsten Haitzler f054f04d08 bad cedric! broke gl engine!
SVN revision: 63729
2011-09-30 16:18:41 +00:00
Cedric BAIL 0d03abde6b evas: remove warning.
SVN revision: 63728
2011-09-30 15:54:26 +00:00
Cedric BAIL cc71e34616 evas: zero swizzeling code for Samsung platform.
SVN revision: 63727
2011-09-30 15:51:32 +00:00
Cedric BAIL 308cf81312 evas: correctly handle direct mapping of data for non RGBA case.
SVN revision: 63726
2011-09-30 15:43:51 +00:00
Josef Reidinger 37b04168d6 evas: fix make dist
Patch by: Josef Reidinger <jreidinger@suse.cz>



SVN revision: 63723
2011-09-30 13:33:40 +00:00
Jiyoun Park c231bf108b From: Jiyoun Park <jy0703.park@samsung.com>
Subject: [E-devel] [Patch] support Animation gif's disposal mode

I make patch support animation gif disposal mode.

Before, gif loader only decode & render based on previous frame. 

This patch can support "do not dispose mode" & "restore background
mode". 

So It solve after image problem of restore background mode.




SVN revision: 63716
2011-09-30 07:10:40 +00:00
Mike Blumenkrantz 5d4c95d975 fix ambiguous docs and add notes about premultiplied coloring books
SVN revision: 63715
2011-09-30 06:05:33 +00:00
Carsten Haitzler cbb0dcbb3d include config.h - it isnt included.. otherwise we'd have had redefine
warnings....



SVN revision: 63714
2011-09-30 06:04:53 +00:00
Vincent Torri 6c59cdc4f4 fix warning
SVN revision: 63710
2011-09-30 04:14:30 +00:00
Vincent Torri 993fa90cb3 unneeded checks
SVN revision: 63708
2011-09-30 04:04:28 +00:00
Carsten Haitzler 34ca6b6738 you know.... i was reviewing this patch this morning and i found
several problems with it... but SOMEONE... (lucas) committed it
without even so much as replying to the list saying he was going to...
:)



SVN revision: 63705
2011-09-30 03:29:03 +00:00
Jim Kukunas 24c56344eb evas: enable SSE3 blend functions
Patch by: Jim Kukunas <james.t.kukunas@linux.intel.com>



SVN revision: 63704
2011-09-30 02:37:12 +00:00
Jim Kukunas a058ae7a5e evas: add SSE3 _op_blend_pixel_mask blend functions
_op_blend_p_mas_dp_sse3
_op_blend_pas_mas_dp_sse3
_op_blend_rel_p_mas_dp_sse3

Patch by: Jim Kukunas <james.t.kukunas@linux.intel.com>



SVN revision: 63703
2011-09-30 02:37:02 +00:00
Jim Kukunas e7f1e55f81 evas: add SSE3 op_blend_pixel_color blend functions
_op_blend_p_c_dp_sse3
_op_blend_pan_c_dp_sse3
_op_blend_p_can_dp_sse3
_op_blend_pan_can_dp_sse3
_op_blend_p_caa_dp_sse3
_op_blend_pan_caa_dp_sse3
_op_blend_rel_p_c_dp_sse3

Patch by: Jim Kukunas <james.t.kukunas@linux.intel.com>



SVN revision: 63702
2011-09-30 02:36:51 +00:00
Jim Kukunas a374dd7b35 evas: add SSE3 op_blend_pixel blend functions
_op_blend_p_dp_sse3
_op_blend_pas_dp_sse3
_op_blend_rel_p_dp_sse3
_op_blend_rel_pan_dp_sse3

Patch by: Jim Kukunas <james.t.kukunas@linux.intel.com>



SVN revision: 63701
2011-09-30 02:36:30 +00:00
Jim Kukunas 21991884f4 evas: add SSE3 op_blend_mask_color blend functions
_op_blend_mas_c_dp_sse3
_op_blend_mas_can_dp_sse3
_op_blend_rel_mas_c_dp_sse3

Patch by: Jim Kukunas <james.t.kukunas@linux.intel.com>



SVN revision: 63700
2011-09-30 02:36:15 +00:00
Jim Kukunas 793c7d1031 evas: add SSE3 op_blend_color blend functions
_op_blend_c_dp_sse3
_op_blend_rel_c_dp_sse3

Patch by: Jim Kukunas <james.t.kukunas@linux.intel.com>



SVN revision: 63699
2011-09-30 02:36:01 +00:00
Jim Kukunas 937a5a91f1 evas: add common SSE3 blending functions/macro
mul_256_sse3
sub4_alpha_sse3
interp4_256_sse3
mul_sym_sse3
mul4_sym_sse3
mul3_sym_sse3

LOOP_ALIGNED_U1_A48_SSE3

__attribute__((always_inline)) is needed to coax GCC (< 4.6.0)
into inlining the common blend ops. Not inlining these functions
causes a steep performance penalty.

Patch by: Jim Kukunas <james.t.kukunas@linux.intel.com>



SVN revision: 63698
2011-09-30 02:35:45 +00:00
Jim Kukunas eec4b913ea evas: add SSE3 support
Readme entry
configure --[enable/disable]-cpu-sse3
processor capability test

Patch by: Jim Kukunas <james.t.kukunas@linux.intel.com>



SVN revision: 63697
2011-09-30 02:35:31 +00:00
Cedric BAIL b70d6a0556 evas: oops forgot that.
SVN revision: 63664
2011-09-29 09:48:13 +00:00
Cedric BAIL 442589f4ca evas: handle exif rotation information directly inside evas jpeg loader.
Patch by Jiyoun Park <jy0703.park@samsung.com>


SVN revision: 63659
2011-09-29 09:02:30 +00:00
Daniel Juyung Seo 3adea31a4a evas Evas.h: Fixed typo.
SVN revision: 63640
2011-09-28 09:14:40 +00:00
Carsten Haitzler 7be30a23bf and another commit in an attempt to fix mouse grabs + event callbacks
to be consistent



SVN revision: 63607
2011-09-26 02:45:06 +00:00
Carsten Haitzler 0088ea3d8b new attempt to fix the hidden object event thing without breaking
dnd... this makes for consistent behavior. :)



SVN revision: 63599
2011-09-25 04:43:02 +00:00
Carsten Haitzler 64940b1bf4 oops - and dont need to sub the rgabbed count - i missed that it was
already done above. no bug there. move on.



SVN revision: 63586
2011-09-24 07:46:37 +00:00
Carsten Haitzler 0df0084dba as suspected... this breaks drag and drop! :( revert.
SVN revision: 63577
2011-09-24 04:01:36 +00:00
Carsten Haitzler 222644dc67 try this for fixing grab count when callbacks play with further events
in the in list copy (like moving, resizing, hiding etc. them).



SVN revision: 63554
2011-09-23 06:37:03 +00:00
Carsten Haitzler f3899ddecb fix grab event counter miss.
SVN revision: 63553
2011-09-23 06:19:20 +00:00
ChunEon Park b653b18526 evas_object_smart - trivial changes.
SVN revision: 63514
2011-09-21 10:56:23 +00:00
ChunEon Park ad59819a7d evas/evas_events - just removed white spaces.
SVN revision: 63511
2011-09-21 10:35:03 +00:00
Tom Hacohen 7b374f1dd3 Evas textblock: Fixed an issue when deleting A from <a><a>A</a></a>.
Reported by WooHyun. Thanks a lot, great catch, also told me where and what
the issue is exactly.

Also added a test to verify this works.

SVN revision: 63493
2011-09-20 08:05:50 +00:00
Cedric BAIL 3171f01b00 evas: remove a fixme by making the engine list dynamic.
SVN revision: 63481
2011-09-19 14:20:18 +00:00
Carsten Haitzler 823fa1b566 make fonts obey the same cutout rules as images.
SVN revision: 63478
2011-09-19 10:48:33 +00:00
Carsten Haitzler 9522d5b359 warning--
SVN revision: 63477
2011-09-19 10:48:11 +00:00
Tom Hacohen 0de47ae436 Evas textblock: Replace the rbtree index with a fixed ptr array.
This possibly doesn't scale as good but it's good enough for everything I've
tried. It's a lot easier to maintain comparing to the rbtree, and takes a
lot less memory. Next step is probably changing the array size according
to the actual content of the textblock.

SVN revision: 63474
2011-09-19 09:17:17 +00:00
Tom Hacohen 52302f9664 Evas font: Adjust yet again to the new harfbuzz API.
SVN revision: 63473
2011-09-19 09:17:08 +00:00
Youness Alaoui 2d413eae60 Evas: Remove lazy ifdef WIN32 and check for siglongjmp and sigaction availability
SVN revision: 63463
2011-09-18 21:57:17 +00:00
Daniel Juyung Seo 61b786c4e8 evas evas_name.c: Fixed indentation.
SVN revision: 63369
2011-09-14 04:41:12 +00:00
Christopher Michael 1a1248b689 Evas: Add simple .Xdefaults files parsing to get DPI.
NB: Xcb has no support (yet) for dealing with xrdb (Xresource
database), so add a simple parser to read an .Xdefaults file and get
things like xft.dpi.



SVN revision: 63297
2011-09-08 21:49:45 +00:00
Youness Alaoui 4f96340279 Evas: If not threading, then LKT should not return 0, otherwise it will think it's a stuck lock
SVN revision: 63270
2011-09-07 18:00:57 +00:00
Tom Hacohen c0b309e43e Evas textblock: Added a workaround for the coords_recalc not being called.
Please, when you fix this annoying issue, revert this terrible commit. This
commit is intended to be a temporary fix.

SVN revision: 63267
2011-09-07 10:41:44 +00:00
Youness Alaoui ada2b9e072 Evas: Small fixes to clean software-sdl and software-16-sdl engines
Comparing software-sdl and software-16-sdl showed many small differences
this makes both engines' code much more alike.
The software-16-sdl was especially buggy, hopefully, this should make
it just as stable as the software-sdl engine.

SVN revision: 63248
2011-09-07 06:53:35 +00:00
Youness Alaoui efea89b471 Evas: Allow independent static compilation of software_16_sdl engine
SVN revision: 63247
2011-09-07 06:53:28 +00:00
Cedric BAIL 120306f05f evas: add YUV double buffering for OpenGL backend.
SVN revision: 63225
2011-09-06 07:56:47 +00:00
Cedric BAIL ce8904076d evas: fix alignment issue.
SVN revision: 63202
2011-09-05 15:21:23 +00:00
Cedric BAIL 35da5ff856 evas: use a tricky NULL texture.
Note: this help the driver to know that we don't it
to swizzle back the pixel from GPU format, because we
are going to replace all pixels.


SVN revision: 63201
2011-09-05 14:58:18 +00:00
Tom Hacohen 9182147b5f Evas font: Fixed compilation with g++.
Patch by cnook

SVN revision: 63196
2011-09-05 12:48:02 +00:00
Tom Hacohen fe8c41c6c5 Evas textblock: Use viewport for getting visible range, not clip.
SVN revision: 63191
2011-09-05 12:03:53 +00:00
Tom Hacohen 8f07a73106 Evas textblock: Fixed an issue when there are no available fonts.
The problem was that our rbtree implementation doesn't support chaining
duplicates and with no fonts, all the paragraphs had the same y coord (0).
Changing the paragraph index to work on line_no for sorting fixes it,
as line numbers are also correct when there are no fonts.

Thanks a lot to KaKaRoTo for letting me know about this issue.

SVN revision: 63188
2011-09-05 09:04:43 +00:00
Tom Hacohen 54ebd93cde Evas font: Fix compilation with C++ compilers.
Thanks to cnook for pointing that out.

SVN revision: 63186
2011-09-05 07:13:23 +00:00
Tom Hacohen c4229776de Evas textblock: Fixed compiler warnings.
SVN revision: 63185
2011-09-05 07:13:07 +00:00
Cedric BAIL 2654b654e7 evas: fix tarball generation.
SVN revision: 63179
2011-09-04 23:19:41 +00:00
Cedric BAIL 20300dfedc evas: and now MT12 gain Open GL support.
SVN revision: 63174
2011-09-04 21:15:04 +00:00
Cedric BAIL d88567f49f evas: make MT12 a little bit faster so we can see Bunny a little more longer.
SVN revision: 63157
2011-09-04 16:26:47 +00:00
Cedric BAIL f6f2eb77f7 evas: forgotten patch for enabling colorspace properly.
SVN revision: 63152
2011-09-04 14:31:24 +00:00
Cedric BAIL 54373b9fbe evas: fix mt12 to se squirrel and bunny.
SVN revision: 63151
2011-09-04 14:30:41 +00:00
Carsten Haitzler 27ebb83c4e put generic loaders in libdir/evas/utils/
SVN revision: 63103
2011-09-03 03:48:39 +00:00
Rafael Antognolli 92b98ad145 evas/canvas - Update the pointer to engine_data after pixels_get().
The "pixels" pointer was set in the beginning of evas_object_image_render(),
and never updated, even after pixels_get() changed the content of
o->engine_data.

This patch updates that pointer if it becomes different from engine_data.



SVN revision: 63090
2011-09-02 14:06:25 +00:00
Rui Seabra 639bded43a Fix build breakage.
SVN revision: 63070
2011-09-01 21:39:43 +00:00
Cedric BAIL ea61ff9379 evas: SPANK ! SPANK ! SPANK ! Tasn you forgot some engine !
Patch by Youness Alaoui <kakaroto@kakaroto.homelinux.net>.


SVN revision: 63013
2011-08-30 23:03:07 +00:00
Carsten Haitzler 6694437c15 lets up the max recalc count a bit now that things re-schedule
themselves more.



SVN revision: 62994
2011-08-30 15:33:46 +00:00
Tom Hacohen c2964c42cb Evas font: Adjust to harfbuzz's latest and hopefully last API break.
SVN revision: 62989
2011-08-30 14:38:48 +00:00
Carsten Haitzler 8833075666 lets do that again. recalc list instead of recalc array. why? fixes
nasty ordering issues where recalc items dont get pushed later into
the recalc queue after the things they depend on.



SVN revision: 62977
2011-08-29 23:45:24 +00:00
Cedric BAIL 5a4163f5f2 evas: use simpler format as much as possible.
SVN revision: 62975
2011-08-29 21:52:00 +00:00