Back to index

texmacs  1.0.7.15
Public Member Functions | Public Attributes | Friends
cell_box_rep Struct Reference
Inheritance diagram for cell_box_rep:
Inheritance graph
[legend]
Collaboration diagram for cell_box_rep:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 cell_box_rep (path ip, box b, SI x0, SI y0, SI x1, SI y1, SI x2, SI y2, SI bl, SI br, SI bb, SI bt, color fg, tree bg, int alpha)
 operator tree ()
void pre_display (renderer &ren)
void post_display (renderer &ren)
int find_child (SI x, SI y, SI delta, bool force)
path find_left_box_path ()
path find_right_box_path ()
double left_slope ()
double right_slope ()
SI left_correction ()
SI right_correction ()
SI lsub_correction ()
SI lsup_correction ()
SI rsub_correction ()
SI rsup_correction ()
SI sub_lo_base (int l)
SI sub_hi_lim (int l)
SI sup_lo_lim (int l)
SI sup_lo_base (int l)
SI sup_hi_lim (int l)
SI get_leaf_offset (string search)
gr_selections graphical_select (SI x, SI y, SI dist)
gr_selections graphical_select (SI x1, SI y1, SI x2, SI y2)
void insert (box b, SI x, SI y)
void position ()
void left_justify ()
void finalize ()
int subnr ()
box subbox (int i)
void display (renderer ren)
virtual path find_box_path (SI x, SI y, SI delta, bool force)
virtual path find_box_path (path p, bool &found)
virtual path find_lip ()
virtual path find_rip ()
virtual path find_tree_path (path bp)
path find_tree_path (SI x, SI y, SI delta)
virtual cursor find_cursor (path bp)
virtual selection find_selection (path lbp, path rbp)
virtual tree action (tree t, SI x, SI y, SI delta)
virtual void loci (SI x, SI y, SI delta, list< string > &ids, rectangles &rs)
virtual bool access_allowed ()
virtual void collect_page_numbers (hashmap< string, tree > &h, tree page)
virtual path find_tag (string name)
virtual box transform (frame fr)
void relocate (path p, bool force=false)
virtual void clear_incomplete (rectangles &rs, SI pixel, int i, int i1, int i2)
virtual void position_at (SI x, SI y, rectangles &change_log)
virtual int reindex (int i, int item, int n)
void redraw (renderer ren, path p, rectangles &l)
void redraw (renderer ren, path p, rectangles &l, SI x, SI y)
SI w ()
SI h ()
SIsx (int i)
SIsy (int i)
SI sx1 (int i)
SI sy1 (int i)
SI sx2 (int i)
SI sy2 (int i)
SI sx3 (int i)
SI sy3 (int i)
SI sx4 (int i)
SI sy4 (int i)
bool test_in (SI x, SI y)
bool accessible ()
bool decoration ()
SI distance (int i, SI x, SI y, SI delta)
bool in_rectangle (SI x1, SI y1, SI x2, SI y2)
bool contains_rectangle (SI x1, SI y1, SI x2, SI y2)
cursor find_check_cursor (path p)
selection find_check_selection (path lp, path rp)
virtual frame get_frame ()
virtual grid get_grid ()
virtual void get_limits (point &lim1, point &lim2)
frame find_frame (path bp, bool last=false)
grid find_grid (path bp)
void find_limits (path bp, point &lim1, point &lim2)
virtual SI graphical_distance (SI x, SI y)
virtual int get_type ()
virtual tree get_info (tree in)
virtual int get_leaf_left_pos ()
virtual int get_leaf_right_pos ()
virtual string get_leaf_string ()
virtual font get_leaf_font ()
virtual color get_leaf_color ()
virtual language get_leaf_language ()
virtual tree get_leaf_tree ()
virtual lazy get_leaf_lazy ()
virtual int anim_length ()
virtual bool anim_started ()
virtual bool anim_finished ()
virtual void anim_start_at (time_t at)
virtual void anim_finish_now ()
virtual time_t anim_next_update ()
void anim_check_invalid (bool &flag, time_t &at, rectangles &rs)
virtual void anim_get_invalid (bool &flag, time_t &at, rectangles &rs)

Public Attributes

SI bl
SI br
SI bb
SI bt
color fg
tree bg
int alpha
tree old_bg
int old_a
bool child_flag
bool big_flag
array< boxbs
path lip
path rip
SI x1
SI y1
SI x2
SI y2
SI x3
SI y3
SI x4
SI y4
path ip
int ref_count

Friends

struct page_box_rep
struct lazy_paragraph_rep
class phrase_box_rep
class remember_box_rep
void make_eps (url dest, box b, int dpi=600)

Detailed Description

Definition at line 259 of file change_boxes.cpp.


Constructor & Destructor Documentation

cell_box_rep::cell_box_rep ( path  ip,
box  b,
SI  x0,
SI  y0,
SI  x1,
SI  y1,
SI  x2,
SI  y2,
SI  bl,
SI  br,
SI  bb,
SI  bt,
color  fg,
tree  bg,
int  alpha 
)

Definition at line 273 of file change_boxes.cpp.

                                                           :
  change_box_rep (ip, false),
  bl (Bl<<1), br (Br<<1), bb (Bb<<1), bt (Bt<<1),
  fg (Fg), bg (Bg), alpha (Alpha)
{
  insert (b, X0, Y0);
  position ();
  x1= X1; y1= Y1;
  x2= X2; y2= Y2;
  if ((bg != "") || (bl>0) || (br>0) || (bb>0) || (bt>0)) {
    // the 4*PIXEL extra space is sufficient for (shrinking factor) <= 8
    x3= min (x3, x1 - (bl>>1) - (bl>0? PIXEL<<2: 0));
    y3= min (y3, y1 - (bb>>1) - (bb>0? PIXEL<<2: 0));
    x4= max (x4, x2 + (br>>1) + (br>0? PIXEL<<2: 0));
    y4= max (y4, y2 + (bt>>1) + (bt>0? PIXEL<<2: 0));
  }
  finalize ();
}

Here is the call graph for this function:


Member Function Documentation

bool composite_box_rep::access_allowed ( ) [virtual, inherited]

