extern int twiddle_factor; /* the amount of "play" in pic size before the image shrinks or pans (X or Y axis)
ie if the pick is < 640 + twiddle it will not use panning or shirk on a 640 wide screen ... */
extern int type_of_picture;
extern int jpeg_type;
extern int config_found;
extern unsigned char far * line_buffer_ptr; /* pointer to a buffer for 1 drawn line -> maximum 640 * 3 = 1920 bytes (currently) */
extern int tint_loaded; /* flag to indicate if tinting adjustments are loaded for a picture */
extern JSAMPARRAY remap; /* colormap array for remaping 256 color GIF -> 16 grayscale for 16 color modes */
extern JSAMPARRAY tint_table; /* table to speed up tinting of 15/16/24 bit screens */
extern char picture_description[40]; /* description of picture - read from a 4DOS file DESCRIPT.ION - perhaps add into my info later on */
extern char picture_text[file_name_len]; /* file-name to be put on the screen before and optionally after drawing picture ie file name or a defined string */
extern char picture_text_arguement[file_name_len]; /* title passed in as an arguement, either len 0 or the string */
extern char picture_title[file_name_len]; /* title to be put on the screen before and optionally after drawing picture ie file name or a defined string */
extern char picture_title_arguement[file_name_len]; /* title passed in as an arguement, either len 0 or the string - usually the 4DOS description */
extern int video_display_resolution;
extern int lock_shrink_value;
extern struct video_card {
int card_number; /* same index as video_card_names and list in .asm video routines */
int x_size;
int y_size;
int resolution; /* check enum: 0 = 256, 1 = 15 bit, 2 = 24 bit */
int set_ax; /* value to force AX, BX */
int set_bx;
int x_width; /* x_width for odd sizes ie 24 bit ... */
void setup_file_info(int file_index, int drawing_index);
int insert_in_place(char * f_name, long f_size, int f_date, int sorting_mode, int start_index, int slide_position); /* sort, insertion routine for file list */
void autocheck_panning(int mode_used); /* test to see if panning should be used */
void autocheck_shrinking(int mode_used); /* set the shrinking to defaults values for mode, pic size */
int pick_screen_mode(void); /* compare picture size with available modes and select a mode and set the shrink size */
int find_picture_setup(FILE * file_in); /* check thru the given file for viewing defaults info */
int load_config_viewer(char *forced_name);
/*
* from jvdraw.c
*/
void reset_video_mode(void);
void setup_image_info(void); /* setup global vars for tinting */
void setup_pallet(void);
void output_term (decompress_info_ptr cinfo);
/*
* declerations for functions from jvdrwfst.c
*/
void draw_line(int image_row, unsigned char far * data_ptr, unsigned char far * buffer_ptr);
void clear_video_memory(int num_banks);
/* void video_copy(int gr_row, unsigned char far * data_row); not global */
void near RGB_read_and_tint(void);
void put_pixel_not (decompress_info_ptr cinfo, int num_rows, JSAMPIMAGE pixel_data);
void put_pixel_rows (decompress_info_ptr cinfo, int num_rows, JSAMPIMAGE pixel_data);
void put_hi_pixel (decompress_info_ptr cinfo, int num_rows, JSAMPIMAGE pixel_data);
void pan_image(decompress_info_ptr cinfo); /* pan the image from buffer -> screen */
void tint_15_image(); /* pan the image from buffer -> screen */
void tint_16_image(); /* tint 16 bit image from buffer -> screen */
void tint_24_image(); /* pan the image from buffer -> screen */