/* Prototypes for functions defined in
amiga_screen.c
 */

extern struct GfxBase * GfxBase;

extern struct IntuitionBase * IntuitionBase;

extern struct Library * DiskfontBase;

extern struct Library * KeymapBase;

extern struct Library * WorkbenchBase;

extern char intkey_code;

extern char intkey_qualifier;

extern struct IOStdReq * input_req;

extern struct Interrupt int_handler_hook;

extern int hooked;

extern struct MsgPort * wbport;

extern struct AppWindow * emacs_app_win;

extern struct AppIcon * emacs_icon;

extern struct Library * ConsoleDevice;

extern struct TextFont * font;

extern int font_opened;

extern char reset_string[20];

extern int foreground;

extern int background;

extern short emacs_x;

extern short emacs_y;

extern short emacs_w;

extern short emacs_h;

extern char * emacs_screen_name;

extern char emacs_screen_name_storage[140];

extern int emacs_backdrop;

extern int inverse_fill_pen;

extern int inverse_text_pen;

extern struct IOStdReq * emacs_console;

extern unsigned short __chip emacs_icon_data[1][55][4];

extern struct Image __far emacs_icon_image;

extern struct DiskObject __far emacs_icon_object;

extern struct Hook background_hook;

extern struct event events[32];

extern int event_num;

extern int event_in;

extern int event_out;

extern struct wbevent * wbevents;

extern int Vamiga_mouse_pos;

extern int Vamiga_mouse_item;

extern int amiga_remap_bsdel;

extern int amiga_remap_numeric_keypad;

extern int amiga_mouse_initialized;

extern int amiga_wb_initialized;

extern int emacs_iconified;

extern int mouse_event;

int mouse_event_pending(void);

void reset_mouse_event_pending(void);

void set_mouse_event_pending(void);

int amiga_pos_x(int , int );

int amiga_pos_y(int , int );

void glyph_to_pixel_coords(int , int , int , int * , int * );

void pixel_to_glyph_coords(int , int , int , int * , int * , void * , int );

void amiga_change_size(int );

void amiga_get_window_size(int , int * , int * );

int set_min_size(struct Window * , struct TextFont * , short * , short * );

unsigned long __asm __interrupt __saveds fill_background(register __a2 struct RastPort * , register __a1 struct fill * );

void clear_window(int );

int make_reset_string(void);

void reset_window(int );

void close_app_win(void);

int close_emacs_window(int );

char * get_screen_name(struct Screen * , char * );

enum open_emacs_win_ret open_emacs_window(int , unsigned short , unsigned short , unsigned short , unsigned short , int , char * );

void force_window(int );

int DeadKeyConvert(struct IntuiMessage * , unsigned char * , unsigned short * , int , struct KeyMap * );

void add_wbevent(struct WBArg * );

void get_mouse_char_pos(int , int * , int * );

void check_window(int , int );

void setup_intchar(char );

long __asm __interrupt __saveds int_handler(register __a0 struct InputEvent * );

extern struct Lisp_Subr Samiga_get_wb_event;

int Famiga_get_wb_event(int );

extern struct Lisp_Subr Samiga_set_foreground_color;

int Famiga_set_foreground_color(int );

extern struct Lisp_Subr Samiga_set_background_color;

int Famiga_set_background_color(int );

extern struct Lisp_Subr Samiga_set_inverse_fill_pen;

int Famiga_set_inverse_fill_pen(int );

extern struct Lisp_Subr Samiga_set_inverse_text_pen;

int Famiga_set_inverse_text_pen(int );

extern struct Lisp_Subr Samiga_set_font;

int Famiga_set_font(int , int );

extern struct Lisp_Subr Samiga_set_geometry;

int Famiga_set_geometry(int , int * );

extern struct Lisp_Subr Samiga_get_window_geometry;

int Famiga_get_window_geometry(void);

extern struct Lisp_Subr Samiga_get_screen_geometry;

int Famiga_get_screen_geometry(void);

extern struct Lisp_Subr Samiga_iconify;

int Famiga_iconify(void);

extern struct Lisp_Subr Samiga_set_icon_pos;

int Famiga_set_icon_pos(int , int );

extern struct EClockVal scount[16];

extern struct EClockVal ecount[16];

extern long total[16];

extern long counting[16];

extern long nb[16];

extern long susp[16];

void start_count(int );

void stop_count(int );

void suspend_count(int );

void resume_count(int );

int disp_counts(void);

void screen_puts(int , char * , unsigned int );

extern struct Lisp_Subr Samiga_activate_window;

int Famiga_activate_window(void);

void Aframe_raise_lower(int , int );

extern struct Lisp_Subr Samiga_window_to_front;

int Famiga_window_to_front(void);

extern struct Lisp_Subr Samiga_window_to_back;

int Famiga_window_to_back(void);

extern struct Lisp_Subr Samiga_popup_font_request;

int Famiga_popup_font_request(void);

void syms_of_amiga_screen(void);

void init_amiga_screen(void);

void cleanup_amiga_screen(void);

