Commit Graph

465 Commits

Author SHA1 Message Date
Vincent Torri dfdf20227b Fix compilation on Win32. Patch by Nicolas Aguirre
SVN revision: 36381
2008-10-01 15:42:48 +00:00
Gustavo Sverzut Barbieri 6c918f3d8a Do not assume fontconfig will find a font.
If you have no fonts in fontconfig, it returns NULL... believe me, it
does happen.



SVN revision: 36029
2008-09-16 22:59:59 +00:00
Cedric BAIL bd2c5d6648 Add image preloading support.
This should work without performance impact for all engine.


SVN revision: 36018
2008-09-16 14:52:57 +00:00
Carsten Haitzler 0cf0cd8e15 ensure scaling multiplies are promoted to fp.
SVN revision: 35924
2008-09-10 06:40:54 +00:00
Carsten Haitzler c1d838efa7 promote scale to fp.
SVN revision: 35920
2008-09-10 05:43:25 +00:00
Carsten Haitzler d06c5e9efb and add a scale factor per object. right now text and textblock use it.
that's about it. a bit hacky - but works and frankly.. the idea is that u'd
set a scale factor once really and not change it per obj... most likely.




SVN revision: 35896
2008-09-09 14:14:26 +00:00
Gustavo Sverzut Barbieri e861013485 Document the default behavior.
SVN revision: 35862
2008-09-07 02:11:46 +00:00
Gustavo Sverzut Barbieri 3f90a63416 Add Evas Clipped Smart Object.
This class covers the most common cases, usually its sub-classes will
have to implement resize and override one or two methods at most,
making the smart object usage less error prone and easier.

Default behavior is:
 - add: creates a hidden clipper with "infinite" size;
 - del: delete all children objects;
 - move: move all objects relative relatively;
 - resize: not defined;
 - show: if there are children objects, show clipper;
 - hide: hides clipper;
 - color_set: set the color of clipper;
 - clip_set: set clipper of clipper;
 - clip_unset: unset the clipper of clipper;

Documentation explains an easy way to inherit from this class and
still be able to use overridden methods.



SVN revision: 35861
2008-09-07 02:10:17 +00:00
Gustavo Sverzut Barbieri 58a49c2f69 Add calculate callback to Evas_Smart_Class.
Some people is using it for some time now without problems, so I'm
adding it to SVN to get some broader use. Remember to recompile ALL
libraries that depend on Evas as it will change the
EVAS_SMART_CLASS_VERSION and old classes will fail to load.

This will also change Edje so it will postpone _edje_recalc() to
render time, calculate() callback, however some methods will force
early recalculation.



SVN revision: 35860
2008-09-07 01:25:49 +00:00
Carsten Haitzler d73b8c5d7b updated patches from jose!
SVN revision: 35756
2008-08-31 02:04:31 +00:00
Carsten Haitzler c1fe72d7e4 jose has some new gradient work - these are his patches. nice work joseg! yes
- some enignes break as they dont have the stubbed out functions, and
xrender/gl engines dont even implement the drawing and need to (but are
stubbed out).



SVN revision: 35677
2008-08-26 05:45:04 +00:00
Peter Wehrfritz 61bbfbf54c remove unused variables
SVN revision: 35611
2008-08-21 22:11:18 +00:00
Carsten Haitzler e20edb01e2 revert patch - breaks etk "drag scrolling".
SVN revision: 35247
2008-07-30 07:57:05 +00:00
Carsten Haitzler 4ed5796b2f cedirc patchies!
SVN revision: 35228
2008-07-26 13:04:29 +00:00
Cedric BAIL 53a094e414 Correctly use the string without escaped charactere.
SVN revision: 35179
2008-07-21 11:20:19 +00:00
Cedric BAIL 3b2a46c239 This call is already done at the end of a frame rendering, so no need to do
it also every time we restack something.


SVN revision: 35162
2008-07-18 13:31:06 +00:00
doursse d11bfc2323 remove trailing spaces
SVN revision: 35155
2008-07-18 11:04:06 +00:00
doursse fb9313c024 * move convert function declarations to their own header file
* add vim header in the files I modified
 * fix minor warnings

i think i don't break compilation on that commit :)


SVN revision: 35058
2008-07-10 22:53:33 +00:00
Carsten Haitzler 3242217c16 cedric rect + arrays patch for reducing allocs
SVN revision: 35024
2008-07-07 21:29:29 +00:00
Peter Wehrfritz 254d60b8a4 add documentation stubs for the textblock
SVN revision: 34935
2008-06-28 10:55:58 +00:00
Carsten Haitzler d8288d5531 bad *alloc! bad sizeof usage. bad! :)
SVN revision: 34856
2008-06-19 04:09:33 +00:00
Cedric BAIL 2ebe01d957 Correct the removal of an object.
SVN revision: 34842
2008-06-17 11:24:48 +00:00
Cedric BAIL 3796312acf Cleanly handle evas_object_release.
SVN revision: 34841
2008-06-17 09:04:12 +00:00
Carsten Haitzler d4e8f592bb fix arrya state engin issue... redraws vanishing. fixed!
SVN revision: 34808
2008-06-12 13:22:26 +00:00
Cedric BAIL e95f38aed8 Remove now useless code to force evas_render cache invalidation.
SVN revision: 34738
2008-06-04 16:44:05 +00:00
Cedric BAIL eaedf88d4d Fix osbcuring case with evas_render cache.
SVN revision: 34737
2008-06-04 16:42:39 +00:00
Cedric BAIL 1a1f807026 Their should be no direct modification of Evas_Object changed flag.
SVN revision: 34736
2008-06-04 16:41:16 +00:00
Gustavo Sverzut Barbieri b802f4c94a Add evas_object_event_callback_del_full()
This will check both function and data before removing the callback,
this is useful when you have lots of children monitoring parent, when
one child want to remove its monitoring function, others will remain.

Name is quite difficult to choose, I opted for "_full", but could be
"_with_data" or similar.


SVN revision: 34731
2008-06-03 20:33:40 +00:00
Gustavo Sverzut Barbieri 40a63c7965 Fix typo!
SVN revision: 34686
2008-05-28 18:00:04 +00:00
Cedric BAIL eaa23bebce Replace evas_list used by evas_render by a cache of evas_array.
README: This should not break any EFL applications, but please check and report any breakage to me.


SVN revision: 34677
2008-05-26 13:24:24 +00:00
Cedric BAIL 777410eac2 Make the most used functions inline functions.
SVN revision: 34675
2008-05-26 13:08:54 +00:00
Carsten Haitzler 906040dab0 add a cancel to all mouse butotn presses
SVN revision: 34607
2008-05-19 04:15:22 +00:00
Carsten Haitzler 5887bde860 colorspace stuff in cvs.
SVN revision: 34604
2008-05-19 03:13:16 +00:00
doursse 37607b5e8e config.h is already included in evas_common.h
SVN revision: 34599
2008-05-18 22:28:10 +00:00
Gustavo Sverzut Barbieri 27437c83cf Make layer number a short and Save 8 bytes.
By having a layer as a short (16 bits) we can pack it together with
the bitfields, saving 4 bytes per sub-struct, 8 bytes in total, also
bringing the struct down from 4 to 3 cachelines on my laptop.

Rationale: layers are mostly used to differentiate groups of objects
and they stacking, usually we have few layers and we use very large or
very small numbers to make a layer be at the top or at the bottom, but
usually we don't need so many layers.

Caution: code that use values like 999999 will break, so fix your
code! I'll provide another patch to fix all the CVS using these large
values.


SVN revision: 34420
2008-05-01 06:18:21 +00:00
Gustavo Sverzut Barbieri 7a82a3e43d Save 20 bytes moving smart data to its specific object struct.
This saves 20 bytes, bringing Evas_Object to 200 bytes, by moving data
specific to smart objects to their own struct (Evas_Object_Smart).

