Commit Graph

908 Commits

Author SHA1 Message Date
Carsten Haitzler c510afbd8e end_opt not needed there.
SVN revision: 34715
2008-06-01 00:40:58 +00:00
Carsten Haitzler 7752c8a3e5 and fix the gradient bug - yes. it is a GRADIENT BUG. you emms() when u are
totally done and may hand control back to a non rendering codepath - or
before u do any fp ops u are unsure of the cpu state beforehand. see the big
fat comment.

i was right. it was a missing emms.


SVN revision: 34707
2008-05-31 04:16:39 +00:00
Cedric BAIL 0c85857e57 Fix a typo.
SVN revision: 34701
2008-05-30 13:55:51 +00:00
Cedric BAIL 0ca6c0a0bb Add a private data member to cache image structure.
SVN revision: 34700
2008-05-30 13:33:40 +00:00
doursse 7f47953b78 missing EAPI in front of evas_common_gradient_geometer_get()
other gradient related functions (lines 1138 - 1143) seem to
be used only internally. Maybe we should move them elsewhere.


SVN revision: 34694
2008-05-30 05:56:53 +00:00
doursse 37eed61ee8 put unistd.h after sys/types.h. Seems to be needed for vc++. Thanks to Dmitriy Mazovka
SVN revision: 34691
2008-05-29 05:48:16 +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 c766fe91db Add array type to evas.
SVN revision: 34676
2008-05-26 13:17:12 +00:00
Cedric BAIL 777410eac2 Make the most used functions inline functions.
SVN revision: 34675
2008-05-26 13:08:54 +00:00
doursse 5ce3b6752b fix compilation with a c++ compiler, add EAPI in front of all cache function declarations
SVN revision: 34659
2008-05-24 18:26:51 +00:00
Cedric BAIL 0e253aaca6 Their is no more allocation with evas_object_list. Remove useless test.
SVN revision: 34633
2008-05-21 12:23:47 +00:00
Gustavo Sverzut Barbieri a4ed92a1a5 Remove bugs with bitfield usage, make boolean usage clear.
This patch fixes the problem with bitfield of signed types (ie: char),
where the bit would be used for the signal, so 1 is considered -0 and
thus 0.

Move all the single bit fields to Evas_Bool, making it clear and also
avoiding these problems since Evas_Bool is unsigned char.


SVN revision: 34631
2008-05-20 20:56:39 +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 cd0fd38a9c add file
SVN revision: 34606
2008-05-19 03:37:37 +00:00
Carsten Haitzler 0d42705593 adapt to newer valgrind goop
SVN revision: 34605
2008-05-19 03:29:54 +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
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