Index: trunk/src/draw.c =================================================================== --- trunk/src/draw.c (revision 37877) +++ trunk/src/draw.c (revision 37878) @@ -264,7 +264,7 @@ if (PCB->SubcOn) { info->objcb.subc.per_side = per_side; - rnd_r_search(PCB->Data->subc_tree, info->drawn_area, NULL, draw_subc_mark_callback, info, NULL); + rnd_rtree_search_any(PCB->Data->subc_tree, (rnd_rtree_box_t *)info->drawn_area, NULL, draw_subc_mark_callback, info, NULL); } rnd_hid_set_line_width(pcb_draw_out.fgGC, 0); @@ -306,7 +306,7 @@ rnd_hid_set_line_width(pcb_draw_out.fgGC, 0); if (PCB->SubcOn) { info->objcb.subc.per_side = per_side; - rnd_r_search(PCB->Data->subc_tree, info->drawn_area, NULL, draw_subc_label_callback, info, NULL); + rnd_rtree_search_any(PCB->Data->subc_tree, (rnd_rtree_box_t *)info->drawn_area, NULL, draw_subc_label_callback, info, NULL); } if (PCB->padstack_mark_on) { rnd_hid_set_line_width(pcb_draw_out.fgGC, -conf_core.appearance.padstack.cross_thick); Index: trunk/src/obj_subc.c =================================================================== --- trunk/src/obj_subc.c (revision 37877) +++ trunk/src/obj_subc.c (revision 37878) @@ -2106,10 +2106,10 @@ #include "draw.h" -rnd_r_dir_t pcb_draw_subc_mark(const rnd_box_t *b, void *cl) +rnd_rtree_dir_t pcb_draw_subc_mark(void *cl, void *obj, const rnd_rtree_box_t *box) { pcb_draw_info_t *info = cl; - pcb_subc_t *subc = (pcb_subc_t *) b; + pcb_subc_t *subc = (pcb_subc_t *)obj; rnd_box_t *bb = &subc->BoundingBox; int selected, locked; int freq = conf_core.appearance.subc.dash_freq; @@ -2143,27 +2143,27 @@ pcb_draw_dashed_line(info, pcb_draw_out.fgGC, bb->X2, bb->Y2, bb->X1, bb->Y2, freq, rnd_true); } - return RND_R_DIR_FOUND_CONTINUE; + return rnd_RTREE_DIR_FOUND_CONT; } -rnd_r_dir_t draw_subc_mark_callback(const rnd_box_t *b, void *cl) +rnd_rtree_dir_t draw_subc_mark_callback(void *cl, void *obj, const rnd_rtree_box_t *b) { pcb_draw_info_t *info = cl; - pcb_subc_t *subc = (pcb_subc_t *) b; + pcb_subc_t *subc = (pcb_subc_t *)obj; pcb_extobj_t *extobj = pcb_extobj_get(subc); if ((extobj != NULL) && (extobj->draw_mark != NULL)) { extobj->draw_mark(info, subc); - return RND_R_DIR_FOUND_CONTINUE; + return rnd_RTREE_DIR_FOUND_CONT; } - return pcb_draw_subc_mark(b, cl); + return pcb_draw_subc_mark(cl, obj, b); } -rnd_r_dir_t draw_subc_label_callback(const rnd_box_t *b, void *cl) +rnd_rtree_dir_t draw_subc_label_callback(void *cl, void *obj, const rnd_rtree_box_t *b) { pcb_draw_info_t *info = cl; - pcb_subc_t *subc = (pcb_subc_t *) b; + pcb_subc_t *subc = (pcb_subc_t *)obj; rnd_box_t *bb = &subc->BoundingBox; rnd_coord_t x0, y0, dx, dy; rnd_font_t *font = &PCB->fontkit.dflt; @@ -2221,7 +2221,7 @@ else if (subc->refdes != NULL) pcb_label_draw(info, x0, y0, conf_core.appearance.term_label_size/2.0, 0, 0, subc->refdes, 0); - return RND_R_DIR_FOUND_CONTINUE; + return rnd_RTREE_DIR_FOUND_CONT; } static int subc_prev_layer_vis(pcb_layer_t *layer) Index: trunk/src/obj_subc.h =================================================================== --- trunk/src/obj_subc.h (revision 37877) +++ trunk/src/obj_subc.h (revision 37878) @@ -119,9 +119,12 @@ pcb_layer_t *pcb_subc_get_layer(pcb_subc_t *sc, pcb_layer_type_t lyt, pcb_layer_combining_t comb, rnd_bool_t alloc, const char *name, rnd_bool req_name_match); #include -rnd_r_dir_t pcb_draw_subc_mark(const rnd_box_t *b, void *cl); /* low level version, does not do extobj */ -rnd_r_dir_t draw_subc_mark_callback(const rnd_box_t *b, void *cl); -rnd_r_dir_t draw_subc_label_callback(const rnd_box_t *b, void *cl); + +/* low level version, does not do extobj */ +rnd_rtree_dir_t pcb_draw_subc_mark(void *cl, void *obj, const rnd_rtree_box_t *box); + +rnd_rtree_dir_t draw_subc_mark_callback(void *cl, void *obj, const rnd_rtree_box_t *b); +rnd_rtree_dir_t draw_subc_label_callback(void *cl, void *obj, const rnd_rtree_box_t *b); void DrawSubc(pcb_subc_t *sc); void EraseSubc(pcb_subc_t *sc); Index: trunk/src_plugins/exto_std/cord.c =================================================================== --- trunk/src_plugins/exto_std/cord.c (revision 37877) +++ trunk/src_plugins/exto_std/cord.c (revision 37878) @@ -174,7 +174,7 @@ { pcb_exto_draw_mark(info, subc); if (subc->extobj_data == cord_footprint) - pcb_draw_subc_mark((const rnd_box_t *)subc, info); + pcb_draw_subc_mark(info, subc, (const rnd_rtree_box_t *)subc); } static void pcb_cord_float_pre(pcb_subc_t *subc, pcb_any_obj_t *floater)