home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AMOS PD CD
/
amospdcd.iso
/
451-475
/
apd472
/
wbk_window.amos
/
wbk_window.amosSourceCode
< prev
Wrap
AMOS Source Code
|
1993-03-13
|
5KB
|
185 lines
Screen Open 0,640,256,4,Hires
Flash Off : Curs Off : Cls 0
Get Sprite Palette
Colour Back 2440
A#=0.0
'
'Amos Lock
'
Dim ICX(5),ICY(5),ICTX(5),ICTY(5),ICM$(5)
Global WW,WH,WX,WY,WWMIN,WWMAX,WHMIN,WHMAX,WFULL,WEXIST,ICX(),ICY(),ICTX(),ICTY(),ICM$()
Global SELECTED
'
WW=200 : WH=100 : WX=50 : WY=50 : WWMIN=50 : WWMAX=640 : WHMIN=50 : WHMAX=250 : WFULL=50 : WEXIST=1
Reserve Zone 9
'
For N=1 To 5
Read A,B,C,D,M$
ICX(N)=A : ICY(N)=B : ICTX(N)=C : ICTY(N)=D : ICM$(N)=M$
Next N
'
Data 572,23,560,52,"RAM Disk",572,57,576,86,"HDD1",572,111,560,140,"No_Click"
Data 572,145,556,174,"Workbench",572,213,560,242,"ASDG-RAM"
'
_WBDRAW
_WINDOW
'
Do
'
Limit Mouse
If Key State(69) Then _QUIT
If Mouse Key=2 Then _RMB
If Mouse Zone=1 and Mouse Key=1 and WEXIST<>0 Then _WINDMOVE
If Mouse Zone=2 and Mouse Key=1 and WEXIST<>0 Then _WINDCLOSE
If Mouse Zone=3 and Mouse Key=1 and WEXIST<>0 Then _WINDSIZE
If Mouse Zone=4 and Mouse Key=1 Then _SCRNPULL
If Mouse Zone>4 and Mouse Zone<10 and Mouse Key=1 Then _SELECT
'
Loop
'
Procedure _RMB
Gr Writing 1
Ink 1
Bar 0,7 To 639,16
Ink 0
Text 30,14,"Workbench"
Text 130,14,"Disk"
Text 190,14,"Special"
Repeat
Until Mouse Key<>2
Bar 0,7 To 639,16
_WBDRAW
End Proc
Procedure _WBDRAW
Gr Writing 1
Ink 1
Bar 0,7 To 587,16
Ink 0
MEM=Chip Free+Fast Free
Text 5,14,"Workbench release. "+Str$(MEM)+" free memory"
Paste Bob 589,7,2
Set Zone 4,0,7 To 587,16
Ink 1,0
For N=1 To 5
Paste Bob ICX(N),ICY(N),16
Text ICTX(N),ICTY(N),ICM$(N)
Set Zone N+4,ICX(N),ICY(N) To ICX(N)+32,ICY(N)+32
Next N
Ink 0,1
End Proc
Procedure _WINDOW
Set Zone 1,WX+28,WY To WX+WW-1,WY+9
Set Zone 2,WX,WY To WX+30,WY+9
Set Zone 3,WX+WW+36,WY+WH-8 To WX+WW+50,WY+WH
Ink 0
Bar WX,WY To WX+WW+50,WY+9
Ink 1 : Set Pattern -11
Paste Bob WX,WY,1
Paste Bob WX+WW-1,WY,2
Ink 2
Bar WX+28,WY+1 To WX+WW-5,WY+9
Ink 1
Draw WX+WW-3,WY To WX+WW-3,WY+9
Draw WX+WW-5,WY To WX+WW-5,WY+9
Box WX+28,WY To WX+WW-4,WY+9
Box WX,WY+WH-8 To WX+WW+23,WY+WH
Draw WX+1,WY+WH-10 To WX+1,WY+WH
Paste Bob WX+2,WY+WH-8,6
Paste Bob WX+WW+23,WY+WH-8,7
Paste Bob WX+WW+36,WY+WH-8,3
Bar WX+17,WY+WH-6 To WX+WW+19,WY+WH-2
Draw WX+14,WY+WH-8 To WX+14,WY+WH
Draw WX+WW+22,WY+WH-8 To WX+WW+22,WY+WH
Set Pattern 0
Ink 1
Bar WX,WY+10 To WX+15,WY+WH-15
Bar WX+WW+35,WY+17 To WX+WW+50,WY+WH-16
Ink 0
Box WX+WW+37,WY+17 To WX+WW+48,WY+WH-16
Box WX+WW+38,WY+17 To WX+WW+47,WY+WH-16
Ink 2
Bar WX+2,WY+10 To WX+13,WY+WH-9
Paste Bob WX,WY+10,4
Paste Bob WX,WY+WH-15,5
Paste Bob WX+WW+35,WY+10,8
Paste Bob WX+WW+35,WY+WH-15,9
Ink 3
VV#=((WH-33.0)/100.0)*WFULL
If VV#>0 Then Bar WX+2,WY+WH-16-VV# To WX+13,WY+WH-16
End Proc
Procedure _WINDMOVE
Gr Writing 2
Ink 1
WXADJ=X Screen(X Mouse)-WX : WYADJ=Y Screen(Y Mouse)-WY
OLDWX=WX : OLDWY=WY
While Mouse Key=1
WXT=WX : WYT=WY
If X Screen(X Mouse)<>X or Y Screen(Y Mouse)<>Y
Ink 0 : Box WX,WY To WX+WW+50,WY+WH
WX=X Screen(X Mouse)-WXADJ : WY=Y Screen(Y Mouse)-WYADJ
If WX<0 or WX+WW>589
WX=WXT
End If
If WY<7 or WY+WH>254
WY=WYT
End If
Ink 2 : Box WX,WY To WX+WW+50,WY+WH
X=X Screen(X Mouse) : Y=Y Screen(Y Mouse)
End If
Wend
Cls 0,OLDWX,OLDWY To OLDWX+WW+51,OLDWY+WH+1
_WBDRAW
_WINDOW
End Proc
Procedure _WINDSIZE
Cls 0,WX,WY To WX+WW+51,WY+WH+1
WWADJ=WX+WW+50-X Screen(X Mouse) : WHADJ=(WY+WH)-Y Screen(Y Mouse)
While Mouse Key=1
If X Screen(X Mouse)<>X or Y Screen(Y Mouse)<>Y
Ink 0 : Box WX,WY To WX+WW+50,WY+WH
WWT=WW : WHT=WH
WW=X Screen(X Mouse)-(WX+WWADJ)-35 : WH=Y Screen(Y Mouse)-(WY+WHADJ)+10
If WW<WWMIN or WW>WWMAX
WW=WWT
End If
If WH<WHMIN or WH>WHMAX
WH=WHT
End If
_WBDRAW
Ink 2 : Box WX,WY To WX+WW+50,WY+WH
X=X Screen(X Mouse) : Y=Y Screen(Y Mouse)
End If
Wend
_WINDOW
End Proc
Procedure _WINDCLOSE
Cls 0,WX,WY To WX+WW+51,WY+WH+1
_WBDRAW
WEXIST=0
End Proc
Procedure _SCRNPULL
YADJ=Y Screen(Y Mouse)
While Mouse Key=1
If Y Mouse-YADJ>41
Screen Display 0,,Y Mouse-YADJ,,
End If
Wait Vbl
Wend
End Proc
Procedure _SELECT
If SELECTED>0
Cls 0,ICX(SELECTED),ICY(SELECTED) To ICX(SELECTED)+38,ICY(SELECTED)+20
Paste Bob ICX(SELECTED),ICY(SELECTED),16
Wait Vbl
End If
SELECTED=Mouse Zone-4
Paste Bob ICX(SELECTED),ICY(SELECTED),17
Wait Vbl
Repeat
Until Mouse Key<>1
End Proc
Procedure _QUIT
Default
Amos Unlock
Edit
End Proc