Back to index

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

List of all members.

Public Member Functions

 anim_compose_box_rep (path ip, array< box > bs)
 ~anim_compose_box_rep ()
int subnr ()
box subbox (int i)
void display (renderer ren)
 operator tree ()
tree action (tree t, SI x, SI y, SI delta)
void loci (SI x, SI y, SI delta, list< string > &ids, rectangles &rs)
void collect_page_numbers (hashmap< string, tree > &h, tree page)
path find_tag (string name)
void pre_display (renderer &ren)
int anim_length ()
bool anim_started ()
bool anim_finished ()
void anim_start_at (time_t at)
void anim_finish_now ()
time_t anim_next_update ()
void anim_get_invalid (bool &flag, time_t &at, rectangles &rs)
path find_box_path (SI x, SI y, SI delta, bool force)
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)
gr_selections graphical_select (SI x, SI y, SI dist)
void relocate (path p, bool force=false)
virtual box transform (frame fr)
virtual void post_display (renderer &ren)
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)
virtual path find_lip ()
virtual path find_rip ()
virtual path find_left_box_path ()
virtual path find_right_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 SI sub_lo_base (int level)
virtual SI sub_hi_lim (int level)
virtual SI sup_lo_lim (int level)
virtual SI sup_lo_base (int level)
virtual SI sup_hi_lim (int level)
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 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)
void anim_check_invalid (bool &flag, time_t &at, rectangles &rs)

Public Attributes

bool started
time_t started_at
int current
bool finished
array< boxbs
array< int > cum_len
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 106 of file animate_boxes.cpp.


Constructor & Destructor Documentation

Definition at line 148 of file animate_boxes.cpp.

                                                                  :
  box_rep (ip), bs (bs2), cum_len (N(bs))
{
  ASSERT (N(bs) != 0, "empty animation");

  started = false;
  finished= false;
  current = 0;

  int i, n= N(bs);
  x1= y1= x3= y3= MAX_SI;
  x2= y2= x4= y4= -MAX_SI;
  for (i=0; i<n; i++) {
    x1= min (x1, bs[i]->x1);
    y1= min (y1, bs[i]->y1);
    x2= max (x2, bs[i]->x2);
    y2= max (y2, bs[i]->y2);
    x3= min (x3, bs[i]->x3);
    y3= min (y3, bs[i]->y3);
    x4= max (x4, bs[i]->x4);
    y4= max (y4, bs[i]->y4);
  }

  int len= 0;
  for (i=0; i<n; i++) {
    int sl= bs[i]->anim_length ();
    if (sl == -1) len= -1;
    if (len != -1) len += sl;
    cum_len[i]= len;
  }
}

Here is the call graph for this function:

Definition at line 180 of file animate_boxes.cpp.

{}

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

Reimplemented from box_rep.

Definition at line 183 of file animate_boxes.cpp.

                                                          {
  return bs[current]->action (t, x, y, delta);
}
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:

Reimplemented from box_rep.

Definition at line 240 of file animate_boxes.cpp.

                                       {
  int i, n= N(bs);
  for (i=current; i<n; i++) {
    bs[i]->anim_finish_now ();
    if (i+1 < n)
      bs[i+1]->anim_start_at (started_at + cum_len[i]);
  }
  current= n-1;
  started= finished= true;
}

Here is the call graph for this function:

bool anim_compose_box_rep::anim_finished ( ) [inline, virtual]

Reimplemented from box_rep.

Definition at line 130 of file animate_boxes.cpp.

{ return finished; }
void anim_compose_box_rep::anim_get_invalid ( bool &  flag,
time_t at,
rectangles rs 
) [virtual]

Reimplemented from box_rep.

Definition at line 252 of file animate_boxes.cpp.

                                                                           {
  if (started && !finished) {
    bs[current]->anim_get_invalid (f, at, rs);
    anim_check_invalid (f, at, rs);
  }
}

Here is the call graph for this function:

int anim_compose_box_rep::anim_length ( ) [inline, virtual]

Reimplemented from box_rep.

Definition at line 128 of file animate_boxes.cpp.

{ return cum_len[N(bs)-1]; }

Here is the call graph for this function:

Here is the caller graph for this function:

Reimplemented from box_rep.

Definition at line 133 of file animate_boxes.cpp.

{ return started_at + cum_len[current]; }

Here is the caller graph for this function:

Reimplemented from box_rep.

Definition at line 231 of file animate_boxes.cpp.

                                              {
  started   = true;
  started_at= at;
  finished  = (anim_length () == 0);
  current   = 0;
  bs[current]->anim_start_at (at);
}

Here is the call graph for this function:

Here is the caller graph for this function:

bool anim_compose_box_rep::anim_started ( ) [inline, virtual]

Reimplemented from box_rep.

Definition at line 129 of file animate_boxes.cpp.

{ return started; }
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 anim_compose_box_rep::collect_page_numbers ( hashmap< string, tree > &  h,
tree  page 
) [virtual]

Reimplemented from box_rep.

Definition at line 195 of file animate_boxes.cpp.

{
  bs[current]->collect_page_numbers (h, 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 anim_compose_box_rep::display ( renderer  ren) [inline, virtual]

Implements box_rep.

Definition at line 120 of file animate_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 anim_compose_box_rep::find_box_path ( SI  x,
SI  y,
SI  delta,
bool  force 
) [virtual]

Reimplemented from box_rep.

Definition at line 264 of file animate_boxes.cpp.

                                                                     {
  if (outside (x, delta, x1, x2) && (is_accessible (ip) || force))
    return box_rep::find_box_path (x, y, delta, force);
  return path (0, bs[current]->find_box_path (x, y, delta, force));
}

Here is the call graph for this function:

Here is the caller graph for this function:

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

Reimplemented from box_rep.

Definition at line 271 of file animate_boxes.cpp.

                                                        {
  path r= path (0, bs[current]->find_box_path (p, found));
  if (found) return r;
  return box_rep::find_box_path (p, found);
}

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:

Reimplemented from box_rep.

Definition at line 284 of file animate_boxes.cpp.

                                          {
  if (is_atom (bp)) return box_rep::find_cursor (bp);
  else return bs[current]->find_cursor (bp->next);
}

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

Reimplemented in macro_box_rep, frozen_box_rep, graphics_group_box_rep, marker_box_rep, text_box_rep, composite_box_rep, grid_box_rep, and modifier_box_rep.

Definition at line 98 of file boxes.cpp.

                   {
  return descend (ip, 0);
}

Here is the call graph for this function:

Here is the caller graph for this function:

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

Reimplemented in macro_box_rep, frozen_box_rep, shorter_box_rep, graphics_group_box_rep, marker_box_rep, text_box_rep, composite_box_rep, grid_box_rep, and modifier_box_rep.

Definition at line 103 of file boxes.cpp.

                   {
  return descend (ip, 1);
}

Here is the call graph for this function:

Reimplemented from box_rep.

Definition at line 290 of file animate_boxes.cpp.

                                                        {
  if (!is_atom (lbp) && !is_atom (rbp))
    return bs[current]->find_selection (lbp->next, rbp->next);
  else return box_rep::find_selection (lbp, rbp);
}

Here is the call graph for this function:

Reimplemented from box_rep.

Definition at line 202 of file animate_boxes.cpp.

                                           {
  return bs[current]->find_tag (name);
}

Reimplemented from box_rep.

Definition at line 278 of file animate_boxes.cpp.

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

Here is the call 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 anim_compose_box_rep::graphical_select ( SI  x,
SI  y,
SI  dist 
) [virtual]

Reimplemented from box_rep.

Definition at line 297 of file animate_boxes.cpp.

                                                           {
  return bs[current]->graphical_select (x- sx(0), y- sy(0), dist);
}

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 anim_compose_box_rep::loci ( SI  x,
SI  y,
SI  delta,
list< string > &  ids,
rectangles rs 
) [virtual]

Reimplemented from box_rep.

Definition at line 188 of file animate_boxes.cpp.

{
  bs[current]->loci (x, y, delta, ids, rs);
}
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; }
anim_compose_box_rep::operator tree ( ) [inline, virtual]

Implements box_rep.

Definition at line 121 of file animate_boxes.cpp.

{ return tree ("composed animation"); }
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 anim_compose_box_rep::pre_display ( renderer ren) [virtual]

Reimplemented from box_rep.

Definition at line 211 of file animate_boxes.cpp.

                                                {
  (void) ren;
  if (!started) anim_start_at (texmacs_time ());
  else if (!finished) {
    time_t now= texmacs_time ();
    while (current < N(bs) && now - (started_at+cum_len[current]) >= 0) {
      bs[current]->anim_finish_now ();
      current++;
      if (current<N(bs))
       bs[current]->anim_start_at (started_at + cum_len[current-1]);
    }
    if (current == N(bs)) {
      finished= true;
      current--;
    }
  }
  if (!finished) refresh_at (anim_next_update ());
}

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

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

Definition at line 36 of file boxes.cpp.

{ (void) level; return y1 + ((y2-y1)/3); }

Here is the caller graph for this function:

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

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

Definition at line 35 of file boxes.cpp.

{ (void) level; return y1; }

Here is the caller graph for this function:

box anim_compose_box_rep::subbox ( int  i) [inline, virtual]

Reimplemented from box_rep.

Definition at line 119 of file animate_boxes.cpp.

{ (void) i; return bs[current]; }
int anim_compose_box_rep::subnr ( ) [inline, virtual]

Reimplemented from box_rep.

Definition at line 118 of file animate_boxes.cpp.

{ return 1; }
SI box_rep::sup_hi_lim ( int  level) [virtual, inherited]

Reimplemented in wide_box_rep, marker_box_rep, change_box_rep, modifier_box_rep, text_box_rep, and concat_box_rep.

Definition at line 39 of file boxes.cpp.

{ (void) level; return y2; }

Here is the caller graph for this function:

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

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

Definition at line 38 of file boxes.cpp.

{ (void) level; return y2 - ((y2-y1)/3); }

Here is the caller graph for this function:

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

Reimplemented in wide_box_rep, marker_box_rep, change_box_rep, modifier_box_rep, text_box_rep, and concat_box_rep.

Definition at line 37 of file boxes.cpp.

{ (void) level; return (y1 + y2) >> 1; }

Here is the caller 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 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

Definition at line 112 of file animate_boxes.cpp.

Definition at line 113 of file animate_boxes.cpp.

Definition at line 110 of file animate_boxes.cpp.

Definition at line 111 of file animate_boxes.cpp.

path box_rep::ip [inherited]

Definition at line 127 of file boxes.hpp.

int abstract_struct::ref_count [inherited]

Definition at line 142 of file basic.hpp.

Definition at line 108 of file animate_boxes.cpp.

Definition at line 109 of file animate_boxes.cpp.

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: