MAG Disk (Jun 1990) : source / Globals.c

#include "PopUpMenu.h"

/* Library base pointers */
struct DosLibrary    *DOSBase;
struct IntuitionBase *IntuitionBase;
struct GfxBase	     *GfxBase;
struct LayersBase    *LayersBase;

/* Our semaphore */
struct SignalSemaphore PopUpSemaphore;

/* Pointers to intuition functions */
__fptr OldSetMenuStrip, OldClearMenuStrip, OldOnMenu, OldOffMenu;

/* The menuwindows */
struct WindowData MenuWindow, ItemWindow, SubWindow;

/* The currently select items */
struct MenuItem   *CurrentSubItem, *CurrentItem, *TempItem;
struct Menu	  *CurrentMenuPtr;
UWORD		  CurrentMenuNr;

/* Size of the font used to draw the menues */
UWORD		  MenuFontSize;

/* Mouse position on screen */
UWORD		  MouseX,MouseY;

/* device request blocks */
struct IOStdReq *InputReqBlock;
struct timerequest *TimerReqBlock;

/* Pointer to the menus to use */
struct Menu	*Menues;

/* Variables to hold the last selection */
struct Window	*LastWindow;
WORDBITS LastSelected;

/* Screen to draw on */
struct Screen	*Screen;

BOOL		ScreenType;

/* A copy (almost) of the screens rastport */
struct RastPort Rp;

/* Window with menues to use */
struct Window	*ActiveWindow;
BPTR		StdOut;
BPTR		PopUpSeg;


UWORD chip AmigaKeyHighRes[] = {
  0xc000, 0x0600,
  0x0003, 0xc000,
  0x000f, 0xc000,
  0x0039, 0xc000,
  0x00e1, 0xc000,
  0x03ff, 0xc000,
  0x1f83, 0xf000,
  0xc000, 0x0600
};

UWORD chip AmigaKeyLoRes[] = {
  0x8004,
  0x00e0,
  0x01e0,
  0x0360,
  0x0660,
  0x0fe0,
  0x3cf0,
  0x8004
};

UWORD chip SubItemPointerL[] = {
  0x7000,
  0x3000,
  0x1000,
  0x0000,
  0x1000,
  0x3000,
  0x7000
};

UWORD chip SubItemPointerH[] = {
  0x3f00,
  0x0f00,
  0x0300,
  0x0000,
  0x0300,
  0x0f00,
  0x3f00
};

/* these doesn't need to be in chip-ram but it's the easiest way to
   get Blink to create a BSS hunk */

struct Image chip MyAmigaKeyImage[2] = {
  /*  Pos   Size Depth	  Data		Pick OnOff  Next */
  {-25, 0, 23, 8,  1,	AmigaKeyHighRes,  1,   0,   NULL},
  {-16, 0, 14, 8,  1,	AmigaKeyLoRes,	  1,   0,   NULL}
};

struct Image chip MySubItemImage[2] = {
  /*  Pos   Size Depth	  Data		Pick OnOff  Next */
  {  2, 0,  8, 7,  1,	SubItemPointerH,  1,  0,   NULL},
  {  1, 0,  4, 7,  1,	SubItemPointerL,  1,  0,   NULL}
};

UWORD chip GhostPattern[]  = { 0x1111, 0x4444 };
UWORD chip NormalPattern[] = { 0xffff, 0xffff };

STRPTR chip PopUpTaskName = "PopUpMenu";