
/* Program otworzy 2 zwykîe okna z doîâczonymi wszystkimi gadgetami    */
/* systemowymi. Jeôli pierwsze okno zostanie zaktywowane to wszkaúnik  */
/* myszki zmieni ksztaît na Zzz, jeôli drugie okno zostanie aktywne to */
/* wskaúnik myszki zmieni sië na pistolet.                             */


#include <intuition/intuition.h>


struct IntuitionBase *IntuitionBase;


struct Window *my_window1;

struct NewWindow my_new_window1=
{
  50,            /* LeftEdge     */
  25,            /* TopEdge      */
  200,           /* Width        */
  150,           /* Height       */
  0,             /* DetailPen    */
  1,             /* BlockPen     */
  NULL,          /* IDCMPFlags   */
  SMART_REFRESH| /* Flags        */
  WINDOWCLOSE|   /*              */
  WINDOWDRAG|    /*              */
  WINDOWDEPTH|   /*              */
  WINDOWSIZING,  /*              */
  NULL,          /* FirstGadget  */
  NULL,          /* CheckMark    */
  "Zzz",         /* Title        */
  NULL,          /* Screen       */
  NULL,          /* BitMap       */
  80,            /* MinWidth     */
  30,            /* MinHeight    */
  300,           /* MaxWidth     */
  200,           /* MaxHeight    */
  WBENCHSCREEN   /* Type         */
};



struct Window *my_window2;

struct NewWindow my_new_window2=
{
  300,           /* LeftEdge     */
  25,            /* TopEdge      */
  200,           /* Width        */
  150,           /* Height       */
  0,             /* DetailPen    */
  1,             /* BlockPen     */
  NULL,          /* IDCMPFlags   */
  SMART_REFRESH| /* Flags        */
  WINDOWCLOSE|   /*              */
  WINDOWDRAG|    /*              */
  WINDOWDEPTH|   /*              */
  WINDOWSIZING,  /*              */
  NULL,          /* FirstGadget  */
  NULL,          /* CheckMark    */
  "BANG!",       /* Title        */
  NULL,          /* Screen       */
  NULL,          /* BitMap       */
  80,            /* MinWidth     */
  30,            /* MinHeight    */
  300,           /* MaxWidth     */
  200,           /* MaxHeight    */
  WBENCHSCREEN   /* Type         */
};



/* Definicja tablic z danymi dla Sprite'ów  */

/* Zzz: (16 x 16  pikseli) */
USHORT chip sprite_data_Zzz[36]=
{
	0x0000, 0x0000,  /* Uûywane tylko przez Intuition */

	0x0300, 0x0000,
	0x1F9C, 0x0300,
	0x3FFE, 0x1F9C,
	0x63E3, 0x3FFE,
	0x7A3B, 0x3FFE,
	0xF7B7, 0x7FFE,
	0xEF63, 0x7FFE,
	0xE23F, 0x7FFE,
	0x7FFE, 0x3FC0,
	0x3fC0, 0x0F80,
	0x0FB0, 0x0000,
	0x0078, 0x0030,
	0x0030, 0x0000,
	0x0004, 0x0000,
	0x000E, 0x0004,
	0x0004, 0x0000,

	0x0000, 0x0000   /* Uûywane tylko przez Intuition */
};

/* Pistolet: (16 x 11  pikseli) */
USHORT chip sprite_data_Pistol[26]=
{
	0x0000, 0x0000,  /* Uûywane tylko przez Intuition */

	0x0000, 0x4010,
	0x0000, 0xFFF8,
	0x01E0, 0xFE18,
	0x00E0, 0x071C,
	0x0000, 0x03FC,
	0x001C, 0x027E,
	0x001C, 0x02BF,
	0x001E, 0x01FF,
	0x001E, 0x003F,
	0x000E, 0x001F,
	0x0000, 0x001F,

	0x0000, 0x0000   /* Uûywane tylko przez Intuition */
};



main()
{

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

  if( IntuitionBase == NULL )
    exit();

  my_window1 = (struct Window *) OpenWindow( &my_new_window1 );

  if(my_window1 == NULL)
  {

    CloseLibrary( IntuitionBase );

    exit();
  }

  my_window2 = (struct Window *) OpenWindow( &my_new_window2 );

  /* Have we opened the second window succesfully? */
  if(my_window2 == NULL)
  {

    CloseWindow( my_window1 );

    CloseLibrary( IntuitionBase );

    exit();
  }


  SetPointer( my_window1, sprite_data_Zzz, 16, 16, 0, 0);
  SetPointer( my_window2, sprite_data_Pistol, 11, 16, 0, -1);


  Delay( 50 * 30);


  CloseWindow( my_window2 );
  CloseWindow( my_window1 );

  CloseLibrary( IntuitionBase );

}
