Commit Graph

392 Commits

Author SHA1 Message Date
Iván Briano 2bd045dd1f Pending patch from glima, who's on vacations.
Add two new canvas level callbacks: OBJECT_FOCUS_IN/OUT
As we already had callbacks for objects gaining or losing focus, then
two more for the Canvas, now we can have the entire Evas be notified when
any object changes its focused status. The object in question is passed
as the event_info for the callback.


SVN revision: 52196
2010-09-13 18:04:23 +00:00
Tom Hacohen 4c716af06a Evas textblock: cursor_geometry_get now also returns the direction of the cursor: rtl/ltr/whatever.
Fixed documentation a bit.

SVN revision: 51979
2010-09-08 07:28:16 +00:00
Lucas De Marchi 85815e306c Fix common misspellings
Following misspellings were fixed:

accomodate->accommodate
achive->achieve
beacuse->because
caluclate->calculate
cant->can't
carefull->careful
convertion->conversion
dependancy->dependency
dependant->dependent
doesnt->doesn't
existant->existent
extention->extension
fucntion->function
impliment->implement
inital->initial
lenght->length
occured->occurred
occuring->occurring
onyl->only
positon->position
possibilty->possibility
postion->position
proccessing->processing
proccess->process
propogate->propagate
recieve->receive
sucessive->successive
teh->the
ther->there
throught->through
thsi->this
wasnt->wasn't
whcih->which
wheras->whereas




SVN revision: 51965
2010-09-08 03:51:24 +00:00
Tom Hacohen 2d1d631b48 Evas textblock: Added evas_textblock_cursor_content_get.
SVN revision: 51898
2010-09-05 08:28:58 +00:00
Carsten Haitzler 4c63db37f8 in order to fix some horridibubble things. i had to add 4 api's. ugh.
done. working. now... still 1 more bug. seems to be a changed flag bug
too in dlip 2 test in scrolling list after map anim finished. smaller
bug to deal with now. ugh. bug one bug to the other



SVN revision: 51849
2010-09-03 00:06:56 +00:00
Tom Hacohen e8c59bf0e8 Evas textblock+font engine: Implemented evas_textblock_cursor_geometry_get.
Fixed evas_common_font_char_coords to work correctly with the NULL character in RTL text.

SVN revision: 51834
2010-09-02 11:49:00 +00:00
Carsten Haitzler af64cdd630 color interpolation? never used. did nothing. not needed. go go go!
SVN revision: 51781
2010-08-31 13:29:17 +00:00
Carsten Haitzler 318217b812 evas_smart_new - deprecated api gone.
SVN revision: 51780
2010-08-31 12:01:46 +00:00
Carsten Haitzler 81ba0d8423 imaging api--. as promised.
SVN revision: 51779
2010-08-31 11:58:51 +00:00
Carsten Haitzler 92fcbddbf7 move more callbacks to typedefs.
SVN revision: 51705
2010-08-29 01:59:21 +00:00
Carsten Haitzler 817c505230 remove transform stuff - never was implemented anyway so no effective
break.



SVN revision: 51384
2010-08-19 07:32:44 +00:00
Carsten Haitzler 61a4f8a0fc really minor - no api break. adding struct memmebrs that should have
been there. to implement request stuff properly. nothing breaks with
this. simply missing members we needed anyway.



SVN revision: 51270
2010-08-18 01:32:54 +00:00
Cedric BAIL 05e8154f8b * evas: remove gradient and gradient2.
SVN revision: 51219
2010-08-16 15:14:49 +00:00
Carsten Haitzler 35447ef1d4 evas -> 1.0.0 alpha readied.
SVN revision: 51158
2010-08-16 06:58:07 +00:00
Tom Hacohen 2b762c0f3b Evas: Update documentation of evas_object_textblock.
SVN revision: 50965
2010-08-10 14:36:48 +00:00
Tom Hacohen d5e579c2e9 Evas: Redesigned the textblock object.
Sorry, but full documented code will be committed tomorrow, this commit is needed for the API stabilization.
Major changes in this commit:
1. Changed the textblock node system there is now a linked list for the format nodes and a linked list for the text nodes. Format and text nodes point to one anoter in a matter that will be explained in the source file (will be committed tomorrow). Each text node now represents a paragraph and each format node points to a specific location in a text node.
2. Text/Format nodes are now two distinct data types.
3. The concept of nodes is no longer exposed in the API except for the format nodes which are only slightly exposed just to enable users of the API to cycle all the formats in order to find stuff like anchors.
4. Every node has a PS (paragraph separator) format node pointing to it's end, except for the last one which has nothing. Nodes are only broken by PS's.
5. Changed the BiDi functions to work nicely with offsets in big chunks of text.

More is explained in the email with the subject 'Evas Textblock redesign + edje_entry adjustments' that will be sent tomorrow because of technical issues.
For full documentation about this object wait for the next commit.

SVN revision: 50930
2010-08-09 16:24:17 +00:00
Alexander Kerner 0ec2a33a22 From: Alexander Kerner <alexander.kerner@googlemail.com>
Subject: [E-devel] 8bpp xcb evas engine

Hi all,

I've implemented the 8bpp grayscale evas engine. It is based on the 16bpp
engine. It would be nice if someone could review the code and maybe commit
into svn. The patches against evas and ecore are attached.



SVN revision: 50560
2010-07-28 00:16:06 +00:00
Brett Nash 4b7cab6ed4 Not pure, don't need to care about results.
Code with side effects is NOT pure.  Cdoe where you can ignore the return
value because you care about the side effects should not have WARN_UNUSED...
Please only add such things when you've checked


SVN revision: 49984
2010-07-02 00:44:03 +00:00
Cedric BAIL 7d75cf9914 * Evas: deprecating gradient API.
WARNING: I AM SORRY, BUT IF NO ONE IS PLANNING TO BECOME
	THE EFFECTIVE MAINTAINER OF THAT PIECE OF CODE, I WILL
	REMOVE IT NEXT WEEK.


SVN revision: 49945
2010-06-30 09:47:55 +00:00
Carsten Haitzler 4bd7dd03d6 move evas version inside extern c.
SVN revision: 49274
2010-05-29 06:37:19 +00:00
Carsten Haitzler 37e28d6008 evas version too.
SVN revision: 49268
2010-05-29 05:42:21 +00:00
Carsten Haitzler eaad0eb095 big patch from Samsung SAIT (Advanced research group) for async multi-frame
rendering. to turn on:

1.
configure with --enable-async-render
2.
export EVAS_RENDER_MODE=non-blocking
  
presto. necessitates some api swizzling (thus the expedite. ecore etc. changes)

the kind of results you get on a desktop:

http://www.rasterman.com/files/evas-async-vs-none.html



SVN revision: 49087
2010-05-21 07:10:45 +00:00
Carsten Haitzler 7041c968bf oooh you'd love to know why this is here.. won't you? :)
SVN revision: 48613
2010-05-04 15:58:10 +00:00
Carsten Haitzler 1112f418dc add api to get the item geometry itself. needed to put somethign there.
SVN revision: 48305
2010-04-25 12:40:26 +00:00
Gustavo Sverzut Barbieri 9b5981a52e Get a table element with its coordinates.
By: Hugo Camboulive <hugo.camboulive@gmail.com>


SVN revision: 48087
2010-04-17 20:27:53 +00:00
Carsten Haitzler afe65d7c0a add ability to dump engine coontents (if engine supports it). this means
unload images it has loaded from disk, unload fonts, and more. dump dump dump!



SVN revision: 47947
2010-04-12 08:23:53 +00:00
Iván Briano c1b67b4798 Add function to check smart type based on pointer alone. Useful when we have access to the class used to create the object.
SVN revision: 47413
2010-03-24 08:43:39 +00:00
Iván Briano 9570d2124c Couple of things for Smart Objects
* Subclass macro now gets a different function to retrieve the parent class,
   which should return a pointer to a fully set up class, instead of filling
   up one passed to it.
 * Add this functions and use them in SmartClippedObject and Box
 * New function to check the type of a Smart object all over its hierarchy tree


SVN revision: 47379
2010-03-23 01:22:20 +00:00
Gustavo Sverzut Barbieri db38ac7b30 use captial letter to follow the rest of the style.
SVN revision: 47325
2010-03-18 16:48:23 +00:00
Gustavo Sverzut Barbieri fd2659c572 evas: mega documentation improving commit.
This commit moves Evas.h contents a lot, but it should not change code
(some conts were added, some function attributes were changed).

The purpose of such is to define the order that doxygen show modules
in its documentation.

I also splitted documentation a bit more, and added a src/examples to
list useful example code. Right now it is just a pure-evas
draw-and-save using buffer engine.

NOTE: there is lots to document, and the @todo list is quite long but
      I guess lots of things there were done already. Raster, could
      you review this list?




SVN revision: 47308
2010-03-18 04:57:40 +00:00
Christopher Michael f883c94804 Add macros (actually defines like hint_fill_set) for expand_set to
make it easier for people to know that weight_set handles expansion.



SVN revision: 46992
2010-03-08 08:36:08 +00:00
Carsten Haitzler 10da9b00a3 api for image content hint - nothing uses it yet, but... it will. and does
nothing right now... but that will be able to change. it opens up better
optimisation paths in future.



SVN revision: 46922
2010-03-07 04:19:17 +00:00
Carsten Haitzler a4b6192e7f border_scale ... possible++
SVN revision: 46340
2010-02-21 06:21:15 +00:00
Gustavo Sverzut Barbieri 21d95ade17 typedefs in events, makes life easier for bindings and pointer references.
SVN revision: 46211
2010-02-16 15:37:53 +00:00
Gustavo Sverzut Barbieri e133d2f300 API break: proper Canvas events callback.
Canvas was (ab)using the same callback signature as Objects, so you
always got a confusing NULL parameter.

Just clean it up to be Evas_Object_Event_Cb and Evas_Event_Cb, each
with its own signature.



SVN revision: 46206
2010-02-16 12:59:37 +00:00
Gustavo Sverzut Barbieri 101ddb5c97 evas: help bindings.
* EVAS_CALLBACK_LAST as sentinel to detect number of events changed.

 * Evas_Event_Cb typedef.



SVN revision: 46144
2010-02-13 15:52:51 +00:00
Carsten Haitzler f35fa585c4 add 3 things
1. the concept of callbacks for a canvas as a whole. add/ del/ del_full these
2. focus in+out events for the canvas as a whole - can help solve some issues
with inoput methods + ecore-imf + entries (like edje_entry)
3. add callabcks to be called before/after flush of display.



SVN revision: 45761
2010-02-01 04:26:55 +00:00
Carsten Haitzler ad2b33c0bb native surface support lives - for GL (GLX) only. it works - or seemingly
does in my test casses. doesn't work for compositing though! don't know why.



