#include #include #include "execdef.h" #include "intuidef.h" #include "windownode.h" #include "windowinfo.h" #include "OpenLoadWindow.proto" #include #include #include #include "SetWindowInfo.proto" #include "PrintMessage.proto" extern MsgPort *windowPort; extern MinList windowList; static ULONG IDCMPFlags = MOUSEBUTTONS | CLOSEWINDOW | NEWSIZE | REFRESHWINDOW; static char *myname = "Amyload by"; static char *myauthor = "Jeff Kelley"; WindowNode * OpenLoadWindow(new_window, back_pen_num) NewWindow *new_window; unsigned char back_pen_num; { WindowNode *windownode; Window *window; WindowInfo *window_info; Gadget *gadget; if (!(windownode = (WindowNode *)AllocMem(sizeof(WindowNode), 0))) return NULL; if (!(window = OpenWindow(new_window))) { FreeMem((char *)windownode, sizeof(WindowNode)); return NULL; } windownode->window = window; if (!(window_info = (WindowInfo *)AllocMem(sizeof(WindowInfo), 0))) { FreeMem((char *)windownode, sizeof(WindowNode)); CloseWindow(window); return NULL; } window->UserData = (char *)window_info; NewList(&window_info->loadrecords); SetWindowInfo(window); window_info->back_pen_num = back_pen_num; for (gadget = window->FirstGadget; gadget; gadget = gadget->NextGadget) { gadget->GadgetRender = NULL; gadget->SelectRender = NULL; } RefreshWindowFrame(window); SetAPen(window->RPort, back_pen_num); RectFill(window->RPort, window_info->leftedge, window_info->topedge, window_info->rightedge, window_info->bottomedge); PrintMessage(window, myname, (short)1, (unsigned char)1); PrintMessage(window, myauthor, (short)2, (unsigned char)3); window->UserPort = windowPort; ModifyIDCMP(window, IDCMPFlags); AddTail(&windowList, &windownode->node); return windownode; }