Reimplemented in graphics_group_box_rep, stack_box_rep, and concat_box_rep.

Definition at line 153 of file composite_boxes.cpp.

                                   {
  return true;
}

Here is the caller graph for this function:

bool box_rep::accessible ( ) [inline, inherited]

Definition at line 313 of file boxes.hpp.

{ return is_accessible (find_lip ()); }

Here is the call graph for this function:

Here is the caller graph for this function:

tree composite_box_rep::action ( tree  t,
SI  x,
SI  y,
SI  delta 
) [virtual, inherited]

Reimplemented from box_rep.

Reimplemented in action_box_rep, scrollbar_box_rep, and concat_box_rep.

Definition at line 116 of file composite_boxes.cpp.

                                                       {
  int m= find_child (x, y, delta, true);
  if (m == -1) return "";
  else return bs[m]->action (t, x- sx(m), y- sy(m),
                          delta + get_delta (x, x1, x2));
}

Here is the call graph for this function:

void box_rep::anim_check_invalid ( bool &  flag,
time_t at,
rectangles rs 
) [inherited]

Definition at line 716 of file boxes.cpp.

                                                                   {
  time_t now= texmacs_time ();
  time_t finish_at= anim_next_update ();
  if (finish_at - now < 0) finish_at= now;
  if (flag && at - now < 0) at= now;
  if (!flag || finish_at - (at - 3) < 0) {
    flag= true;
    at  = finish_at;
    rs  = rectangle (x1, y1, x2, y2);
  }
  else if (finish_at - (at + 3) <= 0) {
    rs << rectangle (x1, y1, x2, y2);
    if (finish_at - at < 0)
      at= finish_at;
  }
}

Here is the call graph for this function:

Here is the caller graph for this function:

void box_rep::anim_finish_now ( ) [virtual, inherited]

Reimplemented in sound_box_rep, anim_effect_box_rep, anim_repeat_box_rep, anim_compose_box_rep, modifier_box_rep, and anim_constant_box_rep.

Definition at line 703 of file boxes.cpp.

                          {
  int i, n= subnr ();
  for (i=0; i<n; i++)
    subbox (i)->anim_finish_now ();
}

Here is the call graph for this function:

bool box_rep::anim_finished ( ) [virtual, inherited]

Reimplemented in sound_box_rep, anim_effect_box_rep, anim_repeat_box_rep, anim_compose_box_rep, modifier_box_rep, and anim_constant_box_rep.

Definition at line 688 of file boxes.cpp.

                        {
  int i, n= subnr ();
  for (i=0; i<n; i++)
    if (!subbox (i)->anim_finished ()) return false;
  return true;
}

Here is the call graph for this function:

void box_rep::anim_get_invalid ( bool &  flag,
time_t at,
rectangles rs 
) [virtual, inherited]

Reimplemented in anim_effect_box_rep, anim_repeat_box_rep, anim_compose_box_rep, modifier_box_rep, and anim_constant_box_rep.

Definition at line 734 of file boxes.cpp.

                                                                 {
  int i, n= subnr ();
  for (i=0; i<n; i++) {
    bool   flag2= false;
    time_t at2= at;
    rectangles rs2;
    subbox (i)->anim_get_invalid (flag2, at2, rs2);
    if (flag2) {
      rs2= translate (rs2, sx (i), sy (i));
      if (at2 - (at-3) < 0) rs= rs2;
      else rs << rs2;
      flag= true;
      if (at2 - at < 0) at= at2;
    }
  }
}

Here is the call graph for this function:

int box_rep::anim_length ( ) [virtual, inherited]

Reimplemented in sound_box_rep, anim_effect_box_rep, anim_repeat_box_rep, anim_compose_box_rep, modifier_box_rep, and anim_constant_box_rep.

Definition at line 669 of file boxes.cpp.

                      {
  int i, n= subnr (), len=0;
  for (i=0; i<n; i++) {
    int slen= subbox (i)->anim_length ();
    if (slen == -1) return -1;
    if (slen > len) len= slen;
  }
  return len;
}

Here is the call graph for this function:

time_t box_rep::anim_next_update ( ) [virtual, inherited]

Reimplemented in anim_effect_box_rep, anim_compose_box_rep, and anim_constant_box_rep.

Definition at line 710 of file boxes.cpp.

                           {
  FAILED ("invalid situation");
  return texmacs_time ();
}

Here is the call graph for this function:

Here is the caller graph for this function:

void box_rep::anim_start_at ( time_t  at) [virtual, inherited]

Reimplemented in sound_box_rep, anim_effect_box_rep, anim_repeat_box_rep, anim_compose_box_rep, modifier_box_rep, and anim_constant_box_rep.

Definition at line 696 of file boxes.cpp.

                                 {
  int i, n= subnr ();
  for (i=0; i<n; i++)
    subbox (i)->anim_start_at (at);
}

Here is the call graph for this function:

bool box_rep::anim_started ( ) [virtual, inherited]

Reimplemented in sound_box_rep, anim_effect_box_rep, anim_repeat_box_rep, anim_compose_box_rep, modifier_box_rep, and anim_constant_box_rep.

Definition at line 680 of file boxes.cpp.

                       {
  int i, n= subnr ();
  for (i=0; i<n; i++)
    if (!subbox (i)->anim_started ()) return false;
  return true;
}

Here is the call graph for this function:

void box_rep::clear_incomplete ( rectangles rs,
SI  pixel,
int  i,
int  i1,
int  i2 
) [virtual, inherited]

Reimplemented in page_box_rep, stack_box_rep, and concat_box_rep.

Definition at line 541 of file boxes.cpp.

                                                                          {
  (void) rs; (void) pixel; (void) i; (void) i1; (void) i2;
}

Here is the caller graph for this function:

void composite_box_rep::collect_page_numbers ( hashmap< string, tree > &  h,
tree  page 
) [virtual, inherited]

Reimplemented from box_rep.

Reimplemented in tag_box_rep, and page_box_rep.

Definition at line 136 of file composite_boxes.cpp.

                                                                           {
  int i, n= N(bs);
  for (i=0; i<n; i++)
    bs[i]->collect_page_numbers (h, page);
}

