Commit Graph

11050 Commits

Author SHA1 Message Date
Vincent Torri 9acfb01811 Fix shaped windows on Windows. It uses regions.
Advantages:
 * it is the simplest method to implement

Disadvantages:
 * it's slow
 * it does not take into account transparency
 * it does not work with the composite manager (Windows >= Vista)

Layered windows should be used (all the disadvantaged above are
fixed), but i've never succeeded in making them work.

SVN revision: 52416
2010-09-18 17:19:11 +00:00
Carsten Haitzler 6f4d152810 fix actually supporting clip for maps in gl.
SVN revision: 52415
2010-09-18 14:23:20 +00:00
Carsten Haitzler 8df657a51a be less agressive performance-wise but clear up some gl sync issues
that have been lurking.



SVN revision: 52414
2010-09-18 13:49:56 +00:00
Carsten Haitzler fa5b80b879 dont use tls max if it doesnt exist eh?
SVN revision: 52413
2010-09-18 11:41:15 +00:00
Mike Blumenkrantz 36bd287841 add mixed protocol for gnutls as well
SVN revision: 52412
2010-09-18 08:46:17 +00:00
Mike Blumenkrantz a8ef623de7 allow mixing sslv3+tlsv1 in openssl, FINALLY FIX INITIAL BUG FOR OPENSSL SERVERS!
note that openssl servers still do not work because there is more than one bug :/


SVN revision: 52411
2010-09-18 08:36:13 +00:00
Lucas De Marchi 4dcae856ea Fix function call after previous change
Forgot one function call.



SVN revision: 52408
2010-09-18 06:41:04 +00:00
Lucas De Marchi 4db4b59b02 Make _evas_event_havemap_adjust() recursive
Make this function recursive, so it can adjust the coords for all
parent objects. It starts with the grand-grand-grand-...-parent and goes
down until the same object.



SVN revision: 52407
2010-09-18 06:31:41 +00:00
Lucas De Marchi 1a0a9b68f6 Use also map of current object
Do not use only the map of the parent. Apply the obj's map first and
then go to the parent.

+  simple formatting



SVN revision: 52406
2010-09-18 06:31:12 +00:00
Lucas De Marchi a1a69cae0f Remove havemap_parent shortcut
SVN revision: 52405
2010-09-18 06:31:05 +00:00
Lucas De Marchi e478d25f34 Clean unneeded check
SVN revision: 52404
2010-09-18 06:30:59 +00:00
Lucas De Marchi 6f1e1a950e Don't set parmap for the other objects
We are iterating EINA_INLIST_REVERSE_FOREACH(list, obj) in a recursive
function. Don't mark the other objects as havemap_parent if the first
in the list has it.



SVN revision: 52403
2010-09-18 06:30:51 +00:00
Lucas De Marchi bcc9b853ed formatting
SVN revision: 52402
2010-09-18 06:30:45 +00:00
Lucas De Marchi fcd5f99652 clean a bit more
SVN revision: 52401
2010-09-18 06:30:37 +00:00
Lucas De Marchi 69ffdd1b93 Clean it a bit to be easier to understand
SVN revision: 52400
2010-09-18 06:30:30 +00:00
Mike Blumenkrantz f62bcf1ff1 switch private struct members from char bitfields to Eina_Bool bitfields
no noticeable difference