SVN revision: 45383
2010-01-21 08:44:11 +00:00
Carsten Haitzler 6fab52157f map source api - nothing implemented. for future expansion.
SVN revision: 45281
2010-01-18 09:46:45 +00:00
Carsten Haitzler 04bcfb9245 improving multi-touch structs and code.
SVN revision: 45248
2010-01-17 08:52:21 +00:00
Mikhail Gusarov 49863000f6 evas: Fix prototype of evas_textblock_style_set, 'text' argument can be NULL
SVN revision: 45245
2010-01-17 06:01:13 +00:00
Carsten Haitzler 151515d816 initial multi-touch support.
SVN revision: 45212
2010-01-16 12:20:22 +00:00
Cedric BAIL 3cbf825501 * evas: Fix header to build with suncc. Patch from Vincent Torri.
SVN revision: 45185
2010-01-15 12:15:00 +00:00
Iván Briano 3b160b4354 So... this breaks Smarts ABI, rebuild everything after updating Evas.
This patch adds some stuff for smart callback description/instropection, which
is still untested but doesn't break anything that's out there now. Should help
with bindings later on.

Also some parenting guidelines for smart objects, so it's easier to spawn a
subclass out of another. Look at Box and Table for an example on this.

And again, rebuild everything that uses smart objects after this update, or
the world will turn into a happy place where lawyers are no longer needed...
and we don't want to upset the lawyers.


SVN revision: 45043
2010-01-11 14:24:41 +00:00
Carsten Haitzler 36e6b34070 add a device handle to events - break their structs now for future use.
SVN revision: 44859
2010-01-03 00:30:02 +00:00
Gustavo Sverzut Barbieri 51c00c6526 fix evas image loading error reporting.
Evas image load was always reporint "generic" error, since it was
disconnected from actual loader modules.

This commit will break the module loader API (as it's restricted to
inside Evas, this should be no problem). The return was turned into
"Eina_Bool" for clarity, while an extra "int *error" is responsible to
report errors. This approach was choosen to force compiler warnings
and to try avoid mistakes as EINA_FALSE == EVAS_LOAD_ERROR_NONE and
thus we'd get opposite behavior if something slips.

