Exemplo n.º 1
0
static void clear_blobnboxes(BLOBNBOX_LIST* boxes) {
  BLOBNBOX_IT it = boxes;
  // A BLOBNBOX generally doesn't own its blobs, so if they do, you
  // have to delete them explicitly.
  for (it.mark_cycle_pt(); !it.cycled_list(); it.forward()) {
    BLOBNBOX* box = it.data();
    delete box->cblob();
  }
}
Exemplo n.º 2
0
void plot_blob_list(ScrollView* win,                   // window to draw in
                    BLOBNBOX_LIST *list,               // blob list
                    ScrollView::Color body_colour,     // colour to draw
                    ScrollView::Color child_colour) {  // colour of child
  BLOBNBOX_IT it = list;
  for (it.mark_cycle_pt(); !it.cycled_list(); it.forward()) {
    it.data()->plot(win, body_colour, child_colour);
  }
}
Exemplo n.º 3
0
void plot_box_list(                      //make gradients win
        ScrollView *win,           //window to draw in
        BLOBNBOX_LIST *list,  //blob list
        ScrollView::Color body_colour    //colour to draw
) {
    BLOBNBOX_IT it = list;         //iterator

    win->Pen(body_colour);
    win->Brush(ScrollView::NONE);
    for (it.mark_cycle_pt(); !it.cycled_list(); it.forward()) {
        it.data()->bounding_box().plot(win);
    }
}
Exemplo n.º 4
0
void TO_ROW::insert_blob(                //constructor
                         BLOBNBOX *blob  //first blob
                        ) {
  BLOBNBOX_IT it = &blobs;       //list of blobs

  if (it.empty ())
    it.add_before_then_move (blob);
  else {
    it.mark_cycle_pt ();
    while (!it.cycled_list ()
      && it.data ()->bounding_box ().left () <=
      blob->bounding_box ().left ())
      it.forward ();
    if (it.cycled_list ())
      it.add_to_end (blob);
    else
      it.add_before_stay_put (blob);
  }
}