/* h.structs --- structures for storing the dvi pages in memory.  */

struct text
{
  struct text *next;
  char *text;
  int x, y, w, h, font;
};

struct rule
{
  struct rule *next;
  int x, y, w, h;
};

struct font_use
{
  struct font_use *next;
  char *name;
  int size;     /* in 16ths of a point.  */
  int handle;
};

struct page
{
  struct page *next;
  struct text *texts;
  struct rule *rules;
  int dvi_page;
  int tex_pages[10];
};

struct dvi_file
{
  struct dvi_file *next;
  char *name;
  struct font_use *fonts;
  struct page *pages;
  int height, width;
};

extern struct dvi_file *dvi_files;


struct display_window
{
  struct display_window *next;
  int w_handle;
  struct dvi_file *file;
  int hor_offset, ver_offset;        /* 1 inch both normally.  */
  struct page *page;
  sprite_area *area;                 /* The area of this file.  */
  sprite_ptr sprite;                 /* The sprite holding this page's image.  */
};

extern struct display_window *windows;

/* EOF */
