Commit Graph

891 Commits

Author SHA1 Message Date
doursse 37607b5e8e config.h is already included in evas_common.h
SVN revision: 34599
2008-05-18 22:28:10 +00:00
doursse fb826a2200 remove trailing spaces
SVN revision: 34586
2008-05-16 04:55:31 +00:00
Cedric BAIL b85c0672c4 Update the stride when needed.
SVN revision: 34566
2008-05-14 16:38:36 +00:00
doursse db311f0b05 wrong inclusion of Evas.h
SVN revision: 34561
2008-05-13 20:58:15 +00:00
Christopher Michael 355b22f3a7 Add missing prototype for _evas_cache_image_entry_delete because it was
being used before the function was defined.


SVN revision: 34516
2008-05-09 19:04:49 +00:00
Cedric BAIL d31b0db3ca Fix a bug when a file change when it's still in use. Thanks to Adriano Rezende for helping tracking the bug.
SVN revision: 34513
2008-05-09 16:18:18 +00:00
Carsten Haitzler 6c439dbd46 stringshare buckets -> 1024 + debugging for testing.
SVN revision: 34509
2008-05-08 08:34:55 +00:00
Cedric BAIL 5f41def624 Only call the allocation surface when required and correctly handle no_free.
SVN revision: 34480
2008-05-06 11:20:29 +00:00
Carsten Haitzler 0688234e2f notes - cedric... i think i may have found a problem here...
SVN revision: 34443
2008-05-03 08:31:26 +00:00
Carsten Haitzler 42facfffe6 1. dont free/realoc if no_free is set.
2. free then malloc otherwise realloc might ALSO have to memcpy if it cant
resize the segment whihc means overhead we dont need/want.


SVN revision: 34441
2008-05-03 06:38:45 +00:00
Carsten Haitzler 14e2187305 get rid of 0 byte alloc
SVN revision: 34440
2008-05-03 05:33:26 +00:00
Gustavo Sverzut Barbieri f89e8850c2 Fix users of evas_object_layer_set() outside the "short" range.
This also introduces EVAS_LAYER_MIN and EVAS_LAYER_MAX for ease of use.


SVN revision: 34421
2008-05-01 06:39:27 +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 625e124f05 Reorganize Evas_Object to save 20 bytes.
This is a repack of bitfield members, was tested on GNU/Linux + GCC 4.1.2
and works fine. Needs further testing on other compilers.


SVN revision: 34417
2008-05-01 03:52:20 +00:00
Gustavo Sverzut Barbieri 80f8e23d77 Use more specific types in Evas_Object.
SVN revision: 34416
2008-05-01 03:42:21 +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 29549249c4 Cosmetic: add name to structs: Evas_Coord_Rectangle.
Non-intrusive change to name structs of Evas_Coord x, y, w, h.

TODO: intrusive changes to use this struct, will need to fix ".c"


SVN revision: 34414
2008-04-30 23:58:43 +00:00
Gustavo Sverzut Barbieri dbf35460a6 Cosmetic: Visual alignment of member name.
SVN revision: 34413
2008-04-30 23:44:03 +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
Gustavo Sverzut Barbieri 54c06677b4 Export missing size_hints methods.
SVN revision: 34411
2008-04-30 22:13:50 +00:00
Cedric BAIL 2a123c0d6a Add support for evas asynchronous events.
SVN revision: 34410
2008-04-30 12:21:31 +00:00
Gustavo Sverzut Barbieri 247e2556a5 Evas_Bool should be unsigned.
This will help the use of Evas_Bool to define bitfield structs like in:

struct s {
        Evas_Bool a:1;
        Evas_Bool b:1;
        Evas_Bool c:1;
        Evas_Bool d:1;
        Evas_Bool e:1;
        Evas_Bool f:1;
        Evas_Bool g:1;
        Evas_Bool h:1;
        Evas_Bool i:1;
};

It must be unsigned or it would use the signal bit, having "a == 0" to
be true anyway, as it would be just +0 and -0.


SVN revision: 34362
2008-04-24 15:31:57 +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
doursse 56eacad43d Autotools cleaning (not complete)
* formatting
 * put WIN32_CFLAGS in AM_CFLAGS and not AM_CPPFLAGS, as it is where it belongs
 * rename create_shared_lib to lt_no_undefined
 * pass -Wl,--enable-auto-import to libtool when compiling with cegcc
 * add files to EXTRA_DIST only when they are not in _SOURCES or _include_HEADERS (they
   are added anyway)


SVN revision: 34353
2008-04-23 06:55:10 +00:00
Cedric BAIL 47c7f1aa08 Fix a bug caused by duplicated entry in the activ and dirty cache list.
SVN revision: 34302
2008-04-17 15:30:03 +00:00
Carsten Haitzler 184bfa989d fix image dirties with yuv and software rendering
SVN revision: 34272
2008-04-15 15:20:53 +00:00
Cedric BAIL 1a9cfba889 Removing trailing white spaces.
SVN revision: 34269
2008-04-14 09:31:31 +00:00
Carsten Haitzler 38689004fb missed this. add.
SVN revision: 34255
2008-04-12 05:33:13 +00:00
Carsten Haitzler 35b8f22752 add missing files.
SVN revision: 34254
2008-04-12 02:11:07 +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
Gustavo Sverzut Barbieri 7fe7199a0c Minor reorganization of Evas_Object fields.
Move pointer_mode (size 4) before bitfields, leave 'delete_me' as it's
a byte, this still have 2 bits left from unsigned short and another
byte around delete_me to make it grom from 244 bytes.


SVN revision: 34068
2008-03-21 07:13:46 +00:00
Carsten Haitzler f2aeab1bd6 fix some escaping :)
SVN revision: 34066
2008-03-20 21:15:16 +00:00
doursse 219831980f * Remove Windows code in evas_module.c and use evilness instead
* Allow Windows Mobile to correctly load dll's
 * Use correct scheme for EAPI on Windows and include config.h when necessary
 * add -mwin32 to compiler flags when compiling with cegcc


SVN revision: 34024
2008-03-14 16:49:49 +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
Peter Wehrfritz 5acbfcb6e3 add portable pixmaps image loader
SVN revision: 33880
2008-03-01 15:27:20 +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
Gustavo Sverzut Barbieri 4d5430d438 Add room for '\0' in textblock calculations.
In evas_object_textblock, the length forgot the '\0', this create a
buffer overrun.

Author: Cedric BAIL


SVN revision: 33747
2008-02-15 14:45:31 +00:00
Gustavo Sverzut Barbieri 9b983b96b1 Patch by Cedric to really shutdown font system.
every thing is not really cleaned on shutdown (It make it crash, if
you shutdown completely the font system and then restart it again).

Author: Cedric BAIL


SVN revision: 33746
2008-02-15 14:43:51 +00:00
Gustavo Sverzut Barbieri 5d571051b9 Add const to Evas api: objects and remaining bits.
SVN revision: 33716
2008-02-08 22:35:19 +00:00
Gustavo Sverzut Barbieri 2756696bbe Add const to Evas aoi (part 3), still lacks objects.
SVN revision: 33715
2008-02-08 21:42:01 +00:00
Gustavo Sverzut Barbieri bbc9773a26 Add const to Evas api (part 2), still lacks objects.
SVN revision: 33713
2008-02-08 20:57:30 +00:00
Gustavo Sverzut Barbieri 1def3acd63 Missing const to callback parameter.
SVN revision: 33712
2008-02-08 20:54:18 +00:00
Gustavo Sverzut Barbieri 5233796eb5 Add const to Evas api, still lacks objects.
SVN revision: 33711
2008-02-08 20:44:09 +00:00
Gustavo Sverzut Barbieri 903a4d6e4d Add const to Evas_Smart_Class pointer.
The previous commit just removed the warning, but it was not the ideal
solution. The class is really a constant, nobody should change it
after it's assigned.


SVN revision: 33709
2008-02-08 20:03:48 +00:00