SVN revision: 52399
2010-09-18 06:30:13 +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
Mike Blumenkrantz f8d56a023f a loooooooot of outdents and reformatting
SVN revision: 52397
2010-09-18 06:06:05 +00:00
Mike Blumenkrantz e9361b4e1c whoops forgot an UNUSED for openssl
SVN revision: 52396
2010-09-18 05:32:27 +00:00
Mike Blumenkrantz ac86c1aaa4 more progress on fixing openssl servers, fix all warnings, add error checking for openssl code
SVN revision: 52395
2010-09-18 05:31:00 +00:00
Mike Blumenkrantz 3736856f82 stop the indenting and line wrapping madness!!!!!!!
SVN revision: 52394
2010-09-18 05:30:16 +00:00
Mike Blumenkrantz 8cd87afb04 outdent for readability
SVN revision: 52393
2010-09-18 04:59:11 +00:00
Mike Blumenkrantz d8afcde705 add rest of ssl algorithms and clean up
SVN revision: 52391
2010-09-18 01:27:38 +00:00
Mike Blumenkrantz 8db37b8518 formatting
SVN revision: 52390
2010-09-18 01:20:25 +00:00
Mike Blumenkrantz 5e499b0c0e fix gnutls ssl
SVN revision: 52385
2010-09-17 19:43:03 +00:00
Mike Blumenkrantz 6542578149 new ssl error output: now with detailed location info and 50% more fiber!
SVN revision: 52380
2010-09-17 17:39:32 +00:00
Mike Blumenkrantz d74f46d5a5 simplify error conditions and output errrors on failure
SVN revision: 52378
2010-09-17 17:22:59 +00:00
Mike Blumenkrantz c7608248dd enable compression for gnutls, add error checks to client functions
SVN revision: 52377
2010-09-17 17:18:41 +00:00
Mike Blumenkrantz cb0c97b6c3 add error checking for servers
SVN revision: 52376
2010-09-17 17:03:15 +00:00
Cedric BAIL 90858b58c1 * edje: remove unused variable.
SVN revision: 52364
2010-09-17 12:05:46 +00:00
Mike Blumenkrantz 3e98b064d3 use right pointer for ssl ctx to avoid segv
SVN revision: 52362
2010-09-17 08:58:23 +00:00
Mike Blumenkrantz f3a9a92d36 fix ssl to work with cert loading flag
SVN revision: 52361
2010-09-17 08:00:42 +00:00
Vincent Torri 5973521793 check returned value of evas_engine_info_set()
SVN revision: 52360
2010-09-17 06:14:08 +00:00
Cedric BAIL e01c8dacc2 * edje: prevent segv due to dead relative part.
SVN revision: 52347
2010-09-16 15:49:56 +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
Tom Hacohen 12b55be8af Evas textblock: Added a lot of fixes to evas_textblock_cursor_geometry_get in the case where ctype = EVAS_TEXTBLOCK_CURSOR_BEFORE
SVN revision: 52341
2010-09-16 09:59:39 +00:00
Tom Hacohen 9fb94f209b Evas textblock: Fixed evas_textblock_range_text_get that didn't work on textblocks with no formats at all (not even newlines or tabs).
SVN revision: 52339
2010-09-16 07:12:23 +00:00
Lucas De Marchi 08055d63b9 trivial: spelling in documentation
Some misspellings found in doxy.



SVN revision: 52326
2010-09-15 20:40:51 +00:00
Iván Briano 20ea0eef4e Check there are callbacks before trying to copy them.
Patch by Otávio Pontes


SVN revision: 52323
2010-09-15 19:51:08 +00:00
Cedric BAIL fdc15d4495 * evas: we don't need all the stuff from pthreads to do preload.
SVN revision: 52311
2010-09-15 17:20:37 +00:00
Cedric BAIL 8102552b7a * edje: cleanup aspect code and reduce memory presure.
SVN revision: 52304
2010-09-15 14:15:23 +00:00
Cedric BAIL 10356b8e50 * edje: turn it on again and go fix your theme :-)
SVN revision: 52303
2010-09-15 14:09:58 +00:00
Tom Hacohen 612b3eda81 Evas textblock: fix deleting the first tab in 'a<TAB><TAB>a' that caused weird behavior.
The solution is that we only delete invisible standalones now, not visible ones, this is correct intuitively and of course fixes the bug.

SVN revision: 52302
2010-09-15 14:07:09 +00:00
Tom Hacohen b59743febd Evas textblock: we should also take width of tabs into account when calculating line width.
SVN revision: 52297
2010-09-15 12:45:06 +00:00
Tom Hacohen 8b6083ec26 Evas textblock: Fix and simplify _find_layout_item_line_match which is an helper function used in many parts of textblock.
SVN revision: 52295
2010-09-15 10:24:07 +00:00
Tom Hacohen 108bdeeadd Evas font: removed old (already removed a long time ago) functions from evas_font.h.
SVN revision: 52293
2010-09-15 09:11:19 +00:00
Vincent Torri 56fa2461ed warning--
SVN revision: 52292
2010-09-15 08:41:41 +00:00
Rafael Antognolli 94540f3b5b Changing Ethumb license from LGPL3 to LGPL2.
Making this change to be in agreement with some other EFL libraries
under LGPL.



SVN revision: 52275
2010-09-14 23:02:45 +00:00
Carsten Haitzler c1c7e901f5 CEEEEEEEEEDRICCCCCCCCCCCCCCCC!
borked e conf panel. unbork. disable aspect.



SVN revision: 52273
2010-09-14 22:32:34 +00:00
Bruno Dilly d0eb6e4054 Add missing bogosity X cursor
SVN revision: 52270
2010-09-14 21:43:44 +00:00