diff src/event.c @ 587:1302b336add6 openvg

Do use mbe_clip() for overlay testing
author Thinker K.F. Li <thinker@branda.to>
date Wed, 30 Jun 2010 17:27:46 +0800
parents 6e18550c8fa8
children 7b4e80ab671a
line wrap: on
line diff
--- a/src/event.c	Wed Jun 30 13:28:53 2010 +0800
+++ b/src/event.c	Wed Jun 30 17:27:46 2010 +0800
@@ -693,6 +693,12 @@
     mbe_destroy(cr);
 }
 
+#ifdef OVERLAY_DRAW_TEST
+/*
+ * Since we remove mbe_clip(), mb_objs_are_overlay() should not use
+ * clip for testing overlay anymore.
+ */
+
 static
 void _draw_to_mask(shape_t *shape, mbe_t *cr) {
     if(sh_get_flags(shape, GEF_OV_DRAW))
@@ -728,6 +734,7 @@
 
     return FALSE;
 }
+#endif
 
 /*! \brief Is a mb_obj_t overlaid with another mb_obj_t and
  *	descendants.
@@ -765,13 +772,17 @@
 	if(!r)
 	    return FALSE;
 	
+#ifdef OVERLAY_DRAW_TEST
 	if(!obj_is_shape)
 	    return TRUE;
-	
+
 	_draw_to_mask(candi_shape, cr);
 	r = _fill_and_check(shape, cr);
 	
 	return r;
+#else
+	return TRUE;
+#endif
     }
     
     ASSERT(IS_MBO_COORD(others_root));
@@ -790,7 +801,8 @@
 	    r = areas_are_overlay(area, candi_area);
 	    if(!r)
 		continue;
-	    
+
+#ifdef OVERLAY_DRAW_TEST
 	    if(!obj_is_shape)
 		return TRUE;
 	    
@@ -798,6 +810,9 @@
 	    r = _fill_and_check(shape, cr);
 	    if(r)
 		return TRUE;
+#else
+	    return TRUE;
+#endif
 	}
     }
     
@@ -934,6 +949,7 @@
     _free_fake_rdman(rdman);
 }
 
+#ifdef OVERLAY_DRAW_TEST
 static
 void test_is_obj_objs_overlay(void) {
     redraw_man_t *rdman;
@@ -1135,14 +1151,17 @@
 
     _free_fake_rdman(rdman);
 }
+#endif
 
 CU_pSuite get_event_suite(void) {
     CU_pSuite suite;
 
     suite = CU_add_suite("Suite_event", NULL, NULL);
     CU_ADD_TEST(suite, test_mb_obj_pos_is_in);
+#ifdef OVERLAY_DRAW_TEST
     CU_ADD_TEST(suite, test_is_obj_objs_overlay);
     CU_ADD_TEST(suite, test_mb_objs_are_overlay);
+#endif
 
     return suite;
 }