Most loaders play well, except by eet that does not provide means to
know if the file open failed due missing file, incorrect format or
corrupted file :-(

Please report any issues. I added eina_log debugging to loader
functions, just run your Evas application as:

     EINA_LOG_LEVELS=evas_main:4 your_app




SVN revision: 44666
2009-12-22 23:11:57 +00:00
Gustavo Sverzut Barbieri 9f082cc1d4 stringify load errors.
SVN revision: 44660
2009-12-22 18:06:15 +00:00
Christopher Michael 42e16b816d Fix typo.
SVN revision: 44381
2009-12-11 20:51:45 +00:00
Iván Briano 1f33962f78 <glima> commit msg would be something like: "applying size recalcs on
childs in the case they have size hints for Evas_Object_Box'es.
        it was documented on the layouts api but never implemented"



SVN revision: 43745
2009-11-17 00:19:24 +00:00
Gustavo Sverzut Barbieri 3e08cf2e23 more evas_map utils, let's avoid duplicating these everywhere.
SVN revision: 43612
2009-11-11 12:33:52 +00:00
Carsten Haitzler f514e72be7 fix 3d util api. better now.
SVN revision: 43418
2009-11-02 12:20:50 +00:00
Carsten Haitzler 2510cad2f0 some more util calls for 3d goop. not 100% sure i like it atm, but.. here goes.
SVN revision: 43411
2009-11-02 08:52:23 +00:00
Carsten Haitzler 069de70853 add color to the vertexes in map. this allows for fading/shading of
reflections, goraud shading for smooth 3d surfaces, mor realistic lighting
etc. etc. it comes at a small cost, but worth it.



SVN revision: 43384
2009-11-01 01:32:23 +00:00
Carsten Haitzler 1545cc226e more map work. now only re-render map surface if size changed or any contents
changed. still renders all, but better now. keeps map surfacer around for
shits and giggles until map unset or object deleted. als be able to set
smooth map and disable alpha (for smart objects)



SVN revision: 43362
2009-10-31 09:08:01 +00:00
Carsten Haitzler 5cc7803ef9 the start of other objects being able to map! text objects work.. tested.
SVN revision: 43323
2009-10-28 08:59:01 +00:00
Gustavo Sverzut Barbieri 6982f7b9c6 evas_map: more extensible and safe. add docs
change evas_map to return a structure that serves as an array of
points. This way we'll know for sure the number of points in it. Right
now it's hardcoded to 4, so check it, but in future we can just allow
more points and it should work.

added docs. I'm not sure about most of it, so it would be good to have
someone to review and fill in more, maybe that's raster? Grep for
"TODO" and you'll see the missing stuff. It would be good to add
examples in evas_map_point_coord_set() and
evas_map_point_image_uv_set()



SVN revision: 43211
2009-10-22 20:11:33 +00:00
Carsten Haitzler 7fce71c5d9 add some beginnigns of utility funcs to evas map. move it to its own file.
SVN revision: 43201
2009-10-22 15:47:30 +00:00
Carsten Haitzler ceb6cb9600 handle if uv are out of image coords - clamp. remove unsued bounds checks
(not needed anymore). also fix a black edge.



SVN revision: 43182
2009-10-21 14:45:55 +00:00
Carsten Haitzler 8bf3f50b2c map code... works.. with bugs... but works. visually...
SVN revision: 43163
2009-10-20 16:03:57 +00:00
Carsten Haitzler 37b66e806b new gl engine. no one uses it anyway. not 100% complete, but much better than
the old. and it ALSO does GLES2.0 as well asn GL.



SVN revision: 42982
2009-10-09 12:10:27 +00:00
Iván Briano 1d3f50027a Added version and insert_after to box api
SVN revision: 42862
2009-10-02 19:06:12 +00:00
Tom 39b6c9148c From: Tom <tom@stosb.com> (tasn)
Hey raster,

Here is the non intrusive patch I talked to you about. Please apply it as it
introduces some fixes, some improvements and mostly and underlying
infrastructure for future RTL improvements.

(note hebrew & yiddish seem fine, but things expedite test seems to show are
wrong (why i don't know as i dont speak the langs- just comparing to pango /
gtk output):

arabic seems lsightl wrong (maybe composition chars not working?)
gujarati - also seems wrong
malayam - also looks wrong
persian - looks wrong
sinhala - looks wrong
tamil - looks wrong

these are what, appear to me, to look wrong. why they look wrong, i don't
know. i'm guessing its compositiong not being handled. but i dont's peak,
read or write any of these languages so i am unsure of what it really should
be like, why and how to fix it.

anyone want to put up a hand? (everything else is displaying fine as best i
can tell - the langauges i read/speak/somewhat understand are working fine).



SVN revision: 42814
2009-09-30 04:23:21 +00:00
Carsten Haitzler ff09bcbaae add some macros/defin es to make life easier
SVN revision: 42757
2009-09-28 05:53:48 +00:00
Vincent Torri 0c0dbb92dc move EINA_DEPRECATED to the beginning of the declaration
SVN revision: 42571
2009-09-20 07:16:47 +00:00
Carsten Haitzler f780cc2c8f add "region" load opt. no loader handles it... yet
SVN revision: 42494
2009-09-15 13:34:12 +00:00
dieb c2fde2fa75 Trailing whitespaces--, remove wrong tabs.
SVN revision: 42454
2009-09-13 03:04:20 +00:00
Cedric BAIL 940b7b0740 * evas: Return Eina_Bool when it make sense.
SVN revision: 41458
2009-07-20 15:33:10 +00:00
Michael Lauer 565a623f26 evas: add first bunch of typedefs for previously anonymous callbacks
SVN revision: 41423
2009-07-18 22:43:18 +00:00
Cedric BAIL 0c9aead634 Evas_Rectangle are gone. We now use Eina_Rectangle and memory pool is
shared accross the application.


SVN revision: 41170
2009-06-23 13:57:27 +00:00
Cedric BAIL 010621dd4a * evas: Remove Evas data type. You should now use Eina.
SVN revision: 41083
2009-06-17 15:46:27 +00:00
Andreas Volz e2b32f8ad8 after discussion on IRC (#edevelop) with k-s and raster I removed the deprecated tag
SVN revision: 40886
2009-06-03 21:41:00 +00:00
Carsten Haitzler c3b8b4ee14 revertg big R to L patches because they break cursors and selection.... BACK
boy BACK!



SVN revision: 40783
2009-05-22 21:12:32 +00:00
Carsten Haitzler e999c88e80 tasn's rtl pathes and improvements... continued!
SVN revision: 40715
2009-05-18 06:08:15 +00:00
Carsten Haitzler f5c88e9d53 fix a corner-case textblock issue with end of line char pos
SVN revision: 40640
2009-05-14 12:52:44 +00:00
Vincent Torri fb5e325078 remove EINA_WARN_UNUSED_RESULT on functions that return nothing
SVN revision: 40565
2009-05-09 06:59:00 +00:00
Vincent Torri 7ac68a4283 include time.h header files because time_t is used in Evas.h
SVN revision: 40558
2009-05-08 21:46:01 +00:00
Carsten Haitzler f79b4a4a2f 1. scalecache config env vars an use them
2. more api's related to cserve



SVN revision: 40548
2009-05-08 11:26:25 +00:00
Carsten Haitzler 85bff718d6 1. scale cache now allows you to hint at the object if its dynamic, static or
none (ie default) and the engines actually understand it and use it.
2. fixes to scalecache and cserver too. more toto's done and its now been
stress tested by me - and i think cserve is ready to go gold. just enable it
with export EVAS_CSERVE=1 in your env for any eflapps - and run evas_cserve
(cmd-line options avalable plus cmd-line tol to query settings change on the
fly and query statsitics and state)



SVN revision: 40536
2009-05-07 13:29:56 +00:00
Gustavo Sverzut Barbieri 7468b45fbc export useful function.
SVN revision: 40065
2009-04-14 23:51:43 +00:00
Vincent Torri b61328192f API break (well, kind of...)
* evas_engine_info_set() returns now an int, to inform if
   an error occured or not when setting the info of the engine.
 * in the Evas_Func structure, the setup() method returns an int
 * all the engines are updated

I'll fix ecore_evas and ewl later (the compilation is still fine).

Gustavo: should I add EINA_WARN_UNUSED_RESULT at the end of the
evas_engine_info_set() function ?



SVN revision: 39670
2009-03-24 09:05:32 +00:00
Gustavo Sverzut Barbieri 5d557c78ff oops, fix wrong attributes.
SVN revision: 39637
2009-03-22 21:40:52 +00:00
Vincent Torri 3a774f6971 * Re-add EAPI. These macros must be defined specifically for each EFL
for Windows (XP and CE).
 * include Eina.h before EAPI so that this latter is defined correctly for Evas


SVN revision: 39599
2009-03-20 06:43:44 +00:00
Gustavo Sverzut Barbieri 8347690e99 evas now use eina attribute macros.
let's stop replicating these macros over and over again, also flag
evas functions with attributes to help with optimizations.

TODO:

 * move functions returning "int" as boolean to Eina_Bool

 * move api entry to EINA_SAFETY_*

 * document api



SVN revision: 39598
2009-03-20 01:03:15 +00:00
Gustavo Sverzut Barbieri 59236beb8b Oops, missing file.
GIT would help me avoid this mess.



SVN revision: 39268
2009-02-27 16:33:50 +00:00
Carsten Haitzler cb94c8fadd in theory - (not tested yet) allow hitns to set middle to solid of
borderscaling.



SVN revision: 39000
2009-02-12 13:38:33 +00:00
Iván Briano 8d7855081a Make evas_object_table_smart_set static.
Makes no sense to export it when table is not meant to be inheritable.



SVN revision: 38516
2009-01-09 13:31:51 +00:00
Gustavo Sverzut Barbieri 089b1c7925 fix image preload signature and make it callback if already preloaded.
evas_object_image_preload() should not use object as const because it
will mdofiy the object state (so it's semantic makes more sense).

if data was already loaded, then callback before ignored it (return).



SVN revision: 38246
2008-12-20 13:39:15 +00:00
Iván Briano d413635b56 More proper fix for the infinite calculate in evas box.
SVN revision: 38205
2008-12-18 03:04:15 +00:00
Iván Briano 31658d4f1e Added iterator and accessor to box and table
SVN revision: 38203
2008-12-18 02:39:09 +00:00
Iván Briano 05af27f999 Guard box from getting into an infinite loop when calculating layout.
SVN revision: 38182
2008-12-17 14:10:09 +00:00
Iván Briano 140b0a9fca Add function to get the length in characters of a string
SVN revision: 38158
2008-12-15 22:03:04 +00:00
Gustavo Sverzut Barbieri 643624fe59 helper: evas_object_image_filled.
This helper will take care of applying fill property to match object size.



SVN revision: 38120
2008-12-12 22:36:47 +00:00
Davide Andreoli bb2cc93ebc * add the function:
Evas_Bool evas_object_box_remove_all(Evas_Object *o, Evas_Bool clear);
* set min size hint on layout (flow layouts not done yet)


SVN revision: 37758
2008-11-23 02:01:38 +00:00
Gustavo Sverzut Barbieri 4e108162aa make it easy to write bindings for box.
giving an extra void *user_data to layout function is now easy to
write bindings, just give the callback to be a generic function that
will call the language/binding specific function handled as user_data.

Example, for python we can use:

   void _layout_dispatcher(Evas_Object *o, Evas_Object_Box_Data *priv, void *data) {
       PyObject *pyobj = data, *args;

       args = PyTyple_New(1);
       PyTuple_SET_ITEM(args, 0, Evas_object_from_instance(o));
       PyObject_Call(pyobj, args, NULL);
       Py_DECREF(args);
   }

   evas_object_box_layout_set(o, _layout_dispatcher, pyobj, Py_DecRef);


SVN revision: 37640
2008-11-14 23:10:29 +00:00
Carsten Haitzler 9705e3c741 hmmm after some talking - for now put the transform patch on hold - we need
tyo fix up some of these breaks first and there isn't a lot of time devoted
to this. so revert this. it's in svn history so we can dig it out any time we
like.



SVN revision: 37453
2008-11-04 09:19:35 +00:00
Carsten Haitzler 3e984fee34 jose's transform patches. some things to note:
1. nearest scaling is now broken - it's always linear interpolation. this
will lead to slowdowns. i need to fix this - a must.
2. i think it's time i put in a transformed image cache that can cache an
image object at a transform (and share it) automatically.
3. transforms in non-software-engines will not work - broken. need to at
least do xrender and gl engines.

any volunteers to help?



SVN revision: 37447
2008-11-03 22:50:54 +00:00
Michael Lauer f10451da1f evas: rename 'delete' parameter in evas_object_table_clear to 'clear'.
delete is a reserved keyword in C++.


SVN revision: 37383
2008-11-01 20:55:22 +00:00
Gustavo Sverzut Barbieri f2791cdc56 Add evas_object_table, make evas_object_box more consistent.
Table code is still *incomplete*, it just do homogeneous layouts as
I'm still trying to figure out how to make it great.

I'm not expecting to make layout configurable, as we did for box, but
if you think it's required we can do that later.

Now that the public API of both BOX and TABLE are in, we can add these
as parts of Edje.



SVN revision: 37359
2008-10-31 17:42:47 +00:00
Gustavo Sverzut Barbieri 5026fa724a add evas_object_box.
Box is a smart object to help with the common task of laying out lots
of objects. It's very flexibile and one can customize the layout
function on a per-object basis dynamically, just set a new layout
function (the most common are provided). By default layouts use size
hints from children to do their work, but one can also add new
properties, just subclass with evas_object_smart_smart_set() and then
define your own option_* callbacks.

This code was ported from Guarana (widgets/sequence_box.c) with
permission of ProFUSION embedded systems so it can be relicensed from
LGPL to Evas license.

Original author: Gustavo Lima Chaves <glima@profusion.mobi>
Port: Gustavo Sverzut Barbieri <barbieri@profusion.mobi>



SVN revision: 37188
2008-10-27 02:22:41 +00:00
Gustavo Sverzut Barbieri 5854b1429e Add member_{add,del} as smart callbacks.
On the let's break 'em all bandwagon, add the two callbacks (or
virtuals if you like the name) so we can know when some object is
attached or detached as a member of our object, this will help
eliminate confusing and duplicate functions like
evas_object_smart_clipped_smart_add().

Please recompile *ALL* your libs and applications that depend on Evas
and Smart Objects, like ETK.



SVN revision: 37084
2008-10-25 02:49:19 +00:00
Carsten Haitzler bf8905c54d add a "repch" (replace char). for passowrd mode! :)
SVN revision: 36956
2008-10-22 08:57:30 +00:00
Carsten Haitzler e4e3b0d5a2 better escaping!
SVN revision: 36954
2008-10-22 04:44:22 +00:00
Cedric BAIL 465b76a017 Remove Evas_List from Evas.
SVN revision: 36942
2008-10-21 16:31:05 +00:00
Carsten Haitzler 59d9e81427 more textblock work/additions for entry support.
SVN revision: 36708
2008-10-16 09:17:37 +00:00
Carsten Haitzler 8cd80ffc56 more fixed to textblock plus an addition - reverse the markup.
SVN revision: 36664
2008-10-15 09:58:17 +00:00
Carsten Haitzler 07447cf079 add align, weight and padding hints for evas objects.
SVN revision: 36429
2008-10-04 16:11:23 +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 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 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 d095344c86 constness
SVN revision: 35612
2008-08-21 22:12:56 +00:00
Jaime Thomas 0219f7fc2f Typo
SVN revision: 35336
2008-08-06 02:37:24 +00:00
doursse a9e090a81b * move Evas_Hash_El from evas_common.h to evas_hash.c as
it is not used outside evas_hash.c
 * move data types api from Evas.h to Evas_Data.h


SVN revision: 34974
2008-07-02 04:44:38 +00:00
Cedric BAIL 55bc10d2a0 Add evas_array_remove.
SVN revision: 34735
2008-06-04 16:39:43 +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 c766fe91db Add array type to evas.
SVN revision: 34676
2008-05-26 13:17:12 +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
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 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 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
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
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 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 5233796eb5 Add const to Evas api, still lacks objects.
SVN revision: 33711
2008-02-08 20:44:09 +00:00
Gustavo Sverzut Barbieri 7cb7216314 Add const: evas_hash.c
As agreed on IRC, evas_hash_foreach() now takes const, to make clear
that hash shouldn't be changed. If one wants to change he must do a
cast and return 0.  However this will require users to be updated in
applications.


SVN revision: 33708
2008-02-08 19:55:03 +00:00
Gustavo Sverzut Barbieri 1d5d592e14 Add const: evas_list.c
SVN revision: 33706
2008-02-08 19:16:13 +00:00
Gustavo Sverzut Barbieri de12b6d89a Avoid lots of casts.
SVN revision: 33704
2008-02-08 18:42:42 +00:00
Carsten Haitzler cba063d93b i've added event flags. this allows objects on top to add flags tyo events
(like put an event on hold) while it still passes through. object under it
need to be awar of evewnts being on hold as you may want hypbrid behaviors.


SVN revision: 33560
2008-01-23 04:19:26 +00:00
Carsten Haitzler e6aa181b56 add a DEL callback - called at the very start of object deleteion.
SVN revision: 31942
2007-10-03 04:09:36 +00:00
moom c9264664d9 * Add interceptors for color_set(), clip_set() and clip_unset()
SVN revision: 31460
2007-08-22 16:45:37 +00:00
Carsten Haitzler 4b435be1ed move a chunk of stuff to use evas_smart_class_new() - evas_smart_new() will
probably die as it's already got legacy funcion methods for layer etc. stuff.


SVN revision: 31161
2007-08-04 13:12:43 +00:00
Gustavo Sverzut Barbieri eda1f13b33 Support for selectable pointer_mode.
Evas now support objects that do not grab mouse down event (NOGRAB) aside
with the default (AUTOGRAB). API is meant to be extensible.


SVN revision: 30950
2007-07-24 14:20:07 +00:00
Carsten Haitzler d6f9cc797e adrunko's precise event patch
SVN revision: 30939
2007-07-23 14:22:57 +00:00
Carsten Haitzler 78408fe60a 1. fix a lot of things so they pass make distcheck - so many things have
broken. guys - need to be more careful!
2. asparagus
3. some extra docs/comments for evas


SVN revision: 30696
2007-07-10 00:13:26 +00:00
Carsten Haitzler c303f04048 add an engine idle flush
SVN revision: 30355
2007-06-17 02:56:59 +00:00
Carsten Haitzler 16df9e0047 add in the work I did for a 16bit engine - for now, a dormant project until i
can be convinced it provides real and significant speedups that warrant the
significant effort.


SVN revision: 29770
2007-04-29 15:45:40 +00:00
Carsten Haitzler 6e452edfd4 patches applied as per emails :)
SVN revision: 28302
2007-02-10 17:23:09 +00:00
Carsten Haitzler 5fc48a2b07 actually dont delay so long in deleting objects. make it happen sooner
SVN revision: 28014
2007-01-16 10:17:10 +00:00
Carsten Haitzler f83220c857 not complete yet - actually i need help with the fragment shader.
in evas_gl_texture.c i have a frag shader, and it tries to use a set of 3
textures that act as the yuv planes, BUT the u and v textures (Utex and Vtex)
are simply getting values from the Ytex - regardless of what i try. grrr.
what's up with that?


SVN revision: 27495
2006-12-17 15:48:52 +00:00
Carsten Haitzler 2058cfd58b 1. add new api calls to 1. set a "native surface" for image objects. this
currently does nothing and i have kept it VEEERY generic it's a pointer to a
native surface which can be just about anything - each engine will probably
define a format of its own you need to use VIA the native surface type.
2. add calls to set/get colorspace - moving this down into the engine level.
so far engines do nothing at all with it - but api is there.
3. clean up gl engine a bit - make it more standard.


SVN revision: 27389
2006-12-09 08:52:08 +00:00
Carsten Haitzler 0a798ec6a8 add version to smart classes.
SVN revision: 27323
2006-12-02 03:20:56 +00:00
Carsten Haitzler 8c93e825a8 same as previous commit.
SVN revision: 26236
2006-09-30 10:18:37 +00:00
Carsten Haitzler 0889c589f2 added the ability to set load scaledown, dpi or load size - the svg loader
uses these to know what to render and how (or has defaults if these are not
set)


SVN revision: 24868
2006-08-18 14:45:26 +00:00
sebastid 2c14125fbf space
SVN revision: 24539
2006-08-10 17:21:40 +00:00
sebastid 0410bbcf4a Fix formatting
SVN revision: 24403
2006-08-05 03:07:29 +00:00
ningerso d85048c93f Did some cache miss profiling with a large number of transient text objects
and found that reordering the evas list containing the font path list was
actually hurting cache performance. Frequent cache misses occurred in
evas_mempool_free in it's main loop. So removing the list node and re adding it
actually decreased cache performance in some cases. This would also cause memory
allocation bouncing if mempools were not used.

Added evas_list_promote_list to move a list node to the beginning of a list.
Changed reordering lists to use evas_list_promote_list.


SVN revision: 24387
2006-08-04 10:00:50 +00:00
moom ac0055db7e * Add evas_object_smart_parent_get() to get the smart parent of an Evas_Object
* Add evas_object_smart_members_get() to get a list of the member objects of a smart object


SVN revision: 24374
2006-08-03 02:14:53 +00:00
Carsten Haitzler 6590dd220f add 2 list calls that well - i need for efficiency :)
SVN revision: 24245
2006-07-27 19:27:34 +00:00
sebastid a17c875ddc Add const.
Remove unused variables.


SVN revision: 23027
2006-05-31 18:33:46 +00:00
Carsten Haitzler 77e35d60a3 jose's software rendering work - slight improvements (about 5-10%). i had to
disable destination alha mmx support for text rendering (mask + color) as it
was broken in tests.


SVN revision: 22440
2006-05-02 07:28:49 +00:00
Stafford Mitchell Horne 3a6d184758 Add API for getting the available fonts
SVN revision: 22416
2006-04-30 11:39:44 +00:00
Carsten Haitzler e8bf4cdcbb make hinting an engine api thnig - engine apis need to be mroe easily updated
SVN revision: 20850
2006-02-28 04:07:49 +00:00
Carsten Haitzler 10d6748b56 evas lets you choose font hinting - in theory. :)
SVN revision: 20823
2006-02-27 14:03:27 +00:00
Carsten Haitzler d410036b81 removes some unused struct members (should remove more though) and fixes up
modular loaders


