/***************************************
 *************   proto.h   *************
 ***************************************/

/*** main.c - main() function and cleanup routines ***/

int main(int,char **);
void cleanup(void);

/*** general.c - startup and error routines ***/

void startup(int,char **);
void error(const char *,error_e,int,const char *);

/*** notes.c - routines just to make things easier ***/

void note_open(note_p);
void note_close(note_p,bool_e);
void note_refresh(note_p);
void note_block(note_p);
void note_blockclear(note_p);
void note_blockall(void);
void note_blockclearall(void);
void note_menuevent(note_p,struct IntuiMessage *);

note_p note_create(int);
note_p note_from_window(struct Window *);

BOOL note_event(struct IntuiMessage *);

/*** commodore.c - Commodore's window closing routines ***/

void andysCloseWindowSafely(struct Window *);
void StripIntuiMessages(struct MsgPort *, struct Window *);

/*** utility.c - General helpful routines ***/

void remove_char_from_string(char *);
void add_char_to_string(char *,char);
void replace_chrs(char *,char,char);
void build_fontstring(note_p);

int next_free_note(void);
int positionfromnote(note_p);

/*** events.c - The events handlers for IDCMP, commodities etc... ***/

void events_mainloop(void);

BOOL main_event(void);

/*** commod.c - Commodity relevant stuff ***/

void commod_startup(void);
void processwindowgadcommod(struct IntuiMessage *);
void closewindowcommod(void);
void commod_block(void);
void commod_blockclear(void);

int openwindowcommod(void);

BOOL commod_event(void);
BOOL commodwin_event(struct IntuiMessage *);
BOOL processwindowcommod(struct IntuiMessage *);
BOOL processwindowmenucommod(struct IntuiMessage *);

/*** carat.c - Routines to do with the text cursor (carat) ***/

void carat_from_coords(note_p,WORD,WORD);
void carat_from_ptr(note_p,int);
void carat_draw(note_p);
void carat_clear(note_p);
void carat_vanillakey(note_p,struct IntuiMessage *);
void carat_rawkey(note_p,struct IntuiMessage *);
void carat_addachar(note_p,char,BOOL);

/*** files.c - File read / write routines ***/

void file_readnotes(void);
void file_writenotes(void);

/*** commodgad.c - All the routines when a gadget/menu is selected in the ***/
/***               commodities window.                                    ***/

void commodtitle(void);
void commodlistview(int,ULONG,ULONG);
void commodcyccolour(int);
void commodpalette(int);
void commodfont(void);
void commodpubscreen(void);

void notetocommod(note_p);
void commodtonote(note_p);

void commodnew(void);
void commoddel(void);
void commodup(void);
void commoddown(void);

BOOL commodclose(void);

CPTR hookfunc(LONG,CPTR,struct FontRequester *);

/*** notemenus.c - Functions called when a note menu is selected ***/

void notemenu_editpaste(note_p);
BOOL notemenu_editcopy(note_p);

