#ifndef _EXTENT_H_
#define _EXTENT_H_ 1
#include "openaxiom-c-macros.h"
#include "hyper.h"
#define left_margin 20
#define non_scroll_right_margin_space 20
#define scroll_right_margin_space 40
#define bottom_margin 15
#define top_margin 5
#define scroll_top_margin top_margin
#define scrollingTopMargin 5
#define inter_line_space 5
#define inter_word_space 5
#define term_punct_space 5
#define paragraph_space 30
#define box_space 3
#define horiz_line_space 3
#define spadcom_indent 30
#define min_inter_column_space 10
#define box_width 3
#define dash_width 5
#define dash_y 4
extern void compute_header_extent(HyperDocPage * page);
extern void compute_footer_extent(HyperDocPage * page);
extern void compute_scrolling_extent(HyperDocPage * page);
extern void compute_title_extent(HyperDocPage * page);
extern void compute_text_extent(TextNode * node);
extern void init_extents(void );
extern void init_text(void );
extern void init_title_extents(HyperDocPage * page);
extern void insert_bitmap_file(TextNode * node);
extern void insert_pixmap_file(TextNode * node);
extern int max_x(TextNode * node , int Ender);
extern int plh(int height);
extern void start_newline(int distance , TextNode * node);
extern int text_height(TextNode * node , int Ender);
extern int text_width(TextNode * node , int Ender);
extern int total_width(TextNode * node , int Ender);
extern int trailing_space(TextNode * node);
extern short int gDisplayRegion;
extern int gRegionOffset;
#define not_in_scroll (!(gDisplayRegion == Scrolling))
#define visible(y, h) \
(not_in_scroll || ((y) + gRegionOffset + gWindow->page->scroll_off \
<= gWindow->scrollheight && \
(y) + gRegionOffset + gWindow->page->scroll_off - (h) >= 0))
#define pix_visible(y, h) \
(not_in_scroll || ((y) + gRegionOffset + gWindow->page->scroll_off - h + \
line_height < gWindow->page->bot_scroll_margin \
- gWindow->page->top_scroll_margin && \
(y) + gRegionOffset + gWindow->page->scroll_off >= 0))
#define above(y) ((y) + gWindow->page->scroll_off < gWindow->page->top_scroll_margin)
#define below(y) ((y) + gWindow->page->scroll_off >= gWindow->page->bot_scroll_margin)
extern int right_margin_space;
extern int right_margin;
extern int indent;
extern int item_indent;
extern int text_x;
extern int text_y;
extern int y_off;
extern int scroll_bot;
extern int need_scroll_up_button;
extern int need_scroll_down_button;
extern int item_space;
extern int present_line_height;
extern int past_line_height;
extern int line_height;
extern int normal_text_height;
extern int space_width;
extern int word_off_height;
extern short int gExtentRegion;
extern short int gInAxiomCommand;
extern short int gInDesc;
extern short int gInItem;
extern short int gInLine;
extern short int gInTable;
extern TextNode *gLineNode;
#endif