void complete_edge( //clean and approximate CRACKEDGE *start //start of loop ) { ScrollView::Color colour; //colour to draw in inT16 looplength; //steps in loop ICOORD botleft; //bounding box ICOORD topright; C_OUTLINE *outline; //new outline //check length etc. colour = check_path_legal (start); #ifndef GRAPHICS_DISABLED if (edges_show_paths) { //in red draw_raw_edge(edge_win, start, colour); } #endif if (colour == ScrollView::RED || colour == ScrollView::BLUE) { looplength = loop_bounding_box (start, botleft, topright); outline = new C_OUTLINE (start, botleft, topright, looplength); //add to list outline_it->add_after_then_move (outline); } }
void complete_edge(CRACKEDGE *start, //start of loop C_OUTLINE_IT* outline_it) { ScrollView::Color colour; //colour to draw in inT16 looplength; //steps in loop ICOORD botleft; //bounding box ICOORD topright; C_OUTLINE *outline; //new outline //check length etc. colour = check_path_legal (start); if (colour == ScrollView::RED || colour == ScrollView::BLUE) { looplength = loop_bounding_box (start, botleft, topright); outline = new C_OUTLINE (start, botleft, topright, looplength); //add to list outline_it->add_after_then_move (outline); } }