Back to index

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

List of all members.

Public Member Functions

 marker_box_rep (path ip2, int x1b, int y1b, int x2b, int y2b, box ref2)
 operator tree ()
void display (renderer ren)
path find_box_path (SI x, SI y, SI delta, bool force)
path find_lip ()
path find_rip ()
path find_right_box_path ()
path find_box_path (path p, bool &found)
path find_tree_path (path bp)
cursor find_cursor (path bp)
selection find_selection (path lbp, path rbp)
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)
void relocate (path p, bool force=false)
virtual box transform (frame fr)
virtual void pre_display (renderer &ren)
virtual void post_display (renderer &ren)
virtual void clear_incomplete (rectangles &rs, SI pixel, int i, int i1, int i2)
virtual int subnr ()
virtual box subbox (int i)
virtual tree action (tree t, SI x, SI y, SI delta)
virtual void loci (SI x, SI y, SI d, list< string > &ids, rectangles &rs)
virtual void position_at (SI x, SI y, rectangles &change_log)
virtual void collect_page_numbers (hashmap< string, tree > &h, tree page)
virtual path find_tag (string name)
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 ()
path find_tree_path (SI x, SI y, SI delta)
cursor find_check_cursor (path p)
selection find_check_selection (path lp, path rp)
virtual double left_slope ()
virtual double right_slope ()
virtual SI left_correction ()
virtual SI right_correction ()
virtual SI lsub_correction ()
virtual SI lsup_correction ()
virtual SI rsub_correction ()
virtual SI rsup_correction ()
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 gr_selections graphical_select (SI x, SI y, SI dist)
virtual gr_selections graphical_select (SI x1, SI y1, SI x2, SI y2)
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 SI get_leaf_offset (string search)
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

int pos
box ref
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 43 of file rubber_boxes.cpp.


Constructor & Destructor Documentation

marker_box_rep::marker_box_rep ( path  ip2,
int  x1b,
int  y1b,
int  x2b,
int  y2b,
box  ref2 
) [inline]

Definition at line 46 of file rubber_boxes.cpp.

                                                                         :
    box_rep (is_accessible (ip2)? ip2->next: ip2),
    pos (is_accessible (ip2)? ip2->item: 0), ref (ref2) {
      x3= x4= y3= y4= 0; x1= x1b; y1= y1b; x2= x2b; y2= y2b; }

Member Function Documentation

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 box_rep::action ( tree  t,
SI  x,
SI  y,
SI  delta 
) [virtual, inherited]

Reimplemented in action_box_rep, scrollbar_box_rep, anim_compose_box_rep, concat_box_rep, composite_box_rep, and modifier_box_rep.

Definition at line 756 of file boxes.cpp.

                                             {
  (void) x; (void) y; (void) delta; (void) t;
  return "";
}
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 box_rep::collect_page_numbers ( hashmap< string, tree > &  h,
tree  page 
) [virtual, inherited]

Reimplemented in tag_box_rep, anim_compose_box_rep, page_box_rep, composite_box_rep, and modifier_box_rep.

Definition at line 776 of file boxes.cpp.

                                                                 {
  (void) h; (void) page;
}
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 marker_box_rep::display ( renderer  ren) [inline, virtual]

Implements box_rep.

Definition at line 51 of file rubber_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:

path marker_box_rep::find_box_path ( SI  x,
SI  y,
SI  delta,
bool  force 
) [inline, virtual]

Reimplemented from box_rep.

Definition at line 52 of file rubber_boxes.cpp.

                                                        {
    (void) x; (void) y; (void) delta; (void) force; return path (0); }
path marker_box_rep::find_box_path ( path  p,
bool &  found 
) [inline, virtual]

Reimplemented from box_rep.

Definition at line 60 of file rubber_boxes.cpp.

                                           {
    found= !is_nil (p) && is_accessible (ip);
    return path (0); }

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:

cursor marker_box_rep::find_cursor ( path  bp) [inline, virtual]

Reimplemented from box_rep.

Definition at line 66 of file rubber_boxes.cpp.

                               {
    (void) bp; return cursor (0, 0, 0, y1, y2); }
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 marker_box_rep::find_lip ( ) [inline, virtual]

Reimplemented from box_rep.

Definition at line 54 of file rubber_boxes.cpp.

                   {
    return is_accessible (ip)? descend (ip, pos): ip; }

Here is the call graph for this function:

Reimplemented from box_rep.

Definition at line 58 of file rubber_boxes.cpp.

                              {
    return path (0); }
path marker_box_rep::find_rip ( ) [inline, virtual]

Reimplemented from box_rep.

Definition at line 56 of file rubber_boxes.cpp.

                   {
    return is_accessible (ip)? descend (ip, pos): ip; }

Here is the call graph for this function:

selection marker_box_rep::find_selection ( path  lbp,
path  rbp 
) [inline, virtual]

Reimplemented from box_rep.

Definition at line 68 of file rubber_boxes.cpp.

                                                {
    return selection (rectangles (),
                    find_tree_path (lbp), find_tree_path (rbp)); }

Here is the call graph for this function:

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

Reimplemented in tag_box_rep, anim_compose_box_rep, composite_box_rep, and modifier_box_rep.

Definition at line 781 of file boxes.cpp.

                              {
  (void) name;
  return path ();
}
path marker_box_rep::find_tree_path ( path  bp) [inline, virtual]

Reimplemented from box_rep.

Definition at line 63 of file rubber_boxes.cpp.

                                {
    if (is_accessible (ip)) return reverse (descend (ip, pos));
    else return reverse (descend_decode (ip, 0)); }

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

Reimplemented in macro_box_rep, shorter_box_rep, change_box_rep, text_box_rep, and concat_box_rep.

Definition at line 453 of file boxes.cpp.

                                       {
  (void) search;
  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 box_rep::graphical_select ( SI  x,
SI  y,
SI  dist 
) [virtual, inherited]

Reimplemented in text_at_box_rep, curve_box_rep, point_box_rep, graphics_group_box_rep, anim_compose_box_rep, change_box_rep, concat_box_rep, composite_box_rep, modifier_box_rep, graphics_box_rep, and grid_box_rep.

Definition at line 349 of file boxes.cpp.

                                              {
  gr_selections res;
  if (graphical_distance (x, y) <= dist) {
    gr_selection gs;
    gs->type= "box";
    gs->dist= graphical_distance (x, y);
    gs->cp << find_tree_path (x, y, dist);
    // FIXME: check whether this is correct: I do not remember whether
    // find_tree_path returns an absolute or a relative path
    gs->c= curve ();
    res << gs;
  }
  return res;
}

Here is the call graph for this function:

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

Reimplemented in curve_box_rep, graphics_group_box_rep, change_box_rep, concat_box_rep, composite_box_rep, modifier_box_rep, stack_box_rep, graphics_box_rep, and grid_box_rep.

Definition at line 365 of file boxes.cpp.

                                                     {
  gr_selections res;
  if (in_rectangle (x1, y1, x2, y2)) {
    gr_selection gs;
    gs->type= "box";
    gs->dist= graphical_distance (x1, y1);
    SI dist= (SI)norm (point (x2-x1, y2-y1));
    gs->cp << find_tree_path (x1, y1, dist);
    // FIXME: as above, check whether this is correct or not
    gs->pts= array<point> (0);
    gs->c= curve ();
    res << gs;
  }
  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:

SI box_rep::left_correction ( ) [virtual, inherited]

Reimplemented in macro_box_rep, wide_box_rep, side_box_rep, modifier_box_rep, change_box_rep, text_box_rep, and concat_box_rep.

Definition at line 29 of file boxes.cpp.

{ return (SI) (-min (0, y1) * left_slope ()); }

Here is the call graph for this function:

double box_rep::left_slope ( ) [virtual, inherited]

Reimplemented in macro_box_rep, wide_box_rep, side_box_rep, modifier_box_rep, change_box_rep, text_box_rep, and concat_box_rep.

Definition at line 27 of file boxes.cpp.

{ return 0.0; }

Here is the caller graph for this function:

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

Reimplemented in locus_box_rep, anim_compose_box_rep, concat_box_rep, composite_box_rep, and modifier_box_rep.

Definition at line 762 of file boxes.cpp.

                                                                      {
  (void) x; (void) y; (void) delta;  
  ids= list<string> ();
  rs = rectangles ();
}
SI box_rep::lsub_correction ( ) [virtual, inherited]

Reimplemented in macro_box_rep, wide_box_rep, side_box_rep, modifier_box_rep, change_box_rep, text_box_rep, and concat_box_rep.

Definition at line 31 of file boxes.cpp.

{ return 0; }
SI box_rep::lsup_correction ( ) [virtual, inherited]

Reimplemented in macro_box_rep, wide_box_rep, side_box_rep, modifier_box_rep, change_box_rep, text_box_rep, and concat_box_rep.

Definition at line 32 of file boxes.cpp.

{ return 0; }
marker_box_rep::operator tree ( ) [inline, virtual]

Implements box_rep.

Definition at line 50 of file rubber_boxes.cpp.

{ return "marker"; }
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 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 box_rep::right_correction ( ) [virtual, inherited]

Reimplemented in macro_box_rep, wide_box_rep, side_box_rep, modifier_box_rep, change_box_rep, text_box_rep, and concat_box_rep.

Definition at line 30 of file boxes.cpp.

{ return (SI) (max (0, y2) * right_slope ()); }

Here is the call graph for this function:

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

Reimplemented in macro_box_rep, wide_box_rep, side_box_rep, modifier_box_rep, change_box_rep, text_box_rep, and concat_box_rep.

Definition at line 28 of file boxes.cpp.

{ return 0.0; }

Here is the caller graph for this function:

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

Reimplemented in macro_box_rep, wide_box_rep, side_box_rep, modifier_box_rep, change_box_rep, text_box_rep, and concat_box_rep.

Definition at line 33 of file boxes.cpp.

{ return 0; }
SI box_rep::rsup_correction ( ) [virtual, inherited]

Reimplemented in macro_box_rep, wide_box_rep, side_box_rep, modifier_box_rep, change_box_rep, text_box_rep, and concat_box_rep.

Definition at line 34 of file boxes.cpp.

{ return 0; }
SI marker_box_rep::sub_hi_lim ( int  level) [inline, virtual]

Reimplemented from box_rep.

Definition at line 72 of file rubber_boxes.cpp.

{ return ref->sub_hi_lim (level); }
SI marker_box_rep::sub_lo_base ( int  level) [inline, virtual]

Reimplemented from box_rep.

Definition at line 71 of file rubber_boxes.cpp.

{ return min (y1, ref->sub_lo_base (level)); }
box box_rep::subbox ( int  i) [virtual, inherited]

Reimplemented in anim_compose_box_rep, composite_box_rep, and modifier_box_rep.

Definition at line 24 of file boxes.cpp.

{ (void) i; return box (); }

Here is the caller graph for this function:

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

Reimplemented in anim_compose_box_rep, composite_box_rep, and modifier_box_rep.

Definition at line 23 of file boxes.cpp.

{ return 0; }

Here is the caller graph for this function:

SI marker_box_rep::sup_hi_lim ( int  level) [inline, virtual]

Reimplemented from box_rep.

Definition at line 75 of file rubber_boxes.cpp.

{ return max (y2, ref->sup_hi_lim (level)); }
SI marker_box_rep::sup_lo_base ( int  level) [inline, virtual]

Reimplemented from box_rep.

Definition at line 74 of file rubber_boxes.cpp.

{ return ref->sup_lo_base (level); }
SI marker_box_rep::sup_lo_lim ( int  level) [inline, virtual]

Reimplemented from box_rep.

Definition at line 73 of file rubber_boxes.cpp.

{ return ref->sup_lo_lim (level); }
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 box_rep::transform ( frame  fr) [virtual, inherited]

Reimplemented in curve_box_rep, concat_box_rep, and composite_box_rep.

Definition at line 191 of file boxes.cpp.

                            {
  (void) fr;
  return box ();
}
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

path box_rep::ip [inherited]

Definition at line 127 of file boxes.hpp.

Definition at line 44 of file rubber_boxes.cpp.

Definition at line 45 of file rubber_boxes.cpp.

int abstract_struct::ref_count [inherited]

Definition at line 142 of file basic.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: