; -----------------------------------------------------------
; geosDataS: data for "geosDemo" program
; -----------------------------------------------------------
.if	Pass1
	.include	shadowSym
	.include	shadowMac
.endif
; -----------------------------------------------------------
mainMenu:	.byte	0,14
	.word	0,61
	.byte	HORIZONTAL | 2
;	------------------------------------------------
	.word	geosText
	.byte	SUB_MENU
	.word	geosMenu
;	------------------------------------------------
	.word	demoText
	.byte	SUB_MENU
	.word	demoMenu
;	------------------------------------------------
geosText:	.byte	"geos",0
demoText:	.byte	"demo",0
; -----------------------------------------------------------
geosMenu:	.byte	14,42	;(42 if no DA's found)
	.word	0,40	;(allow for DA names)
	.byte	VERTICAL | CONSTRAINED | 2  ;(if no DA's)
;	------------------------------------------------
	.word	infoText
	.byte	MENU_ACTION
	.word	doInfo
;	------------------------------------------------
	.word	fontText
	.byte	MENU_ACTION
	.word	doFont
;	------------------------------------------------
	.word	DA0Text
	.byte	MENU_ACTION
	.word	runDA
;	------------------------------------------------
	.word	DA1Text
	.byte	MENU_ACTION
	.word	runDA
;	------------------------------------------------
	.word	DA2Text
	.byte	MENU_ACTION
	.word	runDA
;	------------------------------------------------
	.word	DA3Text
	.byte	MENU_ACTION
	.word	runDA
;	------------------------------------------------
	.word	DA4Text
	.byte	MENU_ACTION
	.word	runDA
;	------------------------------------------------
	.word	DA5Text
	.byte	MENU_ACTION
	.word	runDA
;	------------------------------------------------
infoText:	.byte	"info",0
fontText:	.byte	"choose font",0
DA0Text:	.byte	"desk accessory 0",0
DA1Text:	.byte	"desk accessory 1",0
DA2Text:	.byte	"desk accessory 2",0
DA3Text:	.byte	"desk accessory 3",0
DA4Text:	.byte	"desk accessory 4",0
DA5Text:	.byte	"desk accessory 5",0
; -----------------------------------------------------------
demoMenu:	.byte	14,70
	.word	28,108
	.byte	VERTICAL | CONSTRAINED | 4
;	------------------------------------------------
	.word	rctText
	.byte	MENU_ACTION
	.word	rctDemo
;	------------------------------------------------
	.word	gfxText
	.byte	MENU_ACTION
	.word	gfxDemo
;	------------------------------------------------
	.word	strText
	.byte	MENU_ACTION
	.word	strDemo
;	------------------------------------------------
	.word	quitText
	.byte	MENU_ACTION
	.word	doQuit
; -----------------------------------------------------------
rctTextE:	.byte	"* "
rctText:	.byte	"rectangles",0
gfxTextE:	.byte	"* "
gfxText:	.byte	"bitmap display",0
strTextE:	.byte	"* "
strText:	.byte	"string handling",0
quitText:	.byte	"quit",0
; -----------------------------------------------------------
frzIcons:	.byte	1	;number of icons
	.word	296	;X-pos. to leave cursor
	.byte	7	;Y-pos. to leave cursor
;	------------------------------------------------
frzBmp:	.word	frzIconD	;address of bitmap
	.byte	34	;X-position in bytes (left)
	.byte	0	;Y-position in pixels (top)
	.byte	6,15	;size (X in cards by Y in pixels)
frzPtr:	.word	0	;address of service routine
; ------------------------------------------------------------
infoDB:	.byte	DEF_DB_POS | 1
	.byte	OK
	.byte	DBI_X_2	;17 cards
	.byte	DBI_Y_2	;72 pixels
	.byte	DBTXTSTR
	.byte	TXT_LN_X	;16 pixels
	.byte	TXT_LN_2_Y	;32 pixels
	.word	infoMsg1
	.byte	DBTXTSTR
	.byte	TXT_LN_X	;16 pixels
	.byte	TXT_LN_3_Y	;48 pixels
	.word	infoMsg2
	.byte	DBTXTSTR
	.byte	TXT_LN_X	;16 pixels
	.byte	TXT_LN_4_Y	;64 pixels
	.word	infoMsg3
	.byte	0
infoMsg1:	.byte	"GEOS demo (ECCC 2015)",0
infoMsg2:	.byte	"code: ShadowM",0
infoMsg3:	.byte	"QA: Wizard",0
; ------------------------------------------------------------
fontDB:	.byte	DEF_DB_POS | 1
	.byte	DBGETFILES
	.byte	4	;pixels
	.byte	4	;pixels
	.byte	DBTXTSTR
	.byte	DBI_X_2*8	;136 pixels
	.byte	TXT_LN_1_Y	;16 pixels
	.word	selFont
	.byte	OK
	.byte	DBI_X_2	;17 cards
	.byte	DBI_Y_1+8	;48 pixels
	.byte	CANCEL
	.byte	DBI_X_2	;17 cards
	.byte	DBI_Y_2	;72 pixels
	.byte	0
selFont:	.byte	"Select font:",0
;fontName is in next dialog box
; ------------------------------------------------------------
pointDB:	.byte	DEF_DB_POS | 1
	.byte	DBTXTSTR
	.byte	TXT_LN_X	;16 pixels
	.byte	TXT_LN_1_Y	;16 pixels
	.word	lblFont
	.byte	DBTXTSTR
	.byte	TXT_LN_X	;16 pixels
	.byte	TXT_LN_2_Y	;32 pixels
	.word	lblAvail
	.byte	DBTXTSTR
	.byte	TXT_LN_X	;16 pixels
	.byte	TXT_LN_3_Y	;48 pixels
	.word	lblPts
	.byte	DBTXTSTR
	.byte	TXT_LN_X	;16 pixels
	.byte	TXT_LN_4_Y	;64 pixels
	.word	lblSelPt
	.byte	DBGETSTRING
	.byte	TXT_LN_X+80
	.byte	TXT_LN_4_Y-6	;subtract baseline offset
	.byte	r5	;buffer
	.byte	2	;max. characters
	.byte	OK
	.byte	DBI_X_1	;9 cards
	.byte	DBI_Y_2	;72 pixels
	.byte	CANCEL
	.byte	DBI_X_2	;17 cards
	.byte	DBI_Y_2	;72 pixels
	.byte	0
lblFont:	.byte	"Font: "
fontName:	.block	17
lblAvail:	.byte	"Available point sizes:",0
lblPts:	.block	37
lblSelPt:	.byte	"Select point size: ",0
pointSz:	.block	3
; ------------------------------------------------------------
noFontDB:	.byte	DEF_DB_POS | 1
	.byte	DBTXTSTR
	.byte	TXT_LN_X	;16 pixels
	.byte	TXT_LN_2_Y	;32 pixels
fontMsg:	.word	fontMsg1
	.byte	DBTXTSTR
	.byte	TXT_LN_X	;16 pixels
	.byte	TXT_LN_3_Y	;48 pixels
	.word	fontMsg2
	.byte	DBTXTSTR
	.byte	TXT_LN_X	;16 pixels
	.byte	TXT_LN_4_Y	;64 pixels
	.word	fontMsg3
	.byte	OK
	.byte	DBI_X_2	;17 cards
	.byte	DBI_Y_2	;72 pixels
	.byte	0
fontMsg0:	.byte	"No fonts found.",0
fontMsg1:	.byte	"No font selected.",0
fontMsg2:	.byte	"Demo will use system-resident",0
fontMsg3:	.byte	34,"BSW",34," font.",0
; ------------------------------------------------------------
badPntDB:	.byte	DEF_DB_POS | 1
	.byte	DBTXTSTR
	.byte	TXT_LN_X	;16 pixels
	.byte	TXT_LN_2_Y	;32 pixels
	.word	badPtMsg
	.byte	OK
	.byte	DBI_X_2	;17 cards
	.byte	DBI_Y_2	;72 pixels
	.byte	0
badPtMsg:	.byte	"Invalid point size.",0
; ------------------------------------------------------------
askStrDB:	.byte	DEF_DB_POS | 1
	.byte	DBTXTSTR
	.byte	TXT_LN_X	;16 pixels
	.byte	TXT_LN_1_Y	;16 pixels
	.word	askText
	.byte	DBGETSTRING
	.byte	TXT_LN_X	;16 pixels
	.byte	TXT_LN_2_Y	;32 pixels
	.byte	r5	;string buffer address
	.byte	20	;max. chars.
	.byte	OK
	.byte	DBI_X_1	;9 cards
	.byte	DBI_Y_2	;72 pixels
	.byte	CANCEL
	.byte	DBI_X_2	;17 cards
	.byte	DBI_Y_2	;72 pixels
	.byte	0
askText:	.byte	"text to display:",0
style:	.byte	PLAINTEXT,0
showText:	.block	21
styles:	.byte	PLAINTEXT,ITALICON,BOLDON,REV_ON
styleBits:	.byte	SET_PLAINTEXT,SET_ITALIC,SET_BOLD,SET_REVERSE
styleNdx:	.byte	0
STYLECNT	=	styleNdx-styleBits
; ------------------------------------------------------------
errorDB:	.byte	DEF_DB_POS | 1
	.byte	OK,2,71
	.byte	DBTXTSTR,14,28
	.word	errorMsg
	.byte	DB_USR_ROUT
	.word	beep
	.byte	0
errorMsg:	.byte	BOLDON,"Error "
errorNum:	.byte	0,0,", program will exit.",PLAINTEXT,0
; -----------------------------------------------------------
;	process table
; -----------------------------------------------------------
procTbl:	.word	showRct
	.word	15
	.word	showGfx
	.word	30
	.word	showStr
	.word	45
; -----------------------------------------------------------
blank:	.byte	" ",0
whichPic:	.byte	0
picAddrs:	.word	bitmap1,bitmap2,bitmap3,bitmap4
picDims:	.byte	bitmap1W,bitmap1H,bitmap2W,bitmap2H,bitmap3W,bitmap3H,bitmap4W,bitmap4H
rctEnabl:	.byte	0
gfxEnabl:	.byte	0
strEnabl:	.byte	0
xpos:	.block	2
ypos:	.block	1
wd:	.block	1
ht:	.block	1
points:	.block	10
ioSave:	.block	1
flagSave:	.block	1
; -----------------------------------------------------------
bitmap1:


bitmap1W	==	picW
bitmap1H	==	picH

bitmap2:


bitmap2W	==	picW
bitmap2H	==	picH

bitmap3:


bitmap3W	==	picW
bitmap3H	==	picH

bitmap4:


bitmap4W	==	picW
bitmap4H	==	p---------------------------------------------------
frzIcon:


; -----------------------------------------------------------
frzIconD:


; -----------------------------------------------------------
rsmIcon:


; -----------------------------------------------------------
fontLoad:	.byte	0	;marker for loading font
