Index: trunk/src/draw.c =================================================================== --- trunk/src/draw.c (revision 37885) +++ trunk/src/draw.c (revision 37886) @@ -433,7 +433,7 @@ switch(o->type) { case PCB_OBJ_ARC: pcb_arc_draw_term_callback(info, (void *)b, b); break; case PCB_OBJ_LINE: pcb_line_draw_term_callback(info, (void *)b, b); break; - case PCB_OBJ_TEXT: pcb_text_draw_term_callback((rnd_box_t *)b, info); break; + case PCB_OBJ_TEXT: pcb_text_draw_term_callback(info, (void *)b, b); break; case PCB_OBJ_POLY: pcb_poly_draw_term_callback(info, (void *)b, b); break; default: assert(!"Don't know how to draw delayed object"); @@ -570,7 +570,7 @@ delayed_terms_enabled = rnd_true; rnd_rtree_search_any(Layer->line_tree, (rnd_rtree_box_t *)info->drawn_area, NULL, pcb_line_draw_term_callback, info, NULL); rnd_rtree_search_any(Layer->arc_tree, (rnd_rtree_box_t *)info->drawn_area, NULL, pcb_arc_draw_term_callback, info, NULL); - rnd_r_search(Layer->text_tree, info->drawn_area, NULL, pcb_text_draw_term_callback, info, NULL); + rnd_rtree_search_any(Layer->text_tree, (rnd_rtree_box_t *)info->drawn_area, NULL, pcb_text_draw_term_callback, info, NULL); rnd_rtree_search_any(Layer->gfx_tree, (rnd_rtree_box_t *)info->drawn_area, NULL, pcb_gfx_draw_above_callback, info, NULL); delayed_terms_enabled = rnd_false; may_have_delayed = 1; @@ -578,7 +578,7 @@ else { rnd_rtree_search_any(Layer->line_tree, (rnd_rtree_box_t *)info->drawn_area, NULL, pcb_line_draw_callback, info, NULL); rnd_rtree_search_any(Layer->arc_tree, (rnd_rtree_box_t *)info->drawn_area, NULL, pcb_arc_draw_callback, info, NULL); - rnd_r_search(Layer->text_tree, info->drawn_area, NULL, pcb_text_draw_callback, info, NULL); + rnd_rtree_search_any(Layer->text_tree, (rnd_rtree_box_t *)info->drawn_area, NULL, pcb_text_draw_callback, info, NULL); rnd_rtree_search_any(Layer->gfx_tree, (rnd_rtree_box_t *)info->drawn_area, NULL, pcb_gfx_draw_above_callback, info, NULL); } @@ -708,7 +708,7 @@ if (Layer->text_tree != NULL) for(o = rnd_rtree_first(&it, Layer->text_tree, (rnd_rtree_box_t *)screen); o != NULL; o = rnd_rtree_next(&it)) if (pcb_obj_is_under(o, data)) - pcb_text_draw_term_callback((rnd_box_t *)o, &info); + pcb_text_draw_term_callback(&info, (void *)o, (rnd_rtree_box_t *)o); if (Layer->gfx_tree != NULL) for(o = rnd_rtree_first(&it, Layer->gfx_tree, (rnd_rtree_box_t *)screen); o != NULL; o = rnd_rtree_next(&it)) if ((pcb_obj_is_under(o, data)) && !(((pcb_gfx_t *)o)->render_under)) @@ -726,7 +726,7 @@ if (Layer->text_tree != NULL) for(o = rnd_rtree_first(&it, Layer->text_tree, (rnd_rtree_box_t *)screen); o != NULL; o = rnd_rtree_next(&it)) if (pcb_obj_is_under(o, data)) - pcb_text_draw_callback((rnd_box_t *)o, &info); + pcb_text_draw_callback(&info, (void *)o, (rnd_rtree_box_t *)o); if (Layer->gfx_tree != NULL) for(o = rnd_rtree_first(&it, Layer->gfx_tree, (rnd_rtree_box_t *)screen); o != NULL; o = rnd_rtree_next(&it)) if (pcb_obj_is_under(o, data)) Index: trunk/src/obj_text.c =================================================================== --- trunk/src/obj_text.c (revision 37885) +++ trunk/src/obj_text.c (revision 37886) @@ -1438,34 +1438,34 @@ pcb_text_draw_(info, text, min_silk_line, allow_term_gfx, PCB_TXT_TINY_CHEAP); } -rnd_r_dir_t pcb_text_draw_callback(const rnd_box_t * b, void *cl) +rnd_rtree_dir_t pcb_text_draw_callback(void *cl, void *obj, const rnd_rtree_box_t *box) { - pcb_text_t *text = (pcb_text_t *) b; + pcb_text_t *text = (pcb_text_t *)obj; pcb_draw_info_t *info = cl; - if (pcb_hidden_floater((pcb_any_obj_t*)b, info) || pcb_partial_export((pcb_any_obj_t*)b, info)) - return RND_R_DIR_FOUND_CONTINUE; + if (pcb_hidden_floater((pcb_any_obj_t*)obj, info) || pcb_partial_export((pcb_any_obj_t*)obj, info)) + return rnd_RTREE_DIR_FOUND_CONT; if (!PCB->SubcPartsOn && pcb_lobj_parent_subc(text->parent_type, &text->parent)) - return RND_R_DIR_FOUND_CONTINUE; + return rnd_RTREE_DIR_FOUND_CONT; pcb_text_draw(info, text, 0); - return RND_R_DIR_FOUND_CONTINUE; + return rnd_RTREE_DIR_FOUND_CONT; } -rnd_r_dir_t pcb_text_draw_term_callback(const rnd_box_t * b, void *cl) +rnd_rtree_dir_t pcb_text_draw_term_callback(void *cl, void *obj, const rnd_rtree_box_t *box) { - pcb_text_t *text = (pcb_text_t *) b; + pcb_text_t *text = (pcb_text_t *)obj; pcb_draw_info_t *info = cl; - if (pcb_hidden_floater((pcb_any_obj_t*)b, info) || pcb_partial_export((pcb_any_obj_t*)b, info)) - return RND_R_DIR_FOUND_CONTINUE; + if (pcb_hidden_floater((pcb_any_obj_t*)obj, info) || pcb_partial_export((pcb_any_obj_t*)obj, info)) + return rnd_RTREE_DIR_FOUND_CONT; if (!PCB->SubcPartsOn && pcb_lobj_parent_subc(text->parent_type, &text->parent)) - return RND_R_DIR_FOUND_CONTINUE; + return rnd_RTREE_DIR_FOUND_CONT; pcb_text_draw(info, text, 1); - return RND_R_DIR_FOUND_CONTINUE; + return rnd_RTREE_DIR_FOUND_CONT; } /* erases a text on a layer */ Index: trunk/src/obj_text_draw.h =================================================================== --- trunk/src/obj_text_draw.h (revision 37885) +++ trunk/src/obj_text_draw.h (revision 37886) @@ -33,8 +33,8 @@ /* Include rtree.h for these */ #ifdef RND_RTREE_H -rnd_r_dir_t pcb_text_draw_callback(const rnd_box_t * b, void *cl); -rnd_r_dir_t pcb_text_draw_term_callback(const rnd_box_t * b, void *cl); +rnd_rtree_dir_t pcb_text_draw_callback(void *cl, void *obj, const rnd_rtree_box_t *box); +rnd_rtree_dir_t pcb_text_draw_term_callback(void *cl, void *obj, const rnd_rtree_box_t *box); #endif typedef enum pcb_text_tiny_e { /* How to draw text that is too tiny to be readable */