Here is the call graph for this function:

bool box_rep::contains_rectangle ( SI  x1,
SI  y1,
SI  x2,
SI  y2 
) [inherited]

Definition at line 81 of file boxes.cpp.

                                                       {
  return x1<=X1 && y1<=Y1 && x2>=X2 && y2>=Y2;
}

Here is the caller graph for this function:

bool box_rep::decoration ( ) [inline, inherited]

Definition at line 314 of file boxes.hpp.

{ return is_decoration (find_lip ()); }

Here is the call graph for this function:

Here is the caller graph for this function:

void composite_box_rep::display ( renderer  ren) [virtual, inherited]

Implements box_rep.

Reimplemented in phrase_box_rep, highlight_box_rep, remember_box_rep, page_box_rep, and stack_box_rep.

Definition at line 101 of file composite_boxes.cpp.

                                        {
  (void) ren;
}
SI box_rep::distance ( int  i,
SI  x,
SI  y,
SI  delta 
) [inherited]

Definition at line 61 of file boxes.cpp.

                                              {
  box b= subbox (i);
  x -= sx(i);
  y -= sy(i);
  int dx, dy;
  if (x <=  b->x1) dx = b->x1- x- (delta<0? 1:0);
  else if (x >=  b->x2) dx = x- b->x2+ (delta<0? 0:1);
  else dx = 0;
  if (y <  b->y1) dy = b->y1- y;
  else if (y >= b->y2) dy = y- b->y2;
  else dy = 0;
  return dx+dy;
}

Here is the call graph for this function:

Here is the caller graph for this function:

void composite_box_rep::finalize ( ) [inherited]

Reimplemented in side_box_rep, dummy_script_box_rep, lim_box_rep, stack_box_rep, and concat_box_rep.

Definition at line 175 of file composite_boxes.cpp.

                             {
  int i, n= subnr ();
  lip= descend (ip, 0);
  rip= descend (ip, 1);
  for (i=0; i<n; i++) {
    path l= bs[i]->find_lip ();
    path r= bs[i]->find_rip ();
    /*
    cout << "  i  = " << i << "\n";
    cout << "  l  = " << l << "\n";
    cout << "  r  = " << r << "\n";
    */
    if (is_accessible (l) && is_accessible (r)) {
      if (is_decoration (lip) || path_less (reverse (l), reverse (lip)))
       lip= l;
      if (is_decoration (rip) || path_less (reverse (rip), reverse (r)))
       rip= r;
    }
  }
  /*
  cout << ((tree) (*((box_rep*) this))) << " " << ip << "\n";
  cout << "  lip= " << lip << "\n";
  cout << "  rip= " << rip << "\n";
  */
}

Here is the call graph for this function:

Here is the caller graph for this function:

path composite_box_rep::find_box_path ( SI  x,
SI  y,
SI  delta,
bool  force 
) [virtual, inherited]

Reimplemented from box_rep.

Reimplemented in macro_box_rep, and concat_box_rep.

Definition at line 215 of file composite_boxes.cpp.

                                                                  {
  int m= find_child (x, y, delta, force);
  if (m==-1) return box_rep::find_box_path (x, y, delta, force);
  else {
    SI xx= x- sx(m), yy= y- sy(m);
    SI dd= delta + get_delta (xx, bs[m]->x1, bs[m]->x2);
    return path (m, bs[m]->find_box_path (xx, yy, dd, force));
  }
}

Here is the call graph for this function:

Here is the caller graph for this function:

path composite_box_rep::find_box_path ( path  p,
bool &  found 
) [virtual, inherited]

Reimplemented from box_rep.

Reimplemented in macro_box_rep, side_box_rep, dummy_script_box_rep, and lim_box_rep.

Definition at line 236 of file composite_boxes.cpp.

                                                     {
  // cout << "Find box path " << box (this) << ", " << p
  //      << "; " << reverse (ip)
  //      << ", " << reverse (find_lip ())
  //      << " -- " << reverse (find_rip ()) << "\n";
  int n= subnr();
  // cout << "Search cursor " << p << " among " << n
  //      << " at " << box (this) << " " << reverse (ip) << "\n";
  if (n == 0) return box_rep::find_box_path (p, found);

  int start= n>>1, acc= start, step= (start+1)>>1;
  while (step > 0) {
    path sr= bs[acc]->find_rip ();
    while (!is_accessible (sr)) {
      acc--;
      if (acc<0) break;
      sr= bs[acc]->find_rip ();
    }
    if (acc<0) {
      start= 0;
      break;
    }
    if (path_less (reverse (sr), p)) {
      int old_start= start, old_acc= acc;
      start= min (n-1, start+ step);
      acc  = start;
      while ((acc > old_start) &&
            (!is_accessible (bs[acc]->find_rip ()))) acc--;
      if (acc == old_start) acc= old_acc;
    }
    else {
      start= max (0, start- step);
      acc  = min (acc, start);
    }
    if (step <= 1) break;
    step= (step+1)>>1;
  }

  path bp;
  bool flag= false;
  int i= start;
  found= false;
  while (true) {
    path sl= bs[i]->find_lip ();
    path sr= bs[i]->find_rip ();
    // cout << "  " << i << ":\t" << reverse(sl) <<", "<< reverse(sr) << "\n";
    if (is_accessible (sl) && is_accessible (sr) &&
       path_less_eq (reverse (sl), p) && path_less_eq (p, reverse (sr)))
      {
       flag= true;
       bp= path (i, bs[i]->find_box_path (p, found));
       if (found) return bp;
      }
    i++;
    if (i==n) i=0;
    if (i==start) break;
  }

  if (is_accessible (ip) && (path_up (p) == reverse (ip)) && access_allowed ())
    return box_rep::find_box_path (p, found);
  if (flag) return bp;
  if (start > 0) {
    path sl= bs[start-1]->find_rip ();
    path sr= bs[start  ]->find_lip ();
    if (is_accessible (sl) && is_accessible (sr) &&
       path_less_eq (reverse (sl), p) && path_less_eq (p, reverse (sr)))
      {
       int c1= N (common (reverse (sl), p));
       int c2= N (common (reverse (sr), p));
       int i = (c1 >= c2? start-1: start);
       return path (i, bs[i]->find_box_path (p, found));
      }
  }
  return box_rep::find_box_path (p, flag);
}

Here is the call graph for this function:

Definition at line 163 of file boxes.cpp.

                                  {
  bool found;
  path bp= find_box_path (p, found);
  cursor cu= find_cursor (bp);
  cu->valid= found;
  return cu;
}

Here is the call graph for this function:

selection box_rep::find_check_selection ( path  lp,
path  rp 
) [inherited]

Definition at line 172 of file boxes.cpp.

                                               {
  bool lfound= false, rfound= false;
  path lbp= find_box_path (lp, lfound);
  path rbp= find_box_path (rp, rfound);
  selection sel= find_selection (lbp, rbp);
  sel->valid= lfound && rfound;
  return sel;
}

Here is the call graph for this function:

int change_box_rep::find_child ( SI  x,
SI  y,
SI  delta,
bool  force 
) [virtual, inherited]

Reimplemented from composite_box_rep.

Definition at line 73 of file change_boxes.cpp.

                                                            {
  if (child_flag) return composite_box_rep::find_child (x, y, delta, force);
  return 0;
}
cursor composite_box_rep::find_cursor ( path  bp) [virtual, inherited]

Reimplemented from box_rep.

Reimplemented in macro_box_rep, side_box_rep, concat_box_rep, and stack_box_rep.

Definition at line 319 of file composite_boxes.cpp.

                                       {
  if (is_atom (bp)) return box_rep::find_cursor (bp);
  else {
    int i= bp->item;
    cursor cu= bs[i]->find_cursor (bp->next);
    cu->delta -= get_delta (cu->ox, bs[i]->x1, bs[i]->x2);
    cu->ox    += sx(i);
    cu->oy    += sy(i);
    return cu;
  }
}

Here is the call graph for this function:

frame box_rep::find_frame ( path  bp,
bool  last = false 
) [inherited]

Definition at line 286 of file boxes.cpp.

                                       {
  SI    x= 0;
  SI    y= 0;
  box   b= this;
  frame f= get_frame ();
  while (!is_nil (bp)) {
    x += b->sx (bp->item);
    y += b->sy (bp->item);
    b  = b->subbox (bp->item);
    bp = bp->next;
    frame g= b->get_frame ();
    if (!is_nil (g)) {
      if (last)
       f= g;
      else
       f= scaling (1.0, point (x, y)) * g;
    }
  }
  return f;
}

Here is the call graph for this function:

grid box_rep::find_grid ( path  bp) [inherited]

Definition at line 308 of file boxes.cpp.

                           {
  box   b= this;
  grid g= get_grid ();
  while (!is_nil (bp)) {
    b  = b->subbox (bp->item);
    bp = bp->next;
    grid g2= b->get_grid ();
    if (!is_nil (g2)) g= g2;
  }
  return g;
}

Here is the call graph for this function:

path change_box_rep::find_left_box_path ( ) [inline, virtual, inherited]

Reimplemented from box_rep.

Definition at line 26 of file change_boxes.cpp.

void box_rep::find_limits ( path  bp,
point lim1,
point lim2 
) [inherited]

Definition at line 321 of file boxes.cpp.

                                                       {
  box b= this;
  get_limits (lim1, lim2);
  while (!is_nil (bp)) {
    point slim1, slim2;
    b  = b->subbox (bp->item);
    bp = bp->next;
    b->get_limits (slim1, slim2);
    if (slim1 != point ()) {
      lim1= slim1;
      lim2= slim2;
    }
  }
}

Here is the call graph for this function:

path composite_box_rep::find_lip ( ) [virtual, inherited]

Reimplemented from box_rep.

Reimplemented in macro_box_rep, and graphics_group_box_rep.

Definition at line 226 of file composite_boxes.cpp.

                             {
  return lip;
}
path change_box_rep::find_right_box_path ( ) [inline, virtual, inherited]

Reimplemented from box_rep.

Definition at line 30 of file change_boxes.cpp.

path composite_box_rep::find_rip ( ) [virtual, inherited]

Reimplemented from box_rep.

Reimplemented in macro_box_rep, and graphics_group_box_rep.

Definition at line 231 of file composite_boxes.cpp.

                             {
  return rip;
}

Here is the caller graph for this function:

selection composite_box_rep::find_selection ( path  lbp,
path  rbp 
) [virtual, inherited]

Reimplemented from box_rep.

Reimplemented in macro_box_rep, side_box_rep, clip_box_rep, concat_box_rep, stack_box_rep, and scatter_box_rep.

Definition at line 332 of file composite_boxes.cpp.

                                                     {
  if ((!is_atom (lbp)) && (!is_atom (rbp)) && (lbp->item == rbp->item)) {
    int i= lbp->item;
    selection sel= bs[i]->find_selection (lbp->next, rbp->next);
    return selection (translate (sel->rs, sx(i), sy(i)), sel->start, sel->end);
  }
  else return box_rep::find_selection (lbp, rbp);
}

Here is the call graph for this function:

path composite_box_rep::find_tag ( string  name) [virtual, inherited]

Reimplemented from box_rep.

Reimplemented in tag_box_rep.

Definition at line 143 of file composite_boxes.cpp.

                                        {
  int i, n= N(bs);
  for (i=0; i<n; i++) {
    path p= bs[i]->find_tag (name);
    if (!is_nil (p)) return p;
  }
  return path ();
}

Here is the call graph for this function:

path composite_box_rep::find_tree_path ( path  bp) [virtual, inherited]

Reimplemented from box_rep.

Reimplemented in macro_box_rep, side_box_rep, dummy_script_box_rep, lim_box_rep, concat_box_rep, and stack_box_rep.

Definition at line 313 of file composite_boxes.cpp.

                                          {
  if (is_atom (bp)) return box_rep::find_tree_path (bp);
  return bs[bp->item]->find_tree_path (bp->next);
}

Here is the call graph for this function:

Here is the caller graph for this function:

path box_rep::find_tree_path ( SI  x,
SI  y,
SI  delta 
) [inherited]

Definition at line 155 of file boxes.cpp.

                                             {
  path bp= find_box_path (x, y, delta, false);
  //cout << "Find " << x << ", " << y << "; " << delta;
  //cout << " -> " << bp << "\n";
  return find_tree_path (bp);
}

Here is the call graph for this function:

frame box_rep::get_frame ( ) [virtual, inherited]

Reimplemented in graphics_box_rep.

Definition at line 271 of file boxes.cpp.

                    {
  return frame ();
}

Here is the caller graph for this function:

grid box_rep::get_grid ( ) [virtual, inherited]

Reimplemented in graphics_box_rep.

Definition at line 276 of file boxes.cpp.

                   {
  return grid ();
}

Here is the caller graph for this function:

tree box_rep::get_info ( tree  in) [virtual, inherited]

Reimplemented in clip_box_rep.

Definition at line 391 of file boxes.cpp.

                          {
  (void) in;
  return "";
}
color box_rep::get_leaf_color ( ) [virtual, inherited]

Reimplemented in macro_box_rep, shorter_box_rep, and text_box_rep.

Definition at line 425 of file boxes.cpp.

                         {
  cerr << "\nTeXmacs] the box is " << box (this) << "\n";
  FAILED ("this box is not textual");
  return 0;
}
font box_rep::get_leaf_font ( ) [virtual, inherited]

Reimplemented in macro_box_rep, shorter_box_rep, and text_box_rep.

Definition at line 418 of file boxes.cpp.

                        {
  cerr << "\nTeXmacs] the box is " << box (this) << "\n";
  FAILED ("this box is not textual");
  return font ();
}
language box_rep::get_leaf_language ( ) [virtual, inherited]

Definition at line 432 of file boxes.cpp.

                            {
  cerr << "\nTeXmacs] the box is " << box (this) << "\n";
  FAILED ("this box is not textual");
  return language ();
}
lazy box_rep::get_leaf_lazy ( ) [virtual, inherited]

Reimplemented in control_lazy_box_rep.

Definition at line 446 of file boxes.cpp.

                        {
  cerr << "\nTeXmacs] the box is " << box (this) << "\n";
  FAILED ("no lazy attached to this box");
  return lazy ();
}
int box_rep::get_leaf_left_pos ( ) [virtual, inherited]

Reimplemented in shorter_box_rep, and text_box_rep.

Definition at line 397 of file boxes.cpp.

                            {
  cerr << "\nTeXmacs] the box is " << box (this) << "\n";
  FAILED ("this box is not textual");
  return 0;
}
SI change_box_rep::get_leaf_offset ( string  search) [inline, virtual, inherited]

Reimplemented from box_rep.

Definition at line 62 of file change_boxes.cpp.

                                     {
    return sx1(0) + bs[0]->get_leaf_offset (search); }

Here is the call graph for this function:

int box_rep::get_leaf_right_pos ( ) [virtual, inherited]

Reimplemented in shorter_box_rep, and text_box_rep.

Definition at line 404 of file boxes.cpp.

                             {
  cerr << "\nTeXmacs] the box is " << box (this) << "\n";
  FAILED ("this box is not textual");
  return 0;
}
string box_rep::get_leaf_string ( ) [virtual, inherited]

Reimplemented in macro_box_rep, shorter_box_rep, and text_box_rep.

Definition at line 411 of file boxes.cpp.

                          {
  cerr << "\nTeXmacs] the box is " << box (this) << "\n";
  FAILED ("this box is not textual");
  return "";
}
tree box_rep::get_leaf_tree ( ) [virtual, inherited]

Reimplemented in control_tree_box_rep.

Definition at line 439 of file boxes.cpp.

                        {
  cerr << "\nTeXmacs] the box is " << box (this) << "\n";
  FAILED ("no tree attached to this box");
  return "";
}
void box_rep::get_limits ( point lim1,
point lim2 
) [virtual, inherited]

Reimplemented in graphics_box_rep.

Definition at line 281 of file boxes.cpp.

                                             {
  lim1= point (); lim2= point ();
}

Here is the caller graph for this function:

int box_rep::get_type ( ) [virtual, inherited]

Reimplemented in clip_box_rep, shift_box_rep, move_box_rep, and stack_box_rep.

Definition at line 386 of file boxes.cpp.

                   {
  return STD_BOX;
}
SI box_rep::graphical_distance ( SI  x,
SI  y 
) [virtual, inherited]

Reimplemented in curve_box_rep, and point_box_rep.

Definition at line 337 of file boxes.cpp.

                                       {
  SI dx, dy;
  if (x <=  x1) dx= x1 - x;
  else if (x >=  x2) dx= x - x2;
  else dx= 0;
  if (y <  y1) dy= y1 - y;
  else if (y >= y2) dy= y - y2;
  else dy= 0;
  return (SI) norm (point (dx, dy));
}

Here is the call graph for this function:

Here is the caller graph for this function:

gr_selections change_box_rep::graphical_select ( SI  x,
SI  y,
SI  dist 
) [virtual, inherited]

Reimplemented from composite_box_rep.

Reimplemented in text_at_box_rep.

Definition at line 79 of file change_boxes.cpp.

                                                     { 
//TODO : Check if it is correct
  if (child_flag)
    return composite_box_rep::graphical_select (x, y, dist);
  else
    return bs[0]->graphical_select (x- sx(0), y- sy(0), dist);
}

Here is the call graph for this function:

Here is the caller graph for this function:

gr_selections change_box_rep::graphical_select ( SI  x1,
SI  y1,
SI  x2,
SI  y2 
) [virtual, inherited]

Reimplemented from composite_box_rep.

Definition at line 88 of file change_boxes.cpp.

                                                            {
//TODO : Check if it is correct
  if (child_flag)
    return composite_box_rep::graphical_select (x1, y1, x2, y2);
  else
    return bs[0]->graphical_select (x1- sx(0), y1- sy(0),
                                x2- sx(0), y2- sy(0));
}

Here is the call graph for this function:

SI box_rep::h ( ) [inline, inherited]

Definition at line 265 of file boxes.hpp.

{ return y2-y1; }

Here is the caller graph for this function:

bool box_rep::in_rectangle ( SI  x1,
SI  y1,
SI  x2,
SI  y2 
) [inherited]

Definition at line 76 of file boxes.cpp.

                                                 {
  return x1>=X1 && y1>=Y1 && x2<=X2 && y2<=Y2;
}

Here is the caller graph for this function:

void composite_box_rep::insert ( box  b,
SI  x,
SI  y 
) [inherited]

Definition at line 57 of file composite_boxes.cpp.

                                            {
  int n= N(bs);
  bs << b;
  sx(n)= x;
  sy(n)= y;
}

Here is the call graph for this function:

Here is the caller graph for this function:

SI change_box_rep::left_correction ( ) [inline, virtual, inherited]

Reimplemented from box_rep.

Definition at line 39 of file change_boxes.cpp.

                        {
    return big_flag? bs[0]->left_correction():box_rep::left_correction(); }
void composite_box_rep::left_justify ( ) [inherited]

Definition at line 89 of file composite_boxes.cpp.

                                 {
  int i, n= subnr();
  SI d= x1;
  x1-=d; x2-=d; x3-=d; x4-=d;
  for (i=0; i<n; i++) sx(i) -= d;
}

Here is the call graph for this function:

Here is the caller graph for this function:

double change_box_rep::left_slope ( ) [inline, virtual, inherited]

Reimplemented from box_rep.

Definition at line 35 of file change_boxes.cpp.

                       {
    return big_flag? bs[0]->left_slope(): box_rep::left_slope(); }
void composite_box_rep::loci ( SI  x,
SI  y,
SI  delta,
list< string > &  ids,
rectangles rs 
) [virtual, inherited]

Reimplemented from box_rep.

Reimplemented in locus_box_rep, and concat_box_rep.

Definition at line 124 of file composite_boxes.cpp.

{
  int m= find_child (x, y, delta, true);
  if (m == -1) box_rep::loci (x, y, delta, ids, rs);
  else {
    bs[m]->loci (x- sx(m), y- sy(m), delta + get_delta (x, x1, x2), ids, rs);
    rs= translate (rs, sx(m), sy(m));
  }
}

Here is the call graph for this function:

SI change_box_rep::lsub_correction ( ) [inline, virtual, inherited]

Reimplemented from box_rep.

Definition at line 43 of file change_boxes.cpp.

                        {
    return big_flag? bs[0]->lsub_correction(): box_rep::lsub_correction(); }
SI change_box_rep::lsup_correction ( ) [inline, virtual, inherited]

Reimplemented from box_rep.

Definition at line 45 of file change_boxes.cpp.

                        {
    return big_flag? bs[0]->lsup_correction(): box_rep::lsup_correction(); }
cell_box_rep::operator tree ( ) [inline, virtual]

Reimplemented from change_box_rep.

Definition at line 268 of file change_boxes.cpp.

{ return tree (TUPLE, "cell", (tree) bs[0]); }
void composite_box_rep::position ( ) [inherited]

Definition at line 65 of file composite_boxes.cpp.

                             {
  int i, n= subnr();
  if (n == 0) {
    x1= y1= x3= y3= 0;
    x2= y2= x4= y4= 0;
    FAILED ("empty composite box");
  }
  else {
    x1= y1= x3= y3= MAX_SI;
    x2= y2= x4= y4= -MAX_SI;
    for (i=0; i<n; i++) {
      x1= min (x1, sx1(i));
      y1= min (y1, sy1(i));
      x2= max (x2, sx2(i));
      y2= max (y2, sy2(i));
      x3= min (x3, sx3(i));
      y3= min (y3, sy3(i));
      x4= max (x4, sx4(i));
      y4= max (y4, sy4(i));
    }
  }
}

Here is the call graph for this function:

Here is the caller graph for this function:

void box_rep::position_at ( SI  x,
SI  y,
rectangles change_log 
) [virtual, inherited]

Definition at line 769 of file boxes.cpp.

                                                        {
  int i, n= subnr ();
  x += x0; y += y0;
  for (i=0; i<n; i++) subbox (i)->position_at (x, y, change_log);
}

Here is the call graph for this function:

void cell_box_rep::post_display ( renderer ren) [virtual]

Reimplemented from box_rep.

Definition at line 328 of file change_boxes.cpp.

                                         {
  if (bg != "")
    ren->set_background_pattern (old_bg, old_a);
}

Here is the call graph for this function:

void cell_box_rep::pre_display ( renderer ren) [virtual]

Reimplemented from box_rep.

Definition at line 295 of file change_boxes.cpp.

                                        {
  SI l= bl, r= br, b= bb, t= bt;
  SI lx1, rx1, by1, ty1;
  SI lx2, rx2, by2, ty2;
  if (ren->sfactor > 1) { // correction for screen display only
    SI  pixel= ren->pixel;
    l= ((l + (pixel - 1)) / pixel) * pixel;
    r= ((r + (pixel - 1)) / pixel) * pixel;
    b= ((b + (pixel - 1)) / pixel) * pixel;
    t= ((t + (pixel - 1)) / pixel) * pixel;
  }

  lx1= x1 - (l>>1); lx2= lx1 + l;
  by1= y1 - (b>>1); by2= by1 + b;
  rx2= x2 + (r>>1); rx1= rx2 - r;
  ty2= y2 + (t>>1); ty1= ty2 - t;

  if (bg != "") {
    old_bg= ren->get_background_pattern (old_a);
    ren->set_background_pattern (bg, alpha);
    ren->clear_pattern (lx2, by2, rx1, ty1);
  }

  if ((l>0) || (r>0) || (b>0) || (t>0)) {
    ren->set_color (fg);
    ren->fill (lx1, by1, lx2, ty2);
    ren->fill (rx1, by1, rx2, ty2);
    ren->fill (lx1, by1, rx2, by2);
    ren->fill (lx1, ty1, rx2, ty2);
  }
}

Here is the call graph for this function:

void box_rep::redraw ( renderer  ren,
path  p,
rectangles l 
) [inherited]

Definition at line 489 of file boxes.cpp.

                                                    {
  if (((nr_painted&15) == 15) && ren->interrupted (true)) return;
  ren->move_origin (x0, y0);
  SI delta= ren->pixel; // adjust visibility to compensate truncation
  if (ren->is_visible (x3- delta, y3- delta, x4+ delta, y4+ delta)) {
    rectangles ll;
    l= rectangles();
    pre_display (ren);

    int i, item=-1, n=subnr (), i1= n, i2= -1;
    if (!is_nil(p)) i1= i2= item= p->item;
    for (i=0; i<n; i++) {
      int k= reindex (i, item, n-1);
      if (is_nil(p)) subbox (k)->redraw (ren, path (), ll);
      else if (i!=0) {
       if (k > item) subbox(k)->redraw (ren, path (0), ll);
       else subbox(k)->redraw (ren, path (subbox(k)->subnr()-1), ll);
      }
      else subbox(k)->redraw (ren, p->next, ll);
      if (!is_nil(ll)) {
       i1= min (i1, k);
       i2= max (i2, k);
       l = ll * l;
       ll= rectangles ();
      }
    }

    if (((nr_painted&15) == 15) && ren->interrupted ()) {
      l= translate (l, -ren->ox, -ren->oy);
      clear_incomplete (l, ren->pixel, item, i1, i2);
      l= translate (l, ren->ox, ren->oy);
    }
    else {
      l= rectangle (x3+ ren->ox, y3+ ren->oy, x4+ ren->ox, y4+ ren->oy);
      display (ren);
      if (nr_painted < 15) ren->apply_shadow (x1, y1, x2, y2);
      nr_painted++;
    }

    post_display (ren);
  }
  ren->move_origin (-x0, -y0);
}

Here is the call graph for this function:

Here is the caller graph for this function:

void box_rep::redraw ( renderer  ren,
path  p,
rectangles l,
SI  x,
SI  y 
) [inherited]

Definition at line 534 of file boxes.cpp.

                                                                {
  ren->move_origin (x, y);
  redraw (ren, p, l);
  ren->move_origin (-x, -y);
}

Here is the call graph for this function:

int box_rep::reindex ( int  i,
int  item,
int  n 
) [virtual, inherited]

Reimplemented in graphics_group_box_rep, grid_box_rep, graphics_box_rep, and superpose_box_rep.

Definition at line 475 of file boxes.cpp.

                                        {
  if (item<0) item=0;
  if (item>n) item=n;
  if (i==0) return item;
  if ((i <= (item<<1)) && (i <= ((n-item)<<1))) {
    int d=(i+1)>>1;
    if (((i+1)&1)==0) return item-d;
    else return item+d;
  }
  if (i > (item<<1)) return i;
  return n-i;
}

Here is the caller graph for this function:

void box_rep::relocate ( path  p,
bool  force = false 
) [inherited]

Definition at line 182 of file boxes.cpp.

                                          {
  if (!force)
    if (is_nil (ip) || (ip->item >= 0) || (ip == new_ip)) return;
  ip= new_ip;
  int i, n= subnr ();
  for (i=0; i<n; i++) subbox (i)->relocate (ip, force);
}

Here is the call graph for this function:

SI change_box_rep::right_correction ( ) [inline, virtual, inherited]

Reimplemented from box_rep.

Definition at line 41 of file change_boxes.cpp.

                         {
    return big_flag? bs[0]->right_correction():box_rep::right_correction(); }
double change_box_rep::right_slope ( ) [inline, virtual, inherited]

Reimplemented from box_rep.

Definition at line 37 of file change_boxes.cpp.

                        { 
    return big_flag? bs[0]->right_slope(): box_rep::right_slope(); }
SI change_box_rep::rsub_correction ( ) [inline, virtual, inherited]

Reimplemented from box_rep.

Definition at line 47 of file change_boxes.cpp.

                        {
    return big_flag? bs[0]->rsub_correction(): box_rep::rsub_correction(); }
SI change_box_rep::rsup_correction ( ) [inline, virtual, inherited]

Reimplemented from box_rep.

Definition at line 49 of file change_boxes.cpp.

                        {
    return big_flag? bs[0]->rsup_correction(): box_rep::rsup_correction(); }
SI change_box_rep::sub_hi_lim ( int  l) [inline, virtual, inherited]

Reimplemented from box_rep.

Definition at line 53 of file change_boxes.cpp.

                         {
    return big_flag? bs[0]->sub_hi_lim (l): box_rep::sub_hi_lim (l); }
SI change_box_rep::sub_lo_base ( int  l) [inline, virtual, inherited]

Reimplemented from box_rep.

Definition at line 51 of file change_boxes.cpp.

                         {
    return big_flag? bs[0]->sub_lo_base (l): box_rep::sub_lo_base (l); }
box composite_box_rep::subbox ( int  i) [virtual, inherited]

Reimplemented from box_rep.

Definition at line 111 of file composite_boxes.cpp.

                                {
  return bs[i];
}

Here is the caller graph for this function:

int composite_box_rep::subnr ( ) [virtual, inherited]

Reimplemented from box_rep.

Definition at line 106 of file composite_boxes.cpp.

                          {
  return N(bs);
}

Here is the call graph for this function:

Here is the caller graph for this function:

SI change_box_rep::sup_hi_lim ( int  l) [inline, virtual, inherited]

Reimplemented from box_rep.

Definition at line 59 of file change_boxes.cpp.

                         {
    return big_flag? bs[0]->sup_hi_lim (l): box_rep::sup_hi_lim (l); }
SI change_box_rep::sup_lo_base ( int  l) [inline, virtual, inherited]

Reimplemented from box_rep.

Definition at line 57 of file change_boxes.cpp.

                         {
    return big_flag? bs[0]->sup_lo_base (l): box_rep::sup_lo_base (l); }
SI change_box_rep::sup_lo_lim ( int  l) [inline, virtual, inherited]

Reimplemented from box_rep.

Definition at line 55 of file change_boxes.cpp.

                         {
    return big_flag? bs[0]->sup_lo_lim (l): box_rep::sup_lo_lim (l); }
SI & box_rep::sx ( int  i) [inline, inherited]

Definition at line 266 of file boxes.hpp.

{ return subbox(i)->x0; }

Here is the call graph for this function:

Here is the caller graph for this function:

SI box_rep::sx1 ( int  i) [inline, inherited]

Definition at line 268 of file boxes.hpp.

{ box b= subbox(i); return b->x0+ b->x1; }

Here is the call graph for this function:

Here is the caller graph for this function:

SI box_rep::sx2 ( int  i) [inline, inherited]

Definition at line 270 of file boxes.hpp.

{ box b= subbox(i); return b->x0+ b->x2; }

Here is the call graph for this function:

Here is the caller graph for this function:

SI box_rep::sx3 ( int  i) [inline, inherited]

Definition at line 272 of file boxes.hpp.

{ box b= subbox(i); return b->x0+ b->x3; }

Here is the call graph for this function:

Here is the caller graph for this function:

SI box_rep::sx4 ( int  i) [inline, inherited]

Definition at line 274 of file boxes.hpp.

{ box b= subbox(i); return b->x0+ b->x4; }

Here is the call graph for this function:

Here is the caller graph for this function:

SI & box_rep::sy ( int  i) [inline, inherited]

Definition at line 267 of file boxes.hpp.

{ return subbox(i)->y0; }

Here is the call graph for this function:

Here is the caller graph for this function:

SI box_rep::sy1 ( int  i) [inline, inherited]

Definition at line 269 of file boxes.hpp.

{ box b= subbox(i); return b->y0+ b->y1; }

Here is the call graph for this function:

Here is the caller graph for this function:

SI box_rep::sy2 ( int  i) [inline, inherited]

Definition at line 271 of file boxes.hpp.

{ box b= subbox(i); return b->y0+ b->y2; }

Here is the call graph for this function:

Here is the caller graph for this function:

SI box_rep::sy3 ( int  i) [inline, inherited]

Definition at line 273 of file boxes.hpp.

{ box b= subbox(i); return b->y0+ b->y3; }

Here is the call graph for this function:

Here is the caller graph for this function:

SI box_rep::sy4 ( int  i) [inline, inherited]

Definition at line 275 of file boxes.hpp.

{ box b= subbox(i); return b->y0+ b->y4; }

Here is the call graph for this function:

Here is the caller graph for this function:

bool box_rep::test_in ( SI  x,
SI  y 
) [inline, inherited]

Definition at line 262 of file boxes.hpp.

                                        {
  return (x>=x1) && (x<x2) && (y>=y1) && (y<y2); }
box composite_box_rep::transform ( frame  fr) [virtual, inherited]

Reimplemented from box_rep.

Reimplemented in concat_box_rep.

Definition at line 158 of file composite_boxes.cpp.

                                      {
  int i;
  array<box> bs;
  for (i= 0; i<subnr(); i++) {
    if (!is_nil (subbox (i))) {
      box sb= subbox (i)->transform (fr);
      if (!is_nil (sb)) bs << sb;
    }
  }
  return N (bs)==0?box ():composite_box (ip, bs);
}

Here is the call graph for this function:

SI box_rep::w ( ) [inline, inherited]

Definition at line 264 of file boxes.hpp.

{ return x2-x1; }

Here is the caller graph for this function:


Friends And Related Function Documentation

friend struct lazy_paragraph_rep [friend, inherited]

Definition at line 250 of file boxes.hpp.

void make_eps ( url  dest,
box  b,
int  dpi = 600 
) [friend, inherited]

Definition at line 828 of file boxes.cpp.

                                    {
  double inch= ((double) dpi * PIXEL);
  double cm  = inch / 2.54;
  SI w= b->x4 - b->x3;
  SI h= b->y4 - b->y3;
  b->x0= -b->x3;
  b->y0= -b->y4;
  renderer ren= printer (name, dpi, 1, "user", false, w/cm, h/cm);
  ren->set_color (black);
  ren->set_background (white);
  rectangles rs;
  b->redraw (ren, path (0), rs);
  tm_delete (ren);
}
friend struct page_box_rep [friend, inherited]

Definition at line 249 of file boxes.hpp.

friend class phrase_box_rep [friend, inherited]

Definition at line 251 of file boxes.hpp.

friend class remember_box_rep [friend, inherited]

Definition at line 252 of file boxes.hpp.


Member Data Documentation

Definition at line 263 of file change_boxes.cpp.

Definition at line 260 of file change_boxes.cpp.

Definition at line 262 of file change_boxes.cpp.

bool change_box_rep::big_flag [inherited]

Definition at line 22 of file change_boxes.cpp.

Definition at line 260 of file change_boxes.cpp.

Definition at line 260 of file change_boxes.cpp.

Definition at line 22 of file composite.hpp.

Definition at line 260 of file change_boxes.cpp.

bool change_box_rep::child_flag [inherited]

Definition at line 22 of file change_boxes.cpp.

Definition at line 261 of file change_boxes.cpp.

path box_rep::ip [inherited]

Definition at line 127 of file boxes.hpp.

Definition at line 23 of file composite.hpp.

Definition at line 265 of file change_boxes.cpp.

Definition at line 264 of file change_boxes.cpp.

int abstract_struct::ref_count [inherited]

Definition at line 142 of file basic.hpp.

Definition at line 23 of file composite.hpp.

SI box_rep::x1 [inherited]

Definition at line 122 of file boxes.hpp.

SI box_rep::x2 [inherited]

Definition at line 123 of file boxes.hpp.

SI box_rep::x3 [inherited]

Definition at line 124 of file boxes.hpp.

SI box_rep::x4 [inherited]

Definition at line 125 of file boxes.hpp.

SI box_rep::y1 [inherited]

Definition at line 122 of file boxes.hpp.

SI box_rep::y2 [inherited]

Definition at line 123 of file boxes.hpp.

SI box_rep::y3 [inherited]

Definition at line 124 of file boxes.hpp.

SI box_rep::y4 [inherited]

Definition at line 125 of file boxes.hpp.


The documentation for this struct was generated from the following file: