__autoexit void amiga_exit (void) { int i; for (i = 0; i < HISTORY_LINES; i++) { if (*(History + i)) FreeVec (*(History + i)); *(History + i) = 0; } if (GameReq) FreeAslRequest (GameReq); if (SaveReq) FreeAslRequest (SaveReq); if (ScriptReq) FreeAslRequest (ScriptReq); if (Menus) FreeMenus (Menus); if (Visual) FreeVisualInfo (Visual); if (ThisProcess) ThisProcess->pr_WindowPtr = OldWindowPtr; if (Window) CloseWindow (Window); if (Screen) CloseScreen (Screen); if (Font) CloseFont (Font); if (DefaultPubScreen) UnlockPubScreen (0, DefaultPubScreen); if (Icon) FreeDiskObject (Icon); }
int main(int argc, char **argv) { if ((GTDragBase = OpenLibrary("gtdrag.library",3)) != 0) { if (GTD_AddApp("dragtest",GTDA_NewStyle,TRUE,TAG_END)) { if ((scr = LockPubScreen(NULL)) != 0) { vi = GetVisualInfo(scr,TAG_END); fontheight = scr->Font->ta_YSize; init(); if ((win = initWindow()) != 0) { processMsg(); CloseWindow(win); } FreeGadgets(glist); cleanup(); FreeVisualInfo(vi); UnlockPubScreen(NULL,scr); } GTD_RemoveApp(); } CloseLibrary(GTDragBase); } return 0; }
void CloseDownScreen( void ) { if ( VisualInfo ) { FreeVisualInfo( VisualInfo ); VisualInfo = NULL; } if ( Scr ) { UnlockPubScreen( NULL, Scr ); Scr = NULL; } }
static void vsid_menu_destroy(void) { if (vsid_menu) { ClearMenuStrip(vsid_window); FreeMenus(vsid_menu); vsid_menu = NULL; } if (VisualInfo) { FreeVisualInfo(VisualInfo); VisualInfo = NULL; } }
/***************************************** * Quits the program * *****************************************/ void quit_program(int error, char *text) { if (error > 0) { printf(VERSION_SHELL); printf(" ERROR: %s\n", text); } if (scr) UnlockPubScreen(NULL, scr); if (window) CloseWindow(window); if (VisInfo) FreeVisualInfo(VisInfo); if (glist) FreeGadgets(glist); }
VOID FreeExit( LONG rc ) { if( Menus ) { if( WindowPtr ) { ClearMenuStrip( WindowPtr ); } FreeMenus( Menus ); } CloseGUI(); if( Screen ) { FreeScreenDrawInfo( Screen, DrawInfo ); UnlockPubScreen (NULL, Screen ); } if( GadToolsBase ) { FreeVisualInfo( VisualInfo ); } if( FileReq ) { rtFreeRequest( FileReq ); } if( DiskObject ) { FreeDiskObject( DiskObject ); } FreeArgs( RDArgs ); FreeLocale(); CloseLib( GadToolsBase ); CloseLib( IconBase ); CloseLib( IntuitionBase ); CloseLib( ReqToolsBase ); CloseLib( UtilityBase ); CloseLibrary( ( struct Library * ) GfxBase ); __exit( rc ); }
static struct Menu *createViewerDisplayMenu(struct Screen *screen, const int previousItemEnabled, const int nextItemEnabled) { /* Get some visual info required to properly generate the menu layout */ APTR vi = GetVisualInfo(screen, TAG_END); if(vi == NULL) { fprintf(stderr, "Cannot obtain visual info!\n"); return NULL; } else { /* Create a menu */ struct NewMenu newMenu[] = { {NM_TITLE, "Picture", 0, 0, 0, 0}, {NM_ITEM, "Open...", "O", 0, 0, 0}, {NM_ITEM, "Previous", "P", previousItemEnabled ? 0 : NM_ITEMDISABLED, 0, 0}, {NM_ITEM, "Next", "N", nextItemEnabled ? 0 : NM_ITEMDISABLED, 0, 0}, {NM_ITEM, "Hide Title", "S", CHECKIT | MENUTOGGLE, 0, 0}, {NM_ITEM, "Cycle", "C", CHECKIT | MENUTOGGLE, 0, 0}, {NM_ITEM, "Quit", "Q", 0, 0, 0}, {NM_END, NULL, 0, 0, 0, 0} }; struct Menu *menu = CreateMenus(newMenu, GTMN_FullMenu, TRUE, TAG_END); if(menu != NULL) { /* Properly layout the menu items */ if(!LayoutMenus(menu, vi, TAG_END)) { fprintf(stderr, "Cannot calculate menu layout!\n"); FreeMenus(menu); menu = NULL; } } FreeVisualInfo(vi); /* Cleanup */ return menu; /* Return generated menu */ } }
void CloseGUI(void) { if(savereq) DisposeObject(savereq); if(openreq) DisposeObject(openreq); savereq = NULL; openreq = NULL; if(WO_Window) DisposeObject(WO_Window); WO_Window = NULL; Window = NULL; /* Dynamic */ if(unitlist) FreeChooserLabels(unitlist); if(modelist) FreeBrowserNodes(modelist); if(infolist) FreeBrowserNodes2(infolist); /* Static */ if(pagelist) FreeClickTabs(pagelist); if(debuglist) FreeChooserLabels(debuglist); if(echolist) FreeChooserLabels(echolist); if(surroundlist) FreeChooserLabels(surroundlist); if(clipMVlist) FreeChooserLabels(clipMVlist); unitlist = modelist = infolist = pagelist = debuglist = echolist = surroundlist = clipMVlist = NULL; if(Menu) FreeMenus(Menu); Menu = NULL; if(vi) FreeVisualInfo(vi); vi = NULL; if(infotext) FreeVec(infotext); infotext = NULL; }
// Get a menu void display_get_menu(struct Window *window) { struct Menu *menu; APTR visual_info; // Get visual info if ((visual_info=GetVisualInfoA(window->WScreen,0))) { // Build new menu strip if ((menu=BuildMenuStrip(dopus_menus,&locale))) { // Layout menus LayoutMenus(menu,visual_info, GTMN_NewLookMenus,TRUE, TAG_END); // Set menu strip SetMenuStrip(window,menu); } // Free visual info FreeVisualInfo(visual_info); } }