home *** CD-ROM | disk | FTP | other *** search
- /****************************************************************
- * *
- * Filename : OpenClose.c *
- * *
- ****************************************************************
- * *
- * Comment : Diese Datei beinhaltet alle Routinen für *
- * starten und beendigen dieses Programmes. *
- * Es werden hier folgende globalen Definitionen *
- * gemacht: *
- * *
- * IntuitionBase -> Basis von Intuitionlibrary *
- * ArpBase -> Basis von Arplibrary *
- * GfxBase -> Basis von Graphicslibrary *
- * Sc -> Screenpointer *
- * Mw -> Mainwindowpointer *
- * Vp -> Viewportpointer *
- * Rp -> Rastportpointer Screen *
- * WRp -> Rastportpointer Mainwindow *
- * *
- * newscreen -> NewScreenstruktur *
- * mainwindow -> NewWindowstruktur *
- * Menu1 -> Menustruktur *
- * *
- * Rev : V1.0 *
- * *
- * History : V1.0 erstellen dieses Files 01.09.89 *
- * V1.1 Erweiterung auf NTSC Auflösung 01.09.89 *
- * *
- * Doc : *
- * *
- * Bugs : keine bekannten *
- * *
- * Autor : Oesch Silvano *
- * *
- * Datum : 01.09.89 *
- * *
- ****************************************************************/
-
- /****************************************************************
- * *
- * allgemeine Includedateien *
- * *
- ****************************************************************/
-
- #include <ctype.h>
- #include <exec/types.h>
- #include <intuition/intuition.h>
- #include <intuition/intuitionbase.h>
- #include <stdlib.h>
- #include <stdio.h>
- #include <libraries/dosextens.h>
- #include <libraries/reqbase.h>
- #include <graphics/gfxbase.h>
-
- /****************************************************************
- * *
- * programmspezifische Includedateien *
- * *
- ****************************************************************/
-
- #include "Definitions.h" /* allgemeine Definitionen */
- #include "Screen.h" /* init. NewScreenstruktur */
- #include "window.h" /* init. NewWindowstruktur */
- #include "Farben.h" /* def. FarbenFilestruktur */
- #include "Function.h"
-
- /****************************************************************
- * *
- * globale Definitionen *
- * *
- ****************************************************************/
-
- struct ReqLib *ReqBase;
- extern struct GfxBase *GfxBase;
- extern struct IntuitionBase *IntuitionBase;
- struct Screen *Sc=NULL; /* Screenpointer */
- struct Window *Mw=NULL; /* Mainwindowpointer */
- struct ViewPort *Vp; /* Viewportpointer */
- struct RastPort *Rp; /* Rastportpointer Screen */
- struct RastPort *WRp; /* Rastportpointer Window */
-
- int SCREENHOEHE; /* Auflösung */
-
-
- /****************************************************************
- * *
- * externe Definitionen *
- * *
- ****************************************************************/
-
- extern struct FarbenFile deffarben;
- extern int sctitel; /* Titeldarstellung */
- extern char ScreenNamen[];
- extern char SystemNamen[];
-
- /****************************************************************
- * *
- * Funktion : Oeffne_Screen() *
- * *
- ****************************************************************
- * *
- * Input : Aufloesung *
- * Auflösung == HIRESSCREEN -> 640*200/256 *
- * Auflösung == LACE -> 640*400/512 *
- * *
- * Output : BOOLEAN *
- * TRUE -> alles geöffnet *
- * FALSE -> Fehler beim öffnen *
- * *
- ****************************************************************
- * *
- * Comment : Oeffnet einen Screen mit der spez. Auflösung. *
- * Falls ein Window und ein Screen bereits *
- * geöffnet ist, werden diese geschlossen und mit *
- * der neuen Auflösung geöffnet. *
- * *
- * Rev : V1.0 *
- * *
- * History : V1.0 erstellen dieses Files 01.09.89 *
- * *
- * Doc : *
- * *
- * Bugs : keine bekannten *
- * *
- * Autor : Oesch Silvano *
- * *
- * Datum : 01.09.89 *
- * *
- ****************************************************************/
-
- int Oeffne_Screen(aufloesung)
- int aufloesung;
- {
- int erfolg;
- char *startname; /* Environment Farbenname */
-
- if (Mw) CloseWindow(Mw); /* Mainwindow */
- if (Sc) CloseScreen(Sc); /* Screen */
-
- if (GfxBase->DisplayFlags & PAL) /* Welche Auflösung ? */
- if (aufloesung == HIRESSCREEN)
- SCREENHOEHE = 256; /* PAL ! */
- else
- SCREENHOEHE = 512;
- else
- if (aufloesung == HIRESSCREEN)
- SCREENHOEHE = 200; /* NTSC ! */
- else
- SCREENHOEHE = 400;
-
- if (aufloesung == HIRESSCREEN)
- newscreen.ViewModes = HIRES;
- else
- newscreen.ViewModes = HIRES+LACE;
-
- newscreen.Height = SCREENHOEHE;
- /* NewScreen init. */
-
- Sc = (struct Screen *)OpenScreen(&newscreen);
- /* Öffnen des Screens */
- if (Sc == NULL) /* Fehler ? */
- { /* Sc = NULL */
- printf ("Screen kann nicht geöffnet werden\n");
- return (FALSE); /* Return mit Fehler */
- }
-
- Vp = &Sc->ViewPort; /* Viewport initialisieren */
- Rp = &Sc->RastPort; /* Rastport initialisieren */
-
- startname = getenv("Fplot.Col");
- if (startname)
- erfolg = LadeFarben(startname);
- if ((erfolg!=NULL)||(startname==NULL))
- SetzeFarben(&deffarben);
-
- mainwindow.Screen = Sc; /* Init. MainWindowstruktur */
- mainwindow.Height = SCREENHOEHE;
- /* Höhe von Screen */
-
- Mw = (struct Window *)OpenWindow(&mainwindow);
- /* Öffne Mainwindow */
- if (Mw == NULL) /* Fehler ? */
- { /* Mw = NULL */
- printf ("Window kann nicht geöffnet werden\n");
- return ( FALSE ); /* Return mit Fehler */
- }
-
- SetWindowTitles(Mw,SystemNamen,ScreenNamen);
-
- ShowTitle(Sc,sctitel); /* Titelleiste */
-
- WRp = Mw->RPort; /* Rastport initialisieren */
-
- }
-
-
- /****************************************************************
- * *
- * Funktion : Open_all() *
- * *
- ****************************************************************
- * *
- * Input : None *
- * *
- * *
- * Output : Boolean *
- * FALSE -> etwas lebenswichtiges konnte nicht *
- * geöffnet werden *
- * TRUE -> alles in Ordnung *
- * *
- ****************************************************************
- * *
- * Comment : Öffnet alles nötige für das Programm *
- * *
- * *
- * 1.intuition.library *
- * 2.arp.library *
- * 3.graphics.library *
- * 4.screen *
- * 5.Farben ( Environment Variable Fplotcolor ) *
- * 6.MainWindow *
- * *
- * *
- * Rev : V1.1 *
- * *
- * History : V1.0 erstellen dieses Files 01.09.89 *
- * V1.1 Erweiterung auf NTSC Auflösung 01.09.89 *
- * *
- * Doc : *
- * *
- * Bugs : keine bekannten *
- * *
- * Autor : Oesch Silvano *
- * *
- * Datum : 01.09.89 *
- * *
- ****************************************************************/
-
- int openall()
- {
- IntuitionBase = (struct IntuitionBasse *)
- OpenLibrary("intuition.library",NULL);
- if (IntuitionBase == NULL)
- {
- printf ("Intuition.library kann nicht geöffnet werden!\n");
- return(FALSE);
- }
-
- GfxBase = (struct GfxBase *)OpenLibrary("graphics.library",NULL);
- if (GfxBase == NULL)
- {
- printf ("Graphics.library kann nicht geöffnet werden\n");
- return(FALSE);
- }
-
- ReqBase = (struct ReqLib *)OpenLibrary("req.library", NULL);
- if (ReqBase == NULL)
- {
- printf ("Req..library kann nicht geöffnet werden\n");
- return(FALSE);
- }
-
- if (Oeffne_Screen(HIRESSCREEN)==FALSE)
- return(FALSE);
- else
- return(TRUE); /* Return mit OK */
- }
-
-
- /****************************************************************
- * *
- * Funktion : Close_all() *
- * *
- ****************************************************************
- * *
- * Input : None *
- * *
- * *
- * Output : None *
- * *
- * *
- ****************************************************************
- * *
- * Comment : Schliesst alles mögliche *
- * *
- * 1.MainWindow *
- * 2.Screen *
- * 3.GfxBase *
- * 4.ArpBase *
- * 5.IntuitionBase *
- * *
- * Rev : V1.0 *
- * *
- * History : V1.0 erstellen dieses Files 01.09.89 *
- * *
- * Doc : *
- * *
- * Bugs : keine bekannten *
- * *
- * Autor : Oesch Silvano *
- * *
- * Datum : 20.06.89 *
- * *
- ****************************************************************/
-
- void closeall()
- {
- if (Mw) CloseWindow (Mw); /* Mainwindow */
- if (Sc) CloseScreen (Sc); /* Screen */
- if (ReqBase)CloseLibrary((struct Library *)ReqBase);
- if (GfxBase)CloseLibrary((struct Library *)GfxBase);
- if (IntuitionBase)CloseLibrary((struct Library *)IntuitionBase);
-
- }
-
-