Commit Graph

382 Commits

Author SHA1 Message Date
Carsten Haitzler 12d1b2d24d flesh out valign prop to have real api. untested currently.
SVN revision: 58199
2011-03-30 10:31:29 +00:00
Carsten Haitzler 3d26ace1c7 evas: add memory image loader api. ask not how it works or i shall
disembowel you. ktnxbi.



SVN revision: 57736
2011-03-14 10:53:37 +00:00
Carsten Haitzler b893963ee8 i cannot believe evas has lasted this long without this. obj ref &
unref.



SVN revision: 57582
2011-03-08 12:23:37 +00:00
Tom Hacohen 56f8891073 Evas textblock: Added a mode for setting newline behavior.
Can either be normal, or PS mode which means newline character behaves as a PS.

SVN revision: 57019
2011-02-14 14:17:12 +00:00
Brett Nash 290e6c430d Remove the old 'proxy' functions.
Now I know git-svn decided to not merge everything.
Anyway the proxy functions are not part of images.  Use them there.

SVN revision: 56884
2011-02-09 21:38:57 +00:00
Brett Nash 9c927de649 Add evas_object_image_source_get, and fix NOTNULL() args to _source_set
Source set of 'NULL' is the equivelent of source_unset (actually source_unset
is an alias to source_set with a second NULL arg.

And I still want to know why these are in my tree, but not upstream.

SVN revision: 56881
2011-02-09 21:36:10 +00:00
Brett Nash 1415635f94 Add header for image proxy.
Not sure why this didn't merge then either.
No changelog since it's adding a missing header.

SVN revision: 56880
2011-02-09 21:36:07 +00:00
Christopher Michael 0bee0601e1 Evas: Fixed a few 'implicit declaration' warnings.
Add missing evas_object_image_source functions.
      (was giving nasty 'implicit declarations' prior to this change)
    Add UNUSED to evas_common_map_rgba for npoints variable
      (wasn't used in that function)
    Fixed a little formatting in evas_object_main.c
    Add UNUSED to the eng_image_map_draw function of the gl_x11 engine.
      (npoints variable not used there)
    Fixed a little formatting in gl_x11 engine.



SVN revision: 56869
2011-02-09 18:39:54 +00:00
Mike Blumenkrantz 1d0e9bf198 remove some commas
SVN revision: 56778
2011-02-07 00:20:00 +00:00
Brett Nash aa59164001 Support for Proxy Objects (and others)
Proxy objects allow you to use another image as the source of an image.
Essentially allowing the same object to be rendered multiple times.  One
object (the source) is the original, each additional 'copy' is an image with
evas_object_image_source_set.

This is complete.

Also add partially working arbitrary maps, and arbitrary clipping.
Unfortunately both have some issues yet to be resolved (waiting on the next
feature to get merged together).

SVN revision: 56777
2011-02-06 23:52:17 +00:00
Brett Nash 37ea40c0cc Add the extra proxy convenience functions.
SVN revision: 56773
2011-02-06 23:51:34 +00:00
Brett Nash 04f6e8f789 Proxy Object framework.
Doesn't do anything useful yet.  But it's a start.

SVN revision: 56760
2011-02-06 23:49:44 +00:00
Tom Hacohen 36df64bbeb Evas table: Added "mirrored mode" to table. This is important for ui mirroring and let users do cooler stuff.
SVN revision: 56633
2011-02-01 12:50:59 +00:00
Tom Hacohen e82371fd03 Evas text: Added API to query text object's text direction.
SVN revision: 56534
2011-01-30 10:45:00 +00:00
Tom Hacohen 35847d3c88 Evas textblock: Added evas_textblock_cursor_pen_geometry_get.
SVN revision: 56433
2011-01-30 10:34:13 +00:00
Carsten Haitzler 19d4f8affc add unload callback - missing event problem that makes it impossible
for client apps that tried to be efficient with preloads to adapt
when the preloaded data is taken away from them. this allows it.
missing callback api bug fix.



SVN revision: 55745
2010-12-24 16:04:27 +00:00
Carsten Haitzler 640a4030f3 change native api to allow for other types of native data like texture
id's, fbo's etc. too - at least it's versioned now.



SVN revision: 55315
2010-12-06 07:09:51 +00:00
helen 750d360c97 evas_object_image_file_set can receives null to unset
Passing null to the second parameter is the only way to unset
the file, so it should not have EINA_ARG_NONNULL to the file parameter

SVN revision: 54998
2010-11-25 19:41:59 +00:00
Carsten Haitzler 2b6b563f62 add scroll flag in addition to hold flag.
SVN revision: 54355
2010-11-09 05:23:34 +00:00
Christopher Michael 5ee58fab59 Fix some misspellings.
SVN revision: 52990
2010-10-03 01:44:21 +00:00
Vincent Torri 98247ac8dc formatting
SVN revision: 52714
2010-09-25 04:40:54 +00:00
Carsten Haitzler ef71a85f2a fix error enum too
SVN revision: 52588
2010-09-22 13:25:17 +00:00
Carsten Haitzler fea985b760 fmting.
SVN revision: 52586
2010-09-22 12:02:35 +00:00
Carsten Haitzler 80e131a443 fmting
SVN revision: 52585
2010-09-22 11:57:19 +00:00
Carsten Haitzler c4d77fea71 docs++
SVN revision: 52584
2010-09-22 11:29:42 +00:00
Carsten Haitzler ea8175d746 fmormatting cleanups
SVN revision: 52583
2010-09-22 11:28:31 +00:00
Carsten Haitzler dddab37368 fmting
SVN revision: 52581
2010-09-22 11:14:25 +00:00
Carsten Haitzler 629916a4ee formatting
SVN revision: 52579
2010-09-22 11:04:32 +00:00
Carsten Haitzler c5977a45dd formatting.
SVN revision: 52578
2010-09-22 11:03:28 +00:00
Carsten Haitzler 2dce035395 warning--, formatting.
SVN revision: 52577
2010-09-22 11:02:19 +00:00
Carsten Haitzler fa813fb8f2 size_t -> int.
really - i prefer it and if we hit the 2gb limit of a signed int for
bytes added to a textblock... thats the day we will need evas 2 :)



SVN revision: 52576
2010-09-22 10:58:44 +00:00
Carsten Haitzler 21ec26bed3 move some simple #define constants to typedefs. api compatible tho.
SVN revision: 52575
2010-09-22 10:52:54 +00:00
Carsten Haitzler 08b5fe088a fmting
SVN revision: 52572
2010-09-22 09:37:18 +00:00
Carsten Haitzler af7910c47b formatting
SVN revision: 52571
2010-09-22 09:28:23 +00:00
Carsten Haitzler f5acc84e67 int -> bool
SVN revision: 52570
2010-09-22 09:19:31 +00:00
Iván Briano 68f1a20306 Adding callback for box to be called when a child is added or removed.
Also sets the children_changed flag when changing children list.

    by Otavio Pontes <otavio@profusion.mobi>



SVN revision: 52541
2010-09-21 14:04:28 +00:00
Tom Hacohen e8c10dbce7 Evas textblock: Added evas_textblock_node_format_remove_pair to remove formats.
SVN revision: 52484
2010-09-20 09:44:48 +00:00
Gustavo Sverzut Barbieri 19f0eebd27 cleanup: simple clean of "comparison between signed and unsigned errors"
not much to see here, please review but these are simple changes.



SVN revision: 52426
2010-09-18 23:07:31 +00:00
Lucas De Marchi a7fcb37a7f Revert r52345
This function is not needed at all, and as of now it's borken. Coming patches
will properly fix coords on events.



SVN revision: 52398
2010-09-18 06:29:47 +00:00
Lucas De Marchi 251a60ab09 Add function to check if point is inside an object
Add evas_object_inside_get() to check if a certain (x,y) point is inside
an evas_object. This is needed because there's no simple way to
determine it outside of evas when map transformations are used.

For instance, edje uses evas_object_geometry_get() and checks if point is
whithin the rectangle. This is wrong because the object might be
rotated, scaled. Below is a test program:

/**
 * Simple Evas test
 *
 * Compile with: gcc -O0 -g  -o evas_hello_world evas_hello_world.c $(pkg-config --cflags --libs eina evas ecore ecore-evas)
 */
 #include <Eina.h>
 #include <Evas.h>
 #include <Ecore_Evas.h>
 #include <Ecore.h>
 #include <stdio.h>

 #define WIDTH (320)
 #define HEIGHT (240)

Eina_Bool main_signal_exit(void *data, int ev_type, void *ev)
{
    ecore_main_loop_quit();
    return EINA_FALSE;
}

static void
_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
    Evas_Event_Mouse_Up *ev = event_info;
    Eina_Bool b;

    b = evas_object_inside_get(obj, ev->canvas.x, ev->canvas.y);
    fprintf(stderr, "mouse_up: x=%d, y=%d inside=%d\n", ev->canvas.x,
            ev->canvas.y, b);
}

static void
_cb_move(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
    Evas_Event_Mouse_Move *ev = event_info;
    const char *id = data;
    Eina_Bool b;

    b = evas_object_inside_get(obj, ev->cur.canvas.x, ev->cur.canvas.y);
    fprintf(stderr, "[%s] mouse_move: x=%d, y=%d inside=%d\n", id,
            ev->cur.canvas.x, ev->cur.canvas.y, b);
}

int main(void)
{
   Evas *evas;
   Ecore_Evas *window;
   Evas_Object *bg, *r1, *r2;
   Evas_Map *m;

   evas_init();
   ecore_init();
   ecore_evas_init();

   window = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
   if (!evas)
     return -1;

   evas = ecore_evas_get(window);

   bg = evas_object_rectangle_add(evas);
   evas_object_color_set(bg, 255, 255, 255, 255); // white bg
   evas_object_move(bg, 0, 0);                    // at origin
   evas_object_resize(bg, WIDTH, HEIGHT);         // covers full evas
   evas_object_show(bg);

   r1 = evas_object_rectangle_add(evas);
   evas_object_color_set(r1, 255, 0, 0, 255); // 100% opaque red
   evas_object_move(r1, 50, 50);
   evas_object_resize(r1, 100, 100);

   m = evas_map_new(4);
   evas_map_util_points_populate_from_object(m, r1);
   evas_map_util_rotate(m, 45.0, 100, 100);
   evas_map_alpha_set(m, 0);
   evas_map_smooth_set(m, 1);

   evas_object_map_set(r1, m);
   evas_object_map_enable_set(r1, 1);
   evas_map_free(m);
   evas_object_show(r1);
   evas_object_event_callback_add(r1, EVAS_CALLBACK_MOUSE_UP, _cb, NULL);
   evas_object_event_callback_add(r1, EVAS_CALLBACK_MOUSE_MOVE, _cb_move, "r1");

   r2 = evas_object_rectangle_add(evas);
   evas_object_color_set(r2, 0, 255, 0, 255);
   evas_object_move(r2, 210, 150);
   evas_object_resize(r2, 50, 50);
   evas_object_show(r2);
   evas_object_event_callback_add(r2, EVAS_CALLBACK_MOUSE_MOVE, _cb_move, "r2");

   ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, main_signal_exit, evas);

   ecore_evas_show(window);
   ecore_main_loop_begin();

   ecore_evas_free(window);

   ecore_evas_shutdown();
   ecore_shutdown();
   evas_shutdown();

   return 0;
}




SVN revision: 52345
2010-09-16 13:59:46 +00:00
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