SVN revision: 19814
2006-01-15 06:21:05 +00:00
doursse 6357a06396 loaders are now modules
SVN revision: 19805
2006-01-14 20:03:42 +00:00
Carsten Haitzler f435375b19 initial import fo loadable engine modules for evas - from jorge zappie :)
SVN revision: 19775
2006-01-14 12:13:38 +00:00
sebastid 19f6192f71 Don't remove const. Other code should be fixed instead.
SVN revision: 19609
2006-01-07 14:26:01 +00:00
sebastid 237cdc2373 Remove the const. It generates a _lot_ of warnings.
SVN revision: 19607
2006-01-07 14:12:33 +00:00
Carsten Haitzler 7554f8ee36 actually make symbol hiding work!
SVN revision: 19314
2005-12-27 17:17:31 +00:00
Carsten Haitzler 1b272aec90 joses's gradient work - gradient look nice. one problem jose.. USE BRACKETS!
do NOT depend on order operation precedence. it broke scaling. laos other
completely bizarre mmx things were going wrong with mm7 ending up not 0 so
i've had to force it to be 0.


SVN revision: 18811
2005-12-03 09:27:53 +00:00
Carsten Haitzler aaf6e303bd use stringshare. saves a few hundred allocs... if we start doing lots of text
:)


SVN revision: 18679
2005-11-28 15:18:01 +00:00
rbdpngn 74dc468be3 Create a shared style type enum and padding mapping function.
Implement styles for the text object.
Add soft outline text style to text and textblock.


