home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AmigActive 13
/
AACD13.ISO
/
AACD
/
Resources
/
System
/
BoingBag1
/
Contributions
/
Workbench
/
RexxArpLib3p6
/
src
/
sreq
/
tekmenutest.c
< prev
next >
Wrap
C/C++ Source or Header
|
1998-06-17
|
7KB
|
238 lines
#include <exec/exec.h>
#include <intuition/intuition.h>
#include <graphics/gfx.h>
#include <functions.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <simpmenu.h>
TestRoutine(w)
struct Window *w;
{
struct Menu *menu = NULL;
printf("Start\n");
menu = SMenu(NULL, "Image ");
SItem(menu, " Save to Current File", 'S', 0L);
SItem(menu, " Save to New File", 'A', 0L);
SItem(menu, " Load from Archive", 'L', 0L);
SItem(menu, " Quit Archive", 'Q', 0L);
SItem(menu, " Save Bitmap as IFF File", 'I', 0L);
SItem(menu, " Print Bitmap", 0 , 0L);
SSItem(menu, " Maximum Size", '(', 0L);
SSItem(menu, " 1/3 Page", ')', 0L);
SSItem(menu, " 2/3 Page", '/', 0L);
SSItem(menu, " Full Page", '*', 0L);
SItem(menu, " Save/Print as PostScript®", 'E', 0L);
SMenu(menu, "Zoom/Pan ");
SItem(menu, " Select Zoom Area", 'Z', 0L);
SItem(menu, " Select Pan Area", 'P', 0L);
SItem(menu, " Reset Zoom/Pan", 'R', 0L);
SMenu(menu, "Cursor ");
SItem(menu, " Switch Graphic Cursor On", 'X', 0x2L);
SItem(menu, " Switch Graphic Cursor Off", 'Y', 0x1L);
SItem(menu, " Display Cross Hair Only", 'H', 0x8L);
SItem(menu, " Display Cross Hair + XY", 'N', 0x4L);
SMenu(menu, "Screen ");
SItem(menu, " Clear Screen", 'C', 0L);
SItem(menu, " Screen to Back", 'J', 0L);
SItem(menu, " Select Screen Type", 0 , 0L);
SSItem(menu, " Custom Screen", 0 , 0x6L);
SSItem(menu, " Main VLT Screen", 0 , 0x5L);
SSItem(menu, " Workbench", 0 , 0x3L);
SSItem(menu, " Interlaced", 0 , 0x10L);
SSItem(menu, " Non-Interlaced", 0 , 0x08L);
SItem(menu, " Number of Colors", 0 , 0L);
SSItem(menu, " 2", 0 , 0xeL);
SSItem(menu, " 4", 0 , 0xdL);
SSItem(menu, " 8", 0 , 0xbL);
SSItem(menu, " 16", 0 , 0x7L);
SItem(menu, " Select Colors", 'U', 0L);
SItem(menu, " Color Options", 'K', 0L);
SItem(menu, " Close Screen", '\\', 0L);
SMenu(menu, "Operation ");
SItem(menu, " Tek Emulation", 0 , 0L);
SSItem(menu, " 4010/4014", 0 , 0x2L);
SSItem(menu, " 4105/4107", 0 , 0x1L);
SItem(menu, " GIN Report Style", 0 , 0L);
SSItem(menu, " 4010", 0 , 0x2L);
SSItem(menu, " Extended", 0 , 0x1L);
SItem(menu, " Report EOL String", 0 , 0L);
SSItem(menu, " CR", 0 , 0x3eL);
SSItem(menu, " CR/EOT", 0 , 0x3dL);
SSItem(menu, " LF", 0 , 0x3bL);
SSItem(menu, " CR/LF", 0 , 0x37L);
SSItem(menu, " None", 0 , 0x2fL);
SSItem(menu, " Set By Host", 0 , 0x1fL);
SItem(menu, " Bypass Cancel Character", 0 , 0L);
SSItem(menu, " CR", 0 , 0xeL);
SSItem(menu, " LF", 0 , 0xdL);
SSItem(menu, " None", 0 , 0xbL);
SSItem(menu, " Set By Host", 0 , 0x7L);
SItem(menu, " Mouse Report Character", 0 , 0L);
SItem(menu, " Incremental Mode Step", 0 , 0L);
SSItem(menu, " 1/1024", 0 , 0x2L);
SSItem(menu, " 1/4096", 0 , 0x1L);
SItem(menu, " Adjust Display", 0 , 0L);
SSItem(menu, " Width", 0 , 0L);
SSItem(menu, " Height", 0 , 0L);
SSItem(menu, " Left Edge", 0 , 0L);
SSItem(menu, " Bottom Edge", 0 , 0L);
SItem(menu, " Use Duplex Stroke Font", 0 , 0L);
SSItem(menu, " Never", 0 , 0x2L);
SSItem(menu, " In Zoom", 0 , 0x1L);
SItem(menu, " On Select Code, Switch", 0 , 0L);
SSItem(menu, " Screen/Mode", 0 , 0x2L);
SSItem(menu, " Mode Only", 0 , 0x1L);
SItem(menu, " Set Default Parameters", 0 , 0L);
SSItem(menu, " Last Saved", 0 , 0L);
SSItem(menu, " Original", 0 , 0L);
SItem(menu, " Save Tek Configuration", 0 , 0L);
SMenu(menu, "Control ");
SItem(menu, " Lock Graphics", ';', 0L);
SItem(menu, " Return to Alpha-Numeric", 'F', 0L);
AdjustItems(menu);
printf("Stop\n");
if (menu)
{
SetMenuStrip(w, menu);
WaitForClose(w);
ClearMenuStrip(w);
FreeSMenu(menu);
}
return;
}
/**
*
* Generalized Intuition test routine. Opens a window.
*
***/
static struct NewWindow nw =
{
0,0,
640, 200,
0,1,
CLOSEWINDOW+MOUSEBUTTONS+GADGETUP+GADGETDOWN+INTUITICKS,
WINDOWDRAG+WINDOWDEPTH+WINDOWCLOSE+ACTIVATE,
NULL,
NULL,
(UBYTE *)"MBRTest",
NULL,
NULL,
5,5,
700,300,
WBENCHSCREEN
};
struct IntuitionBase *IntuitionBase = NULL
struct GfxBase *GfxBase = NULL;
struct Library *ArpBase = NULL;
struct Library *ExpansionBase = NULL;
main(argc, argv)
int argc;
char **argv;
{
struct Window *w = NULL, *old_pr_WindowPtr = NULL;
struct IntuiMessage *message = NULL;
struct TextFont *font = NULL;
/*
* Libraries
*/
IntuitionBase = (struct IntuitionBase *) OpenLibrary("intuition.library", 0L);
if (IntuitionBase == NULL)
goto cleanup;
GfxBase = (struct GfxBase *) OpenLibrary("graphics.library", 0L);
if (GfxBase == NULL)
goto cleanup;
/*
* Open window and set font
*/
w = OpenWindow(&nw);
if (w == NULL)
goto cleanup;
font = (struct TextFont *) OpenFont(Topaz80Equiv());
if (font == NULL)
goto cleanup;
SetFont(w->RPort, font);
/*
* Test begins here.
*/
TestRoutine(w);
WaitForClose(w);
cleanup:
if (font)
CloseFont(font);
if (w)
{
while (message = (struct IntuiMessage *)
GetMsg(w->UserPort)) ReplyMsg(message);
CloseWindow(w);
}
if (GfxBase)
CloseLibrary((struct Library *) GfxBase);
if (IntuitionBase)
CloseLibrary((struct Library *) IntuitionBase);
exit(0);
}
/**
*
* Wait for a close message
*
**/
WaitForClose(w)
struct Window *w;
{
int quit_flag = FALSE;
UWORD code;
ULONG class;
APTR object;
struct IntuiMessage *message;
while (quit_flag == FALSE)
{
Wait(1L << w->UserPort->mp_SigBit);
/*
* Handle messages from the window
*/
while ( message = (struct IntuiMessage *) GetMsg(w->UserPort) )
{
class = message->Class;
ReplyMsg(message);
if (class == CLOSEWINDOW)
quit_flag = TRUE;
}
}
return(quit_flag);
}