home *** CD-ROM | disk | FTP | other *** search
- /*static char *SCCSID = "@(#)hanoi.h 6.10 92/03/03";*/
- /*==============================================================*\
- * *
- * HANOI.H - Sample PM application hanoi header file *
- * Created 1989, 1991 IBM Corp. *
- * *
- *--------------------------------------------------------------*
- * *
- * This header file contains the application wide constants *
- * and structure definitions. *
- * *
- \*==============================================================*/
-
- /*--------------------------------------------------------------*\
- * Resource IDs *
- \*--------------------------------------------------------------*/
- #define ID_RESOURCE 1
- #define IDR_BITMAP 2
- #define IDC_BITMAP 3
-
- /*--------------------------------------------------------------*\
- * Menu item IDs *
- \*--------------------------------------------------------------*/
- #define IDM_START (WM_USER+0)
- #define IDM_STOP (WM_USER+1)
- #define IDM_SET (WM_USER+2)
- #define IDM_DONE (WM_USER+3) /* Message posted when thread terminates */
- #define IDM_ON (WM_USER+4)
- #define IDM_OFF (WM_USER+5)
-
- /*--------------------------------------------------------------*\
- * Message item IDs *
- \*--------------------------------------------------------------*/
- #define IDD_SETCOUNT 1
- #define IDD_ENTRYFLD 2
- #define IDD_MSGBOX 3
- #define IDD_PRODUCTINFO 4
- #define IDD_HELP 5
-
- #define IDM_HELPHELPFORHELP 9100
- #define IDM_HELPEXTENDED 9200
- #define IDM_HELPKEYS 9300
- #define IDM_HELPINDEX 9400
- #define IDM_HELPPRODUCTINFO 9600
-
- /*--------------------------------------------------------------*\
- * Help table and subtables *
- \*--------------------------------------------------------------*/
- #define HANOI_HELP_TABLE 1000
-
- /*--------------------------------------------------------------*\
- * Main window help panels *
- \*--------------------------------------------------------------*/
- #define SUBTABLE_MAIN 2000
- #define PANEL_MAIN 2100
- #define PANEL_HELP 2910
- #define PANEL_HELPHELPFORHELP 2920
- #define PANEL_HELPEXTENDED 2930
- #define PANEL_HELPKEYS 2940
- #define PANEL_HELPINDEX 2950
- #define PANEL_HELPPRODUCTINFO 2960
- #define PANEL_KEYSHELP 2970
-
- #define PANEL_HELPSTART 2980
- #define PANEL_HELPSTOP 2981
- #define PANEL_HELPSET 2982
- #define PANEL_HELPON 2983
- #define PANEL_HELPOFF 2984
-
- /*--------------------------------------------------------------*\
- * Enter text dialog help subtable *
- \*--------------------------------------------------------------*/
- #define SUBTABLE_PRODUCTINFODLG 3000
- #define PANEL_PRODUCTINFODLG 3100
- #define PANEL_PRODUCTINFO_OK 3110
-
- /*--------------------------------------------------------------*\
- * Stringtable ids *
- \*--------------------------------------------------------------*/
- #define IDS_TITLE 101
- #define IDS_UNTITLED 102
- #define IDS_APPNAME 103
- #define IDS_HELPLIBRARYNAME 104
- #define IDS_HELPWINDOWTITLE 105
- #define IDS_OBJECTCLASS 106
-
- /*--------------------------------------------------------------*\
- * Messagetable ids *
- \*--------------------------------------------------------------*/
- #define IDMSG_INITFAILED 301
- #define IDMSG_MAINWINCREATEFAILED 302
- #define IDMSG_DISKNUMBERERROR 303
- #define IDMSG_CANNOTLOADEXITLIST 304
- #define IDMSG_CANNOTLOADSTRING 305
- #define IDMSG_HELPLOADERROR 306
- #define IDMSG_HELPDISPLAYERROR 307
-
- /*--------------------------------------------------------------*\
- * Other constants *
- \*--------------------------------------------------------------*/
- #define MAXDISKCNT 16 /* Maximum # of disks allowable */
- #define BASEXOFFSET 10 /* X offset for platform base */
- #define BASEYOFFSET 10 /* Y offset for platform base */
- #define BASETHICK 10 /* Base thickness */
- #define BASELEN 300 /* Base width */
- #define POSTOFFSET 62 /* First post offset from edge */
- #define POSTSPACE 100 /* Distance between posts */
- #define POSTWIDTH 5 /* Width of each post */
- #define POSTHALF 2 /* 1/2 width for centering */
- #define POSTEXTRAHT 25 /* Post height above top disk */
- #define DISKTHICK 3 /* Thickness of each disk */
- #define DISKSPACE (DISKTHICK+1) /* Thickness + space */
- #define MINDISKWIDTH 11 /* Width of the smallest disk */
- #define MAXDISKWIDTH 91 /* Width of the thickest disk */
- #define BOTDISKYPOS (BASEYOFFSET+BASETHICK+DISKSPACE-DISKTHICK)
- #define STACK 8192 /* Stack size for thread */
- #define fDRAW 1 /* Indicate draw to DrawDisk() */
- #define fERASE 0 /* Indicate erase */
- #define RETURN_ERROR 1 /* Error return from procedure */
- #define DEFAULTSIZE 5 /* Default number of disks */
- #define MSGBUFSIZE 25 /* Space needed for sprintf msg */
- #define RETURN_SUCCESS 0 /* successful return in DosExit */
- #define RETURN_ERROR 1 /* error return in DosExit */
- #define BEEP_WARN_FREQ 60 /* frequency of warning beep */
- #define BEEP_WARN_DUR 100 /* duration of warning beep */
- #define MESSAGELEN 50 /* maximum length for messages */
- #define MAX_DIGITS 5
- #define THREADSTACKSIZE 8192L
- #define SEM_TIMEOUT 10000L
- #define HELPLIBRARYNAMELEN 20
- #define VERT_POS 15 /* from top to display text info*/
- #define HORZ_POS 50
- #define BUFF_SIZE 100
- #define ONCE while(0)
- #define DELETE_WIDTH 50
-
- /*--------------------------------------------------------------*\
- * Standard Dialog box ids *
- \*--------------------------------------------------------------*/
- #define OBJECTID 1002
-
- /*--------------------------------------------------------------*\
- * Macro constants *
- \*--------------------------------------------------------------*/
- #define DrawRect(x1,y1,x2,y2,color) ptl.x = (LONG) (x1); \
- ptl.y = (LONG) (y1); \
- GpiSetCurrentPosition(hps,&ptl); \
- ptl.x = (LONG) (x2); \
- ptl.y = (LONG) (y2); \
- GpiSetColor(hps,color); \
- GpiBox(hps,DRO_FILL,&ptl,0L,0L);
-
- /*--------------------------------------------------------------*\
- * Ids of messages used between threads *
- \*--------------------------------------------------------------*/
- #define TM_THREADINITFAILED WM_USER+300
-
-