There is still one remaining member that could be removed:
smart.smart, this is used mainly to identify if one object is a smart
object or not. One possibility would be to add a bitfield to state
that, but another possibility is to check Evas_Object::object_data
and see if it's a smart or not.


SVN revision: 34419
2008-05-01 05:48:03 +00:00
Gustavo Sverzut Barbieri 4bc8043a10 Save 8 bytes from Evas_Object by packing interpolation.color_space.
Interpolation color_space (now ASHV or ARGB) was being used inside a
struct with 4 byte alignment. Remove it from the struct and make it a
bitfield so can be packed with the other fields. This saves 2
integers, so 8 bytes.


SVN revision: 34418
2008-05-01 04:14:08 +00:00
Gustavo Sverzut Barbieri 14cf29eede Use Evas_Coord_Rectangle in evas_object_image.c
SVN revision: 34415
2008-05-01 00:09:39 +00:00
Gustavo Sverzut Barbieri b46fc2a2f4 Save memory related to size hints.
Size hints are useful, but wasting 36 bytes for it on every object is a bit
too much: clippers and lots of other objects will have no need for it.

Now it's a pointer to a struct that will be allocated just when some value
is set, wasting 4/8 bytes more for the pointer when it is used, but saving
32/28 bytes when it is not.

This will also help to have alignment properties in future, that can come
as hints, without too much impact on memory consumption.


SVN revision: 34412
2008-04-30 22:51:08 +00:00
Cedric BAIL 2a123c0d6a Add support for evas asynchronous events.
SVN revision: 34410
2008-04-30 12:21:31 +00:00
doursse 208d20a30f * Add Windows CE engine (1st step)
The engine is not entirely working right now. Recent devices which
  supports the raw frame buffer should work though. But having it in
  cvs will help me as I'm coding it most of the time "blindly" (no
  device to test it)

 * minor formatting in the top evel Makefile.am too


SVN revision: 34354
2008-04-23 19:17:59 +00:00
Cedric BAIL 1a9cfba889 Removing trailing white spaces.
SVN revision: 34269
2008-04-14 09:31:31 +00:00
Carsten Haitzler ae1977a214 cedric's cache changes patch
SVN revision: 34253
2008-04-12 00:32:30 +00:00
Carsten Haitzler 27f1963fcb gustavo's size hint patch.
SVN revision: 34248
2008-04-11 23:12:20 +00:00
Carsten Haitzler 73b6cc9ff8 add a hold event to feed.
SVN revision: 34160
2008-03-31 21:38:38 +00:00
Carsten Haitzler f2aeab1bd6 fix some escaping :)
SVN revision: 34066
2008-03-20 21:15:16 +00:00
Gustavo Sverzut Barbieri 79a5be8ec3 Fix missing null terminator in textblock.
Although I used 3 lines comments to state it was not required, it is
required because none of the values accounted includes the '\0'.


SVN revision: 33940
2008-03-06 01:06:58 +00:00
Gustavo Sverzut Barbieri 23c566bb07 Cleanup textblock's strbuf implementation.
This should provide correct code in a simpler way by sharing some of
the common code among functions.

Tested with E17 basics, require some applications with extensive usage
of textblock manipulation to do validate results.


SVN revision: 33939
2008-03-06 00:41:47 +00:00
Gustavo Sverzut Barbieri 4bd8fdaeeb Fix evas_object_textblock's strbuf implementation.
Code was not tracking the real size of the allocated memory and was
increasing the string size by one, so the '\0' was being accounted and
the string was being truncated visually.

Patch will remember the exact allocated size and just increment the
string size by the added string, not including it's null-byte
terminator.

This is based on Cedric's BAIL patch set 'evas_object_textblock more
character fix', but doing the minimum to fix the problem.

PS: this code will be rewritten to share some implementation in next commit.


SVN revision: 33937
2008-03-05 21:30:22 +00:00
Carsten Haitzler 23aef39670 ooh - a case where callbacks may be cleared but we call one - list entry not
nulled out. fix.


SVN revision: 33848
2008-02-26 09:16:17 +00:00