Commit Graph

1448 Commits

Author SHA1 Message Date
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 4c9f900c60 Check the correct colorspace.
SVN revision: 34796
2008-06-10 14:21:06 +00:00
Cedric BAIL 0de14ee3ef Use display list for OpenGL polygons implementation. This improve speed on
my computer in expedite test bench from 400 to 650.


SVN revision: 34795
2008-06-10 12:18:54 +00:00
Cedric BAIL 7711f12d8e Use directly Image_Entry when possible.
SVN revision: 34792
2008-06-10 09:22:27 +00:00
Cedric BAIL 346b2c922d Fix width correctly depending on colorspace.
SVN revision: 34791
2008-06-10 09:20:41 +00:00
Cedric BAIL 47bf4e1999 cvsignore++
SVN revision: 34778
2008-06-09 08:59:09 +00:00
doursse 4e78b97de8 Fix engine wrt the latest changes in evas. Add error messages
SVN revision: 34757
2008-06-06 12:14:01 +00:00
Cedric BAIL 6a1b1c5ef9 Forgot to update the current allocated space.
SVN revision: 34744
2008-06-05 08:12:25 +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
Cedric BAIL 55bc10d2a0 Add evas_array_remove.
SVN revision: 34735
2008-06-04 16:39:43 +00:00
Cedric BAIL 2b8c136ad9 Fix a little bug with alpha flags not being correctly set.
SVN revision: 34734
2008-06-04 08:20:39 +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
Cedric BAIL 9feac9ef8b Fix common 16bpp engine use of alpha.
SVN revision: 34729
2008-06-03 14:45:39 +00:00
Cedric BAIL d102e3db82 * Make RGBA_IMAGE_HAS_ALPHA and RGBA_IMAGE_ALPHA_SPARSE part of
Image_Entry flag structure. This fix a bug with 16 bpp software engine.

        * Change image loader module API to take any Image_Entry. Same goes
        for evas_common_image_premul and evas_common_image_set_alpha_sparse.

        * Use new eet API: eet_data_image_read_to_surface.


SVN revision: 34728
2008-06-03 09:09:39 +00:00
doursse 03109fff6c add cvsignore
SVN revision: 34724
2008-06-02 06:40:26 +00:00
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
Carsten Haitzler 43821d36e4 * add efreet garbage data check
* remove printfs that clutter output
* add efreet file type check - only parse regular files
* chekc mmap returns correctly for MAP_FAILED results
* edje has some stubs for adding script-only objecvts - but nothing useful
right now


SVN revision: 34689
2008-05-29 02:00:04 +00:00
Gustavo Sverzut Barbieri 41e5ba66b6 Mark as dirty, fixes emotion usage.
SVN revision: 34687
2008-05-28 19:27:41 +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 b9ac050dd2 add DirectDraw backend. Seems faster on pda's that have it
SVN revision: 34668
2008-05-25 17:39:48 +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
doursse 51e193610d remove debug printf
SVN revision: 34652
2008-05-23 18:57:40 +00:00
doursse 0f071fe71d * put key management outside the engine. It's not its place in it
* make Ipaq H38xx and H39xx work with the framebuffer


SVN revision: 34650
2008-05-23 18:26:41 +00:00
doursse a1e64a5e9c fix framebuffer address on Ipaq H38xx and H39xx. GAPI is really really broken on these devices
SVN revision: 34642
2008-05-22 11:00:01 +00:00
doursse 4d7eac659d fix keys on Ipaq H38xx and H39xx
SVN revision: 34641
2008-05-22 10:40:40 +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
Peter Wehrfritz bb1f257f5f build again
SVN revision: 34565
2008-05-14 11:26:29 +00:00
doursse db311f0b05 wrong inclusion of Evas.h
SVN revision: 34561
2008-05-13 20:58:15 +00:00
Gustavo Sverzut Barbieri 782e77d9ae Remove DirectFB, will add a new one based on SDL code.
Remove DirectFB, will create a new one based on SDL.


SVN revision: 34559
2008-05-13 19:32:00 +00:00
doursse d7e2cb5163 Ipaq H38** and H39** are considered as landscape device because of their uglyness
SVN revision: 34517
2008-05-09 23:12:00 +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
doursse 340d0ed554 remove a possible seg fault when DestroyWindow() is called
SVN revision: 34507
2008-05-08 06:46:26 +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
Carsten Haitzler 5b10356d45 endif++!
SVN revision: 34407
2008-04-30 07:24:10 +00:00
doursse 39f63d6690 wrong commit
SVN revision: 34404
2008-04-29 22:38:27 +00:00
doursse a6a3a2a9db the address returned by draw_begin can be NULL
SVN revision: 34373
2008-04-26 12:32:29 +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
Cedric BAIL 3938160157 Fix directfb engine with new Evas cache API.
NOTE: This engine should be rewritten and use the new engine cache api.


SVN revision: 34360
2008-04-24 14:37:14 +00:00
doursse 39289b21d5 forget to modify some calls. Now fb and gapi should work
SVN revision: 34359
2008-04-24 06:18:09 +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 87f4bedb81 if xrender is on a 16bpp target - do some "faster" paths - i hope.
SVN revision: 34216
2008-04-07 23:07:23 +00:00
Carsten Haitzler 73b6cc9ff8 add a hold event to feed.
SVN revision: 34160
2008-03-31 21:38:38 +00:00
doursse 3ba03eab45 remove the explicit use of the DirectDraw interface by using the c++ API
SVN revision: 34153
2008-03-30 16:06:21 +00:00
doursse ebd938e4b1 remove the explicit use of the DirectDraw interface by using the c++ API
SVN revision: 34147
2008-03-30 09:16:53 +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
doursse 9f50836a12 update of the software xcb engine:
* use the pixman library for the region code (it is required, now). That
   libray can be found in the cairo ftp.
 * use the new xcb_image api that is in git repository. There is still a
   seg fault occuring because of xcb_image. I'll commit the fix in git
   next week.

The performance are not good at all. With expedite, 360 fps compared to
the 470 fps with xlib. I don't know why yet.


SVN revision: 33965
2008-03-09 13:21:16 +00:00
Carsten Haitzler c1fb45dcea poosible segv - but never gets run so it never happens
SVN revision: 33964
2008-03-09 09:35:12 +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 e076a78519 cedric's eet and edje patches to use eet dictionaries for strings.
SVN revision: 33873
2008-03-01 06:38:09 +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 a3ac3697ec Try to get DirectFB working.
This is an initial cleanup, basically I removed all the DirectFB
accelerated calls and moved it to software common. I do plan to
gradually bring these back later, probably blit, rectangle and line
will come first.


SVN revision: 33835
2008-02-25 06:13:53 +00:00