Back to index

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

List of all members.

Public Member Functions

 phrase_box_rep (path ip, array< box > bs, array< SI > spc)
 ~phrase_box_rep ()
void position_at (SI x, SI y, rectangles &change_log_ptr)
void display (renderer ren)
 operator tree ()
void finalize ()
void clear_incomplete (rectangles &rs, SI pixel, int i, int i1, int i2)
bool access_allowed ()
void position (array< SI > spc)
void position ()
int count_left (int i)
int count_right (int i)
int get_first ()
int get_last ()
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 level)
SI sub_hi_lim (int level)
SI sup_lo_lim (int level)
SI sup_lo_base (int level)
SI sup_hi_lim (int level)
int find_any_child (SI x, SI y, SI delta, SI &delta_out)
int find_accessible_child (SI x, SI y, SI delta, SI &delta_out)
int find_child (SI x, SI y, SI delta, bool force)
path find_box_path (SI x, SI y, SI delta, bool force)
virtual path find_box_path (path p, bool &found)
path find_tree_path (path bp)
path find_tree_path (SI x, SI y, SI delta)
cursor find_cursor (path bp)
selection find_selection (path lbp, path rbp)
tree action (tree t, SI x, SI y, SI delta)
void loci (SI x, SI y, SI delta, list< string > &ids, rectangles &rs)
SI get_leaf_offset (string search)
box transform (frame fr)
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 left_justify ()
int subnr ()
box subbox (int i)
virtual path find_lip ()
virtual path find_rip ()
virtual void collect_page_numbers (hashmap< string, tree > &h, tree page)
virtual path find_tag (string name)
void relocate (path p, bool force=false)
virtual void pre_display (renderer &ren)
virtual void post_display (renderer &ren)
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)
virtual path find_left_box_path ()
virtual path find_right_box_path ()
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

rectangleslogs_ptr
SI ox
SI oy
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 524 of file concat_boxes.cpp.


Constructor & Destructor Documentation

phrase_box_rep::phrase_box_rep ( path  ip,
array< box bs,
array< SI spc 
)

Definition at line 534 of file concat_boxes.cpp.

                                                                    :
  concat_box_rep (ip, bs, spc), logs_ptr (NULL) {}

Definition at line 537 of file concat_boxes.cpp.

                                 {
  if (logs_ptr != NULL) {
    rectangles& logs= *logs_ptr;
    logs= rectangles (rectangle (ox+x3, oy+y3, ox+x4, oy+y4), logs);
    logs= rectangles (rectangle (0, 0, 0, 0), logs);
    // cout << "  8=X " << rectangle (ox+x3, oy+y3, ox+x4, oy+y4) << "\n";
  }
}

Member Function Documentation

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

Reimplemented from composite_box_rep.

Definition at line 106 of file concat_boxes.cpp.

                                {
  return false;
}
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 concat_box_rep::action ( tree  t,
SI  x,
SI  y,
SI  delta 
) [virtual, inherited]

Reimplemented from composite_box_rep.

Definition at line 469 of file concat_boxes.cpp.

                                                    {
  int delta_out, m= find_any_child (x, y, delta, delta_out);
  if (m == -1) return "";
  SI xx= x- sx(m), yy= y- sy(m);
  SI dd= delta_out + get_delta (xx, bs[m]->x1, bs[m]->x2);
  return bs[m]->action (t, xx, yy, dd);
}

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 concat_box_rep::clear_incomplete ( rectangles rs,
SI  pixel,
int  i,
int  i1,
int  i2 
) [virtual, inherited]

Reimplemented from box_rep.

Definition at line 116 of file concat_boxes.cpp.

{
  (void) pixel; (void) i;
  if (i1 < i2) {
    // cout << "Concat " << i << " ( " << i1 << " - " << i2 << " )\n";
    // cout << "  in : " << rs << "\n";

    SI left = sx4 (i1);
    SI right= sx3 (i2);
    bool lbusy= (i+i) >= (i1+i2);
    bool rbusy= (i+i) <= (i1+i2);
    rectangles new_rs;
    rectangles mid_rs;
    rectangles count= rs;
    while (!is_nil (count)) {
      rectangle& r= count->item;
      if ((lbusy && (r->x1 < left)) || (rbusy && (r->x2 > right))) new_rs << r;
      else mid_rs << r;
      count= count->next;
    }
    rs= new_rs;
    if (!is_nil (mid_rs)) rs= rs * least_upper_bound (mid_rs);

    // cout << "  out: " << rs << "\n\n";
  }
}

Here is the call 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:

int concat_box_rep::count_left ( int  i) [inherited]

Definition at line 268 of file concat_boxes.cpp.

                                 {
  int n;
  for (n=1; (i+n<N(bs)) && (i+n>0); n++)
    if (sx1(i+n) > sx1(i)) return n;
  return n;
}

Here is the call graph for this function:

Here is the caller graph for this function:

int concat_box_rep::count_right ( int  i) [inherited]

Definition at line 276 of file concat_boxes.cpp.

                                  {
  int n;
  for (n=1; (i-n<N(bs)) && (i-n>0); n++)
    if (sx2(i) > sx2(i-n)) return n;
  return n;
}

Here is the call graph for this function:

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 phrase_box_rep::display ( renderer  ren) [virtual]

Reimplemented from composite_box_rep.

Definition at line 557 of file concat_boxes.cpp.

                                     {
  ren->apply_shadow (x1, y1, x2, y2);
}

Here is the call graph for this function:

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 concat_box_rep::finalize ( ) [inherited]

Reimplemented from composite_box_rep.

Definition at line 98 of file concat_boxes.cpp.

                          {
  path old_ip= ip;
  ip= decorate_middle (ip);
  composite_box_rep::finalize ();
  ip= old_ip;
}

Here is the call graph for this function:

Here is the caller graph for this function:

int concat_box_rep::find_accessible_child ( SI  x,
SI  y,
SI  delta,
SI delta_out 
) [inherited]

Definition at line 333 of file concat_boxes.cpp.

                                                                          {
  int i= find_any_child (x, y, delta, delta_out);

  if (bs[i]->decoration ()) {
    int j, k, n= N(bs);
    for (j=i-1; j>=0; j--)
      if (bs[j]->accessible ()) break;
    for (k=i+1; k< n; k++)
      if (bs[k]->accessible ()) break;
    if ((j< 0) && (k>=n)) return -1;
    if ((j>=0) && (k>=n)) return j;
    if ((j< 0) && (k< n)) return k;
    SI m= (sx2(j) + sx1(k)) >> 1;
    if (sx2(j) == m) return i <= ((j+k)>>1)? j: k;
    if ((x<m) || ((x==m) && (delta<0))) return j;
    return k;
  }

  return i;
}

Here is the call graph for this function:

Here is the caller graph for this function:

int concat_box_rep::find_any_child ( SI  x,
SI  y,
SI  delta,
SI delta_out 
) [inherited]

Definition at line 284 of file concat_boxes.cpp.

                                                                   {
  (void) y;
  int i, n;
  bool flag;
  delta_out= delta;

  SI x_1= sx2(N(bs)-1);
  if (x >= x_1) {
    n= count_right (N(bs)-1);
    if ((delta >= 0) || (x > x_1)) i=N(bs)-1; else i=N(bs)+delta;
    if ((N(bs)-1)-i<n) {
      delta_out= ((i==N(bs)-1)? delta: 0);
      return i;
    }
    delta_out= delta+ (n-1);
    return N(bs)-n;
  }

  for (i=0; i<N(bs); i++) {
    SI x_i= sx1(i);
    if ((x < x_i) || ((x == x_i) && (delta < 0))) return i;

    n= count_left (i);
    if (x == sx1(i)) {
      // if ((i>0) && (sx2(i-1) < x))
      //   return i;
      if (delta<0) return i-1; // i can not be zero here
      if (delta<n) {
       delta_out= 0;
       return i + delta;
      }
      delta_out= delta- (n-1);
      return i + (n-1);
    }

    i += n-1;
    if (i+1 == N(bs)) flag=true;
    else {
      int ex1= x- sx2(i);
      int ex2= sx1(i+1)- x;
      flag= ((ex2>ex1+1) || ((ex2>=ex1) && (delta<0)));
    }
    if (flag) return i;
  }

  return -1;
}

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:

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

Reimplemented from composite_box_rep.

Definition at line 362 of file concat_boxes.cpp.

                                                               {
  int delta_out, m;
  if (force) m= find_any_child (x, y, delta, delta_out);
  else m= find_accessible_child (x, y, delta, delta_out);
  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_out + 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:

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 concat_box_rep::find_child ( SI  x,
SI  y,
SI  delta,
bool  force 
) [virtual, inherited]

Reimplemented from composite_box_rep.

Definition at line 355 of file concat_boxes.cpp.

                                                            {
  int delta_out;
  if (force) return find_any_child (x, y, delta, delta_out);
  else return find_accessible_child (x, y, delta, delta_out);
}

Here is the call graph for this function:

cursor concat_box_rep::find_cursor ( path  bp) [virtual, inherited]

Reimplemented from composite_box_rep.

Definition at line 390 of file concat_boxes.cpp.

                                    {
  if (is_atom (bp)) return box_rep::find_cursor (bp);
  else {
    int i= bp->item, j, n;
    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);

    SI x_1= sx2(N(bs)-1);
    if (cu->ox >= x_1) {
      n= count_right (N(bs)-1);
      if ((i==N(bs)-1) || (cu->ox > x_1));
      else if (i==N(bs)-n) cu->delta -= n-1;
      else cu->delta= i-N(bs);
      return cu;
    }

    if (cu->ox == sx1(i)) {
      // for (j=0; j<i; j++) if (sx1(j) >= sx1 (i)) break;
      for (j=i; j>0; j--) if (sx1(j) > sx1 (j-1)) break;
      n= count_left (j);
      if ((i==j) || (cu->ox != sx1(j)));
      else if (i==j+(n-1)) cu->delta += n-1;
      else cu->delta= i-j;
    }

    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 box_rep::find_left_box_path ( ) [virtual, inherited]

Reimplemented in side_box_rep, page_box_rep, modifier_box_rep, scatter_box_rep, and change_box_rep.

Definition at line 108 of file boxes.cpp.

                             {
  return path (0);
}

Here is the caller graph for this function:

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 box_rep::find_right_box_path ( ) [virtual, inherited]

Reimplemented in side_box_rep, shorter_box_rep, page_box_rep, marker_box_rep, text_box_rep, modifier_box_rep, change_box_rep, and scatter_box_rep.

Definition at line 113 of file boxes.cpp.

                              {
  return path (1);
}

Here is the caller graph for this function:

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 concat_box_rep::find_selection ( path  lbp,
path  rbp 
) [virtual, inherited]

Reimplemented from composite_box_rep.

Definition at line 422 of file concat_boxes.cpp.

                                                  {
  if ((N(bs) == 0) ||
      ((!is_atom (lbp)) && (!is_atom (rbp)) && (lbp->item == rbp->item)))
    return composite_box_rep::find_selection (lbp, rbp);

  int  i;
  int  i1  = is_atom (lbp)? 0      : lbp->item;
  int  i2  = is_atom (rbp)? N(bs)-1: rbp->item;
  path lbp1= is_atom (lbp)? path (i1, bs[i1]->find_left_box_path ()) : lbp;
  path rbp1= path (i1, bs[i1]->find_right_box_path ());
  path lbp2= path (i2, bs[i2]->find_left_box_path ());
  path rbp2= is_atom (rbp)? path (i2, bs[i2]->find_right_box_path ()): rbp;

  /*
  cout << "Find selection " << lbp << " --- " << rbp << "\n"
       << "     in concat " << box (this) << "\n";
  cout << "  i1  =" << i1 << "\n";
  cout << "  i2  =" << i2 << "\n";
  cout << "  lbp1=" << lbp1 << "\n";
  cout << "  rbp1=" << rbp1 << "\n";
  cout << "  lbp2=" << lbp2 << "\n";
  cout << "  rbp2=" << rbp2 << "\n";
  */

  if (i1 == i2) {
    path lp= find_tree_path (lbp);
    path rp= find_tree_path (rbp);
    return selection (find_selection (lbp1, rbp2)->rs, lp, rp);
  }
  else {
    selection sel1= find_selection (lbp1, rbp1);
    selection sel2= find_selection (lbp2, rbp2);
    path lp= sel1->start;
    path rp= sel2->end;
    rectangles rs; rs << sel1->rs << sel2->rs;
    for (i=i1+1; i<i2; i++) {
      path lbpi= path (i, bs[i]->find_left_box_path ());
      path rbpi= path (i, bs[i]->find_right_box_path ());
      rs << find_selection (lbpi, rbpi)->rs;
    }
    if (is_nil (rs)) return selection (rectangles (), lp, rp);
    rectangle r= least_upper_bound (rs);
    return selection (r, lp, rp);
  }
}

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 concat_box_rep::find_tree_path ( path  bp) [virtual, inherited]

Reimplemented from composite_box_rep.

Definition at line 375 of file concat_boxes.cpp.

                                       {
  if (is_atom (bp)) {
    if (bp->item == 0) {
      if (is_accessible (lip)) return reverse (lip);
      else return reverse (descend_decode (lip, 0));
    }
    else {
      if (is_accessible (rip)) return reverse (rip);
      else return reverse (descend_decode (rip, 1));
    }
  }
  else return composite_box_rep::find_tree_path (bp);
}

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:

int concat_box_rep::get_first ( ) [inherited]

Definition at line 149 of file concat_boxes.cpp.

                           {
  int i=0, n=N(bs);
  while ((i<n) && (sx2(i)<=x1)) i++;
  return i;
}

Here is the call graph for this function:

Here is the caller 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 "";
}
int concat_box_rep::get_last ( ) [inherited]

Definition at line 156 of file concat_boxes.cpp.

                          {
  int n=N(bs), i=n-1;
  while ((i>=0) && (sx1(i)>=x2)) i--;
  return i;
}

Here is the call graph for this function:

Here is the caller graph for this function:

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 concat_box_rep::get_leaf_offset ( string  search) [virtual, inherited]

Reimplemented from box_rep.

Definition at line 492 of file concat_boxes.cpp.

                                              {
  int i, n=N(bs);
  for (i=0; i<n; i++) {
    SI offset= bs[i]->get_leaf_offset (search);
    if (offset != bs[i]->w()) return sx1(i) + offset;
  }
  return w();
}

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 concat_box_rep::graphical_select ( SI  x,
SI  y,
SI  dist 
) [virtual, inherited]

Reimplemented from composite_box_rep.

Definition at line 502 of file concat_boxes.cpp.

                                                     {
  gr_selections res;
  int i, n= subnr();
  for (i=n-1; i>=0; i--)
    res << bs[i]->graphical_select (x- sx(i), y- sy(i), dist);
  return res;
}

Here is the call graph for this function:

Here is the caller graph for this function:

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

Reimplemented from composite_box_rep.

Definition at line 511 of file concat_boxes.cpp.

                                                            {
  gr_selections res;
  int i, n= subnr();
  for (i=n-1; i>=0; i--)
    res << bs[i]->graphical_select (x1- sx(i), y1- sy(i),
                                    x2- sx(i), y2- sy(i));
  return res;
}

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 concat_box_rep::left_correction ( ) [virtual, inherited]

Reimplemented from box_rep.

Definition at line 177 of file concat_boxes.cpp.

                                 {
  int i= get_first ();
  if (i<N(bs)) return bs[i]->left_correction ();
  return 0;
}

Here is the call graph for this function:

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 concat_box_rep::left_slope ( ) [virtual, inherited]

Reimplemented from box_rep.

Definition at line 163 of file concat_boxes.cpp.

                            {
  int i= get_first ();
  if (i<N(bs)) return bs[i]->left_slope ();
  return 0.0;
}

Here is the call graph for this function:

void concat_box_rep::loci ( SI  x,
SI  y,
SI  delta,
list< string > &  ids,
rectangles rs 
) [virtual, inherited]

Reimplemented from composite_box_rep.

Definition at line 478 of file concat_boxes.cpp.

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

Here is the call graph for this function:

SI concat_box_rep::lsub_correction ( ) [virtual, inherited]

Reimplemented from box_rep.

Definition at line 191 of file concat_boxes.cpp.

                                 {
  int i= get_first ();
  if (i<N(bs)) return bs[i]->lsub_correction ();
  return 0;
}

Here is the call graph for this function:

SI concat_box_rep::lsup_correction ( ) [virtual, inherited]

Reimplemented from box_rep.

Definition at line 198 of file concat_boxes.cpp.

                                 {
  int i= get_first ();
  if (i<N(bs)) return bs[i]->lsup_correction ();
  return 0;
}

Here is the call graph for this function:

concat_box_rep::operator tree ( ) [virtual, inherited]

Implements box_rep.

Definition at line 62 of file concat_boxes.cpp.

                               {
  int i, n= N(bs);
  tree t (TUPLE, n+1);
  t[0]= "concat";
  for (i=0; i<n; i++) t[i+1]= (tree) bs[i];
  return t;
}

Here is the call graph for this function:

void concat_box_rep::position ( array< SI spc) [inherited]

Definition at line 75 of file concat_boxes.cpp.

                                       {
  int i;
  ASSERT (N(bs) != 0, "concat of zero boxes");
  x1 = bs[0]->x1;
  x2 = 0;
  for (i=0; i<N(bs); i++) {
    x2 += spc[i];
    sx(i)= x2;
    sy(i)= 0;
    x2 += bs[i]->x2;
  }
  composite_box_rep::position ();
}

Here is the call graph for this function:

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 phrase_box_rep::position_at ( SI  x,
SI  y,
rectangles change_log_ptr 
)

Definition at line 547 of file concat_boxes.cpp.

                                                         {
  x += x0; y += y0;
  if (logs_ptr == NULL) logs= rectangles (rectangle (0, 0, 0, 0), logs);
  else logs= rectangles (rectangle (ox+x3, oy+y3, ox+x4, oy+y4), logs);
  ox= x; oy= y;
  logs= rectangles (rectangle (ox+x3, oy+y3, ox+x4, oy+y4), logs);
  logs_ptr= &logs;
}
void box_rep::post_display ( renderer ren) [virtual, inherited]

Reimplemented in locus_box_rep, highlight_box_rep, anim_effect_box_rep, cell_box_rep, clip_box_rep, flag_box_rep, and graphics_box_rep.

Definition at line 551 of file boxes.cpp.

                                    {
  (void) ren;
}

Here is the caller graph for this function:

void box_rep::pre_display ( renderer ren) [virtual, inherited]

Reimplemented in sound_box_rep, highlight_box_rep, anim_effect_box_rep, anim_repeat_box_rep, cell_box_rep, clip_box_rep, anim_compose_box_rep, anim_constant_box_rep, flag_box_rep, and graphics_box_rep.

Definition at line 546 of file boxes.cpp.

                                   {
  (void) ren;
}

Here is the caller 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 concat_box_rep::right_correction ( ) [virtual, inherited]

Reimplemented from box_rep.

Definition at line 184 of file concat_boxes.cpp.

                                  {
  int i= get_last ();
  if (i>=0) return bs[i]->right_correction ();
  return 0;
}

Here is the call graph for this function:

double concat_box_rep::right_slope ( ) [virtual, inherited]

Reimplemented from box_rep.

Definition at line 170 of file concat_boxes.cpp.

                             {
  int i= get_last ();
  if (i>=0) return bs[i]->right_slope ();
  return 0.0;
}

Here is the call graph for this function:

SI concat_box_rep::rsub_correction ( ) [virtual, inherited]

Reimplemented from box_rep.

Definition at line 205 of file concat_boxes.cpp.

                                 {
  int i= get_last ();
  if (i>=0) return bs[i]->rsub_correction ();
  return 0;
}

Here is the call graph for this function:

SI concat_box_rep::rsup_correction ( ) [virtual, inherited]

Reimplemented from box_rep.

Definition at line 212 of file concat_boxes.cpp.

                                 {
  int i= get_last ();
  if (i>=0) return bs[i]->rsup_correction ();
  return 0;
}

Here is the call graph for this function:

SI concat_box_rep::sub_hi_lim ( int  level) [virtual, inherited]

Reimplemented from box_rep.

Definition at line 228 of file concat_boxes.cpp.

                                      {
  int i=0, n=N(bs);
  SI  y= y1 + (y2-y1)/4;
  for (i=0; i<n; i++)
    y= max (y, bs[i]->sub_hi_lim (level));
  return y;
}

Here is the call graph for this function:

SI concat_box_rep::sub_lo_base ( int  level) [virtual, inherited]

Reimplemented from box_rep.

Definition at line 219 of file concat_boxes.cpp.

                                      {
  int i=0, n=N(bs);
  SI  y=y1;
  for (i=0; i<n; i++)
    y= min (y, bs[i]->sub_lo_base (level));
  return y;
}

Here is the call graph for this function:

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 concat_box_rep::sup_hi_lim ( int  level) [virtual, inherited]

Reimplemented from box_rep.

Definition at line 255 of file concat_boxes.cpp.

                                      {
  int i=0, n=N(bs);
  SI  y=y2;
  for (i=0; i<n; i++)
    y= max (y, bs[i]->sup_hi_lim (level));
  return y;
}

Here is the call graph for this function:

SI concat_box_rep::sup_lo_base ( int  level) [virtual, inherited]

Reimplemented from box_rep.

Definition at line 246 of file concat_boxes.cpp.

                                      {
  int i=0, n=N(bs);
  SI  y=y2 - (y2-y1)/4;
  for (i=0; i<n; i++)
    y= min (y, bs[i]->sup_lo_base (level));
  return y;
}

Here is the call graph for this function:

SI concat_box_rep::sup_lo_lim ( int  level) [virtual, inherited]

Reimplemented from box_rep.

Definition at line 237 of file concat_boxes.cpp.

                                      {
  int i=0, n=N(bs);
  SI  y=y2 - (y2-y1)/4;
  for (i=0; i<n; i++)
    y= min (y, bs[i]->sup_lo_lim (level));
  return y;
}

Here is the call graph for this function:

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 concat_box_rep::transform ( frame  fr) [virtual, inherited]

Reimplemented from composite_box_rep.

Definition at line 111 of file concat_boxes.cpp.

                                   {
  return composite_box_rep::transform (fr);
}
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 22 of file composite.hpp.

path box_rep::ip [inherited]

Definition at line 127 of file boxes.hpp.

Definition at line 23 of file composite.hpp.

Definition at line 526 of file concat_boxes.cpp.

Definition at line 527 of file concat_boxes.cpp.

Definition at line 527 of file concat_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 class was generated from the following file: