Enlightenment CVS committal
Author : raster
Project : e17
Module : libs/evas
Dir : e17/libs/evas/src/lib/canvas
Modified Files:
evas_clip.c evas_events.c evas_object_main.c
evas_object_textblock.c
Log Message:
oooh... i found a nasty mouse grab/count/accoutning/hold etc. issue with
events. fixed (thanks bart!) :)
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_clip.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- evas_clip.c 14 Dec 2004 03:21:32 -0000 1.10
+++ evas_clip.c 20 Jan 2005 06:54:44 -0000 1.11
@@ -166,16 +166,14 @@
obj->cur.clipper = NULL;
}
/* clip me */
- if (clip->clip.clipees == NULL && clip->cur.visible)
+ if ((clip->clip.clipees == NULL) && (clip->cur.visible))
{
- /* Basically it just went invisible */
- clip->changed = 1;
- clip->layer->evas->changed = 1;
-
-
- evas_damage_rectangle_add(clip->layer->evas,
- clip->cur.geometry.x, clip->cur.geometry.y,
- clip->cur.geometry.w, clip->cur.geometry.h);
+ /* Basically it just went invisible */
+ clip->changed = 1;
+ clip->layer->evas->changed = 1;
+ evas_damage_rectangle_add(clip->layer->evas,
+ clip->cur.geometry.x, clip->cur.geometry.y,
+ clip->cur.geometry.w, clip->cur.geometry.h);
}
obj->cur.clipper = clip;
clip->clip.clipees = evas_list_append(clip->clip.clipees, obj);
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_events.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -3 -r1.29 -r1.30
--- evas_events.c 14 Dec 2004 03:21:32 -0000 1.29
+++ evas_events.c 20 Jan 2005 06:54:44 -0000 1.30
@@ -424,22 +424,25 @@
obj = outs->data;
outs = evas_list_remove(outs, obj);
- e->pointer.object.in = evas_list_remove(e->pointer.object.in, obj);
+ if (!obj->mouse_grabbed)
{
- Evas_Event_Mouse_Out ev;
-
- obj->mouse_in = 0;
- ev.buttons = e->pointer.button;
- ev.output.x = e->pointer.x;
- ev.output.y = e->pointer.y;
- ev.canvas.x = e->pointer.canvas_x;
- ev.canvas.y = e->pointer.canvas_y;
- ev.data = (void *)data;
- ev.modifiers = &(e->modifiers);
- ev.locks = &(e->locks);
- if (!e->events_frozen)
- evas_object_event_callback_call(obj,
EVAS_CALLBACK_MOUSE_OUT, &ev);
- }
+ e->pointer.object.in = evas_list_remove(e->pointer.object.in,
obj);
+ {
+ Evas_Event_Mouse_Out ev;
+
+ obj->mouse_in = 0;
+ ev.buttons = e->pointer.button;
+ ev.output.x = e->pointer.x;
+ ev.output.y = e->pointer.y;
+ ev.canvas.x = e->pointer.canvas_x;
+ ev.canvas.y = e->pointer.canvas_y;
+ ev.data = (void *)data;
+ ev.modifiers = &(e->modifiers);
+ ev.locks = &(e->locks);
+ if (!e->events_frozen)
+ evas_object_event_callback_call(obj,
EVAS_CALLBACK_MOUSE_OUT, &ev);
+ }
+ }
}
}
else
===================================================================
RCS file:
/cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_object_main.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -3 -r1.24 -r1.25
--- evas_object_main.c 14 Dec 2004 03:21:32 -0000 1.24
+++ evas_object_main.c 20 Jan 2005 06:54:44 -0000 1.25
@@ -429,9 +429,9 @@
obj->layer->evas->focused = NULL;
evas_object_event_callback_call(obj, EVAS_CALLBACK_FOCUS_OUT, NULL);
}
+ evas_object_hide(obj);
evas_object_event_callback_call(obj, EVAS_CALLBACK_FREE, NULL);
evas_object_grabs_cleanup(obj);
- evas_object_hide(obj);
while (obj->clip.clipees) evas_object_clip_unset(obj->clip.clipees->data);
if (obj->cur.clipper) evas_object_clip_unset(obj);
if (obj->smart.smart) evas_object_smart_del(obj);
@@ -671,12 +671,15 @@
NULL);
if (obj->mouse_grabbed > 0)
{
- if (obj->layer->evas->pointer.mouse_grabbed > 0)
+ if (obj->layer->evas->pointer.mouse_grabbed >=
obj->mouse_grabbed)
obj->layer->evas->pointer.mouse_grabbed -=
obj->mouse_grabbed;
}
{
obj->mouse_grabbed = 0;
- obj->layer->evas->pointer.object.in =
evas_list_remove(obj->layer->evas->pointer.object.in, obj);
+ if ((obj->mouse_in) || (obj->mouse_grabbed > 0))
+ {
+ obj->layer->evas->pointer.object.in =
evas_list_remove(obj->layer->evas->pointer.object.in, obj);
+ }
if (obj->layer->evas->events_frozen > 0)
{
obj->mouse_in = 0;
===================================================================
RCS file:
/cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_object_textblock.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- evas_object_textblock.c 8 Jan 2005 15:25:50 -0000 1.3
+++ evas_object_textblock.c 20 Jan 2005 06:54:44 -0000 1.4
@@ -77,7 +77,7 @@
/* stubs of what we will need... */
void
-evas_object_textblock_text_set(Evas_Object *obj, char *text)
+evas_object_textblock_clear(Evas_Object *obj)
{
Evas_Object_Textblock *o;
@@ -90,21 +90,6 @@
MAGIC_CHECK_END();
}
-const char *
-evas_object_textblock_text_get(Evas_Object *obj)
-{
- Evas_Object_Textblock *o;
-
- MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
- return NULL;
- MAGIC_CHECK_END();
- o = (Evas_Object_Textblock *)(obj->object_data);
- MAGIC_CHECK(o, Evas_Object_Textblock, MAGIC_OBJ_TEXT);
- return NULL;
- MAGIC_CHECK_END();
- return NULL;
-}
-
void
evas_object_textblock_cursor_pos_set(Evas_Object *obj, int pos)
{
@@ -148,8 +133,62 @@
MAGIC_CHECK_END();
}
+Evas_Format *
+evas_format_new(Evas *e)
+{
+ MAGIC_CHECK(e, Evas, MAGIC_EVAS);
+ return NULL;
+ MAGIC_CHECK_END();
+ return NULL;
+}
+
void
-evas_object_textblock_newline_use_set(Evas_Object *obj, Evas_Bool use)
+evas_format_del(Evas_Format *fmt)
+{
+}
+
+void
+evas_format_retain_set(Evas_Format *fmt, Evas_Bool retain)
+{
+}
+
+void
+evas_format_resize(Evas_Format *fmt, Evas_Coord w, Evas_Coord h)
+{
+}
+
+void
+evas_format_type_set(Evas_Format *fmt, Evas_Format_Type ft)
+{
+}
+
+void
+evas_format_size_set(Evas_Format *fmt, Evas_Coord size)
+{
+}
+
+void
+evas_format_enabled_set(Evas_Format *fmt, Evas_Bool enabled)
+{
+}
+
+void
+evas_format_color_set(Evas_Format *fmt, int r, int g, int b, int a)
+{
+}
+
+void
+evas_format_string_set(Evas_Format *fmt, const char *str)
+{
+}
+
+void
+evas_format_align_set(Evas_Format *fmt, double align)
+{
+}
+
+void
+evas_object_textblock_format_insert(Evas_Object *obj, Evas_Format *fmt)
{
Evas_Object_Textblock *o;
@@ -162,25 +201,14 @@
MAGIC_CHECK_END();
}
-Evas_Bool
-evas_object_textblock_newline_use_get(Evas_Object *obj)
+void
+evas_object_textblock_format_direction_set(Evas_Object *obj,
Evas_Format_Direction dir)
{
- Evas_Object_Textblock *o;
-
- MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
- return 0;
- MAGIC_CHECK_END();
- o = (Evas_Object_Textblock *)(obj->object_data);
- MAGIC_CHECK(o, Evas_Object_Textblock, MAGIC_OBJ_TEXT);
- return 0;
- MAGIC_CHECK_END();
- return 0;
}
-
/* all nice and private */
static void
evas_object_textblock_init(Evas_Object *obj)
-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs