
/* Program otworzy ekran w rozdzielczoôci 640x200 w 16 kolorach, a      */
/* na nim jedno okno. Po 30 sekundach i okno i ekran zostanâ zamkniëte. */

#include <intuition/intuition.h>



struct IntuitionBase *IntuitionBase;

struct Screen *my_screen;

struct NewScreen my_new_screen=
{
  0,            /* LeftEdge   */
  0,            /* TopEdge    */
  640,          /* Width      */
  200,          /* Height     */
  4,            /* Depth      */
  0,            /* DetailPen  */
  1,            /* BlockPen   */
  HIRES,        /* ViewModes  */
  CUSTOMSCREEN, /* Type       */
  NULL,         /* Font       */
  "MY SCREEN",  /* Title      */
  NULL,         /* Gadget     */
  NULL          /* BitMap     */
};




/* Wskaúnik do struktury Window */
struct Window *my_window;

/* Definicja struktury NewWindow */
struct NewWindow my_new_window=
{
  50,            /* LeftEdge    Pozycja X okna                             */
  25,            /* TopEdge     Pozycja Y okna                             */
  150,           /* Width       150 pikseli szerokoôci                     */
  100,           /* Height      100 linii wysokoôci                        */
  0,             /* DetailPen   Tekst rysowany kolorem z rejestru 0        */
  1,             /* BlockPen    Bloki rysowane kolorem z rejestru 1        */
  NULL,          /* IDCMPFlags  Ûadnych flag IDCMP                         */
  SMART_REFRESH, /* Flags       Intuition zajmie sië odôwieûaniem okna     */
  NULL,          /* FirstGadget Ûadnych gadgetów uûytkownika               */
  NULL,          /* CheckMark   Uûycie standardowego znaku ("ptaszek")     */
  "MY WINDOW",   /* Title       Tytuî okna                                 */
  NULL,          /* Screen      Póúniej wypeîni sië to pole                */
  NULL,          /* BitMap      Ûadnej bitmapy uûytkownika                 */
  0,             /* MinWidth    Nie musimy przejmowaê sië tymi wartoôciami */
  0,             /* MinHeight   poniewaû nie doîâczyliômy do okna gadgetu  */
  0,             /* MaxWidth    Size (rozmiaru)                            */
  0,             /* MaxHeight                                              */
  CUSTOMSCREEN   /* Type        Otworzenie na wîasnym ekranie              */
};



main()
{
  IntuitionBase = (struct IntuitionBase *)
    OpenLibrary( "intuition.library", 0 );

  if( IntuitionBase == NULL )
    exit(); /* Bîâd otwarcia intuition.library! */


  my_screen = (struct Screen *) OpenScreen( &my_new_screen );

  if(my_screen == NULL)
  {
    /* Bîâd otwarcia ekranu! */

    CloseLibrary( IntuitionBase );

    exit();
  }


  /* Zanim bëdziemy mogli otworzyê okno musimy podaê wskaúnik    */
  /* do ekranu strukturze NewWindow                              */
  my_new_window.Screen = my_screen;


  my_window = (struct Window *) OpenWindow( &my_new_window );

  if(my_window == NULL)
  {
    /* Bîâd otwarcia okna! */

    CloseScreen( my_screen );

    CloseLibrary( IntuitionBase );

    exit();
  }



  /* Czekamy 30 sekund */
  Delay( 50 * 30);

  /* Najpierw zamykamy okna ! */
  CloseWindow( my_window );

  /* Póúniej dopiero ekran. */
  CloseScreen( my_screen );

  CloseLibrary( IntuitionBase );

}
