1 /* 2 * $Id: lists.h,v 1.5 2000/08/10 21:02:51 danny Exp $ 3 * 4 * Copyright � 1992, 1993, 1999 Free Software Foundation, Inc. 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2, or (at your option) 9 * any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this software; see the file COPYING. If not, write to 18 * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. 19 */ 20 21 #ifndef LISTSH 22 #define LISTSH 23 24 25 extern float height_scale; 26 extern float width_scale; 27 extern float user_height_scale; 28 extern float user_width_scale; 29 30 extern void flush_everything (void); 31 extern void find_cells_in_range (struct rng *r); 32 extern void make_cells_in_range (struct rng *r); 33 extern struct cell * next_cell_in_range (void); 34 extern struct cell * next_row_col_in_range (CELLREF *rowp, CELLREF *colp); 35 extern void no_more_cells (void); 36 extern CELLREF max_row (CELLREF col); 37 extern CELLREF max_col (CELLREF row); 38 extern CELLREF highest_row (void); 39 extern CELLREF highest_col (void); 40 extern int get_width (CELLREF col); 41 extern int get_nodef_width (CELLREF col); 42 extern void set_width (CELLREF col, int wid); 43 extern void find_widths (CELLREF lo, CELLREF hi); 44 extern int next_width (CELLREF *posp); 45 extern void shift_widths (int over, CELLREF lo, CELLREF hi); 46 extern int get_height (CELLREF row); 47 extern int get_nodef_height (CELLREF row); 48 extern void set_height (CELLREF row, int hgt); 49 extern void set_user_scales (double hs, double ws); 50 extern int get_scaled_height (CELLREF r); 51 extern int get_scaled_width (CELLREF c); 52 extern void find_heights (CELLREF lo, CELLREF hi); 53 extern int next_height (CELLREF *posp); 54 extern void shift_heights (int dn, CELLREF lo, CELLREF hi); 55 56 struct cf 57 { 58 struct cf *next; 59 struct find *rows, *cols; 60 int make; 61 }; 62 63 struct list 64 { 65 CELLREF lo, hi; 66 struct list *next; 67 char mem[1]; 68 }; 69 70 struct find 71 { 72 struct find *next; 73 CELLREF lo, hi, cur; 74 struct list **start; 75 struct list *curptr; 76 CELLREF left; 77 void *ret; 78 char fini; 79 int ele; 80 }; 81 #endif 82