00001 00004 #ifndef GAP_MAP_H 00005 #define GAP_MAP_H 00006 00007 #include "blobbox.h" 00008 #include "notdll.h" 00009 00025 class GAPMAP 00026 { 00027 public: 00028 GAPMAP( //constructor 00029 TO_BLOCK *block); 00030 00031 ~GAPMAP () { //destructor 00032 if (map != NULL) 00033 free_mem(map); 00034 } 00035 00036 BOOL8 table_gap( //Is gap a table? 00037 INT16 left, //From here 00038 INT16 right); //To here 00039 00040 private: 00041 INT16 total_rows; //in block 00042 INT16 min_left; //Left extreme 00043 INT16 max_right; //Right extreme 00044 INT16 bucket_size; // half an x ht 00045 INT16 *map; //empty counts 00046 INT16 map_max; //map[0..max_map] defind 00047 BOOL8 any_tabs; 00048 }; 00049 00050 /* =============================== */ 00051 00070 extern BOOL_VAR_H (gapmap_debug, FALSE, "Say which blocks have tables"); 00071 extern BOOL_VAR_H (gapmap_use_ends, FALSE, 00072 "Use large space at start and end of rows"); 00073 extern BOOL_VAR_H (gapmap_no_isolated_quanta, FALSE, 00074 "Ensure gaps not less than 2quanta wide"); 00075 extern double_VAR_H (gapmap_big_gaps, 1.75, "xht multiplier"); 00078 #endif