SVN revision: 18644
2005-11-26 08:04:20 +00:00
Carsten Haitzler 6f24506e8b 1. diable a bunch of engines from auto-detecting stuff. you have to manually
--enable gl, qtopia and directfb enigines - they are either incomplete, buggy
or simply used so little that its not worth building unless the user REALLY
wants the support.


SVN revision: 18424
2005-11-11 06:09:46 +00:00
Carsten Haitzler d1861a8d4c add a call
SVN revision: 18336
2005-11-06 09:47:28 +00:00
Carsten Haitzler f56726798f add calls to tell evas to propagate (or not) events on an object to its
parent smart object IF there is a callback set. ie. if there is a key down
callback set and propagae is set to false then the key event will not
prpagate to the parent as long as the child gets the key down events and has
the callback set.


SVN revision: 18123
2005-10-30 05:07:51 +00:00
Carsten Haitzler 83f010591d no more old textblock - gone. completely. tb2 renamed (as threatened) to
textblock. updated edje and e17.


SVN revision: 18054
2005-10-28 02:56:27 +00:00
Carsten Haitzler 208de4897a the first wave of evas smart object modes. commit hell #1. :) other things
still need updating in cvs - but i am sure others can do that :)


SVN revision: 18001
2005-10-27 02:44:36 +00:00
Carsten Haitzler f4a8513aa4 an xrender engine. fully complete - but it doesnt support shaped window masks
and destination alpha like software_x11 does so its not a 100% dropin
replacement... yet


SVN revision: 17112
2005-10-02 15:15:44 +00:00
Carsten Haitzler 37d8934a0e text range get works. u can gety it INLCUDING \n's and \t's (simple
formatting) as plain text - for u dj2! :)


SVN revision: 16684
2005-09-11 03:23:11 +00:00
Carsten Haitzler 79127a2267 more tb2 work! :)
SVN revision: 16675
2005-09-10 11:51:52 +00:00
Carsten Haitzler b672283702 tb2 work! :)
SVN revision: 16671
2005-09-09 14:19:06 +00:00
Carsten Haitzler e62fcac4f3 more tb2 work!
SVN revision: 16467
2005-09-02 15:27:09 +00:00
Carsten Haitzler 5fc8d291e1 fix some leaks, bugs and add api calls that work! :)
SVN revision: 16432
2005-08-30 15:19:39 +00:00
Carsten Haitzler 5236734f1d remove debugging rect
SVN revision: 16393
2005-08-29 05:21:07 +00:00
Carsten Haitzler f2501ae4f1 tb2 work
SVN revision: 16389
2005-08-28 06:41:54 +00:00
Carsten Haitzler 8b2d57a76c temporary smart stacking workaround until we fix it properly with internal
sub-object lists


SVN revision: 16367
2005-08-26 06:53:37 +00:00
Carsten Haitzler e8973254f1 you can query certain format nodes - like \n and \t... :)
SVN revision: 16252
2005-08-21 05:13:49 +00:00
Carsten Haitzler c50dc66ff5 more tb2!
SVN revision: 16241
2005-08-20 08:01:59 +00:00
Carsten Haitzler 52f8f3be64 some more work on tb2
SVN revision: 16234
2005-08-18 15:59:42 +00:00
Carsten Haitzler 8ad2ab73de doing more work on tb
SVN revision: 16037
2005-08-05 10:08:05 +00:00
Carsten Haitzler 19ee9c1e0d i have started work on new textblock api/code - it is (for now) known as
textblock2 (the old textblock code is still there in textblock_old and the
api is still there until we swtich over).

...

important right nwo is COMMENTs on the api. do u like it. i am tryng to
keepit simple. right nwo i am writing JUSt enought to implement the markup
set api and styles - not a lot for editing and detailed queries yet. i will
work on that once the basic markup parse, style stuff and layout is done.


SVN revision: 16017
2005-08-03 13:07:00 +00:00
Carsten Haitzler a1a07c06c3 one way or the other i'm forced to add timestamps to events - i cant avoid it
anymore. sorry guys. really no way around it. :(


SVN revision: 15891
2005-07-25 09:55:47 +00:00
Carsten Haitzler acc0701e10 1. id3 album cover loader patches
2. i reduced list note memory usage by 20% - shoudl work better with malloc
as ti is now a power of 2 as well
3. optimised evas internals to make use of event freezes to make e17'sw menu
popups a LOT snappier
4. fixed using last member of list nodes - bad - shoudl use api as this is
private stuff really
5. added config profile stuff to e17  u can literally maintain multiple
config profiles and choose which one at any time etc.


SVN revision: 15864
2005-07-22 10:28:11 +00:00
sebastid 3f776d358a Cleanup some headers.
Remove duplicate typedefs and declerations.


SVN revision: 15407
2005-06-18 01:00:32 +00:00
Carsten Haitzler 75ae92333a warnigns cleanups + fb 32bpp transparency support for evas from celement
SVN revision: 14893
2005-05-22 03:02:15 +00:00
Carsten Haitzler 46e02cf8bb whitespace
SVN revision: 14889
2005-05-22 02:49:50 +00:00
sebastid 1de81f6bb6 I like is_set better than is_set_get. It's shorter and looks better and
gives the right description.


SVN revision: 14565
2005-05-03 08:02:29 +00:00
Carsten Haitzler 5fa03d138e support unfilled borders with images (middle doesnt fill)
SVN revision: 14037
2005-03-31 11:39:55 +00:00
Dan Sinclair 520506a7b3 - rename function for consistency
SVN revision: 13659
2005-03-08 03:33:09 +00:00
Carsten Haitzler 76d51ef015 tabs work...
added align to position todo.
then margins...
then anchors...
damn... and thats like... usable and shit...


SVN revision: 13421
2005-02-18 09:44:27 +00:00
Carsten Haitzler c562850750 remove api that isnt functioning and wont for a while.
SVN revision: 13404
2005-02-16 15:38:44 +00:00