home *** CD-ROM | disk | FTP | other *** search
RISC OS BBC BASIC V Source | 1997-04-05 | 11.8 KB | 525 lines |
- ><BLink$Dir>.!RunImage
- This application is FreeWare. (c) 1997 Dick Alstein
- Appl$="BLink"
- #ApplVersion$="1.12 (05-Apr-97)"
- error
- quit%=
- 0mask%=1+(1<<4)+(1<<5)+(1<<7)+(1<<11)+(1<<12)
- "Wimp_Poll",mask%,blk%
- reason%
- reason%
- (
- 2 :
- "Wimp_OpenWindow",,blk%
- )
- 3 :
- "Wimp_CloseWindow",,blk%
- ?
- 6 :
- mouseclick(blk%!0,blk%!4,blk%!8,blk%!12,blk%!16)
-
- 7 :
- startsavedialogue
- *
- 8 :
- "Wimp_ProcessKey",blk%!24
- 9 :
- menuselect(blk%)
- 1
- 17,18 :
- receive(blk%!4,blk%!8,blk%!16)
- quit%
- msg_exit
- "Wimp_CloseDown"
- errblk% &100
- "Wimp_Initialise",200,&4B534154,Appl$
- osversion%,thistask%
- error
- scrapblk% 256
- blk% &800
- indsize%=&500
- indir% indsize%
- indirend%=indir%+indsize%
- ptrinfo% 24
- msg_init
- scrapblk%!0=-1
- &!scrapblk%!4=0 : scrapblk%!8=0
- '%scrapblk%!12=68 : scrapblk%!16=68
- scrapblk%!20=&7000301A
- $(scrapblk%+24)="!blink"
- "Wimp_CreateIcon",,scrapblk%
- baricon%
- "Wimp_OpenTemplate",,"<BLink$Dir>.Templates"
- ,"infowin%=
- loadtemplate("Info")
- -%$(blk%!(92+9*32+20))=ApplVersion$
- .$optwin%=
- loadtemplate("Options")
- /$inclibsfname%=blk%!(92+11*32+20)
- 0#outputfname%=blk%!(92+16*32+20)
- 1$savewin%=
- loadtemplate("SaveAs")
- 2 savefname%=blk%!(92+0*32+20)
- "Wimp_CloseTemplate"
- initmenus
- readscreenvars
- loadstatus
- selecticon(optwin%,2,blibcmds%)
- selecticon(optwin%,3,evalfns%)
- selecticon(optwin%,4,basiclnrs%)
- selecticon(optwin%,5,increms%)
- selecticon(optwin%,6,throwback%)
- selecticon(optwin%,7,unuseddefs%)
- selecticon(optwin%,10,inclibs%)
- selecticon(optwin%,14,sameleafname%)
- selecticon(optwin%,15,
- sameleafname%)
- selecticon(optwin%,19,verbose%=0)
- selecticon(optwin%,20,verbose%=1)
- selecticon(optwin%,21,verbose%=2)
- dirname(F$)
- p%,q%
- F$,".",p%)
- q% > 0
- p%=q%+1
- q%=0
- F$,p%-2)
- errbox(err$,boxes%)
- errblk%!0=0
- $(errblk%+4)=err$+
- "Wimp_ReportError",errblk%,boxes%,Appl$
- ,click%
- =(click%=1)
- error
- "Wimp_CloseDown" :
- errbox(
- $+" (line "+
- )+")",3)
- "Wimp_CloseDown"
- fileexists(f$)
- type%,flags%
- type%=0
- (f$)>0
- "XOS_File",17,f$
- type%;flags%
- =(type%=1)
- ((flags%
- 1)=0)
- initmenus
- "MenuUtil_Initialise",010,0
- "MenuUtil_New",,Appl$
- mainmenu%
- "MenuUtil_Add",mainmenu%,"Info"
- item_info%
- "MenuUtil_Add",mainmenu%,"Options..."
- item_options%
- "MenuUtil_Add",mainmenu%,"Quit"
- item_quit%
- "MenuUtil_SubMenu",item_info%,infowin%
- leafname(f$)
- p%,q%
- p%=q%+1
- q%=
- f$,".",p%)
- q%=0
- f$,p%)
- defaultstatus
- blibcmds%=
- evalfns%=
- basiclnrs%=
- increms%=
- throwback%=
- unuseddefs%=
- verbose%=0
- inclibs%=
- $(inclibsfname%)=""
- nooutput%=
- sameleafname%=
- $(outputfname%)="!RunImage"
- loadstatus
- efn$,ofn$
- ("<BLink$Dir>.Options")
- F%=0
- defaultstatus
- #F% :
- error :
- defaultstatus :
- #F%,blibcmds%,evalfns%,basiclnrs%,increms%
- #F%,throwback%,unuseddefs%,verbose%
- #F%,inclibs%,efn$,nooutput%,sameleafname%,ofn$
- $(inclibsfname%)=efn$
- $(outputfname%)=ofn$
- savestatus
- ("<BLink$Dir>.Options")
- #F% :
- error :
- #F%,blibcmds%,evalfns%,basiclnrs%,increms%
- #F%,throwback%,unuseddefs%,verbose%
- #F%,inclibs%,$(inclibsfname%),nooutput%,sameleafname%,$(outputfname%)
- loadtemplate(name$)
- handle%
- "Wimp_CloseTemplate" :
- error
- "Wimp_LoadTemplate",,blk%+4,indir%,indirend%,-1,name$,0
- ,,indir%
- "Wimp_CreateWindow",,blk%+4
- handle%
- =handle%
- menuselect(selection%)
- "Wimp_GetPointerInfo",,ptrinfo%
- selection%!0
- openoptionswin
- quit%=
- (ptrinfo%!8
- showmenu(0)
- mouseclick(xpos%,ypos%,button%,wndw%,icon%)
- wndw%
- button%
-
-
- showmenu(blk%)
-
-
- openoptionswin
-
- optwin%
- icon%
- &
- 2 : blibcmds%=
- blibcmds%
- $
- 3 : evalfns%=
- evalfns%
- (
- 4 : basiclnrs%=
- basiclnrs%
- $
- 5 : increms%=
- increms%
- (
- 6 : throwback%=
- throwback%
- *
- 7 : unuseddefs%=
- unuseddefs%
- $
- 12 : inclibs%=
- inclibs%
-
- sameleafname%=
- nooutput%=
-
- sameleafname%=
- nooutput%=
-
- sameleafname%=
- nooutput%=
- (
- 19,20,21 : verbose%=icon%-19
-
-
- savestatus
- scrapblk%!0=optwin%
- ,
- "Wimp_CloseWindow",,scrapblk%
-
- scrapblk%!0=optwin%
- ,
- "Wimp_CloseWindow",,scrapblk%
-
- savewin%
- icon%
-
- 2 :
- startsavedrag
-
- msg_init
- fname$,flags%,size%,buf%
- !fname$="<BLink$Dir>.Messages"
- "MessageTrans_FileInfo",,fname$
- flags%,,size%
- flags%
- buf%=0
- buf% size%
- msgdesc% 17+
- (fname$)
- $(msgdesc%+16)=fname$
- "MessageTrans_OpenFile",msgdesc%,msgdesc%+16,buf%
- msg_exit
- "MessageTrans_CloseFile",msgdesc%
- msgdesc%=0
- msg_lookup0(token$)
- result%
- "MessageTrans_Lookup",msgdesc%,token$,0
- ,,result%
- str(result%)
- msg_lookup1(token$,param$)
- result%
- "MessageTrans_Lookup",msgdesc%,token$,scrapblk%,&100,param$
- ,,result%
- str(result%)
- openoptionswin
- dx%,dy%
- dx%=0
- dy%=0
- blk%!0=optwin%
- "Wimp_GetWindowState",,blk%
- (blk%!32
- (1<<16))=0
- center window to screen if not already open
- . dx%=(screensize_x%-(blk%!12+blk%!4))
- . dy%=(screensize_y%-(blk%!16+blk%!8))
- blk%!4=blk%!4+dx%
- blk%!8=blk%!8+dy%
- blk%!12=blk%!12+dx%
- blk%!16=blk%!16+dy%
- blk%!28=-1
- "Wimp_OpenWindow",,blk%
- readscreenvars
- xeig%,yeig%,xpixels%,ypixels%
- "OS_ReadModeVariable",-1,4
- ,,xeig%
- "OS_ReadModeVariable",-1,5
- ,,yeig%
- "OS_ReadModeVariable",-1,11
- ,,xpixels%
- "OS_ReadModeVariable",-1,12
- ,,ypixels%
- Escreensize_x%=(xpixels%+1)*(1<<xeig%) :
- screen size in OS units
- )screensize_y%=(ypixels%+1)*(1<<yeig%)
- receive(sender%,ref%,code%)
- ack%,icon%,window%,fname$,ftype%,fsize%,hlp$,tok$,lfn$
- ack%=0
- sender% <> thistask%
- code%
- 0 : quit%=
- $
- startblink(
- str(blk%+44))
- !"
- "Wimp_CreateMenu",,-1
- ack%=3
- window%=blk%!20
- icon%=blk%!24
- fname$=
- str(blk%+44)
- ftype%=blk%!40
-
- (ftype%=&FFB)
-
- window%
-
- +" inputfname$=fname$
- ,# inputfsize%=blk%!36
-
- nooutput%
- ."
- startblink("-")
-
- 0#
- sameleafname%
- 13 $(savefname%)=
- leafname(fname$)
-
- 31 $(savefname%)=$(outputfname%)
-
- 5& scrapblk%!0=savewin%
- 65
- "Wimp_GetWindowState",,scrapblk%
- 74
- "Wimp_GetPointerInfo",,ptrinfo%
- 83
- (window%=-2)
- (icon%=baricon%)
- 9D xpos%=ptrinfo%!0-((scrapblk%!12-scrapblk%!4)
- :5 ypos%=96+scrapblk%!16-scrapblk%!8
-
- <D xpos%=ptrinfo%!0-((scrapblk%!12-scrapblk%!4)
- =D ypos%=ptrinfo%!4+((scrapblk%!16-scrapblk%!8)
-
- ?<
- "Wimp_CreateMenu",,savewin%,xpos%,ypos%
-
-
- optwin%
- B,
- (icon%>=8)
- (icon%<=11)
- C' lfn$=$(inclibsfname%)
- D)
- (lfn$)>0
- lfn$+=","
- E. $(inclibsfname%)=lfn$+fname$
- FE
- selecticon(optwin%,11,0) :
- forces redraw of icon
-
-
-
- &502
- K*
- request from !Help application
- hlp$=""
- icon%=blk%!36
-
- blk%!32
-
- P+ hlp$=
- msg_lookup0("HLP_IBAR")
-
- optwin%
- tok$="HLP_OPT"
-
- icon%
- T0
- 2 : tok$+="blibcmds"
- U/
- 3 : tok$+="evalfns"
- V1
- 4 : tok$+="basiclnrs"
- W/
- 5 : tok$+="increms"
- X1
- 6 : tok$+="throwback"
- Y2
- 7 : tok$+="unuseddefs"
- Z/
- 8,9,10,11 : tok$+="inclibs"
- [0
- 14 : tok$+="sameleaf"
- \1
- 15,16 : tok$+="otherleaf"
- ]/
- 18,19,20,21 : tok$+="verbose"
- ^0
- 22 : tok$+="saveexit"
- _,
- 23 : tok$+="exit"
-
- a% hlp$=
- msg_lookup0(tok$)
-
- savewin%
- c+ hlp$=
- msg_lookup0("HLP_SAVE")
-
-
- hlp$<>""
- $(blk%+20)=hlp$
- ack%=&503
-
- &400C1
-
- readscreenvars
- ack%<>0
- blk%!0=256
- blk%!12=ref%
- blk%!16=ack%
- p-
- "Wimp_SendMessage",17,blk%,sender%
- selecticon(window%,icon%,f%)
- scrapblk%!0=window%
- scrapblk%!4=icon%
- scrapblk%!8=1<<21
- scrapblk%!8=0
- scrapblk%!12=1<<21
- "Wimp_SetIconState",,scrapblk%
- iconselected(window%,icon%)
- scrapblk%!0=window%
- scrapblk%!4=icon%
- "Wimp_GetIconState",,scrapblk%
- #=((scrapblk%!24)
- (1<<21)) > 0
- shadeicon(window%,icon%,f%)
- scrapblk%!0=window%
- scrapblk%!4=icon%
- scrapblk%!8=(1<<22)
- scrapblk%!8=0
- scrapblk%!12=1<<22
- "Wimp_SetIconState",,scrapblk%
- showmenu(blkptr%)
- "MenuUtil_Show",mainmenu%,blkptr%
- startsavedialogue
- dragasprite%
- "DragASprite_Stop"
- blk%!0=64
- blk%!12=0
- blk%!16=1
- "Wimp_GetPointerInfo",,ptrinfo%
- blk%!20=ptrinfo%!12
- blk%!24=ptrinfo%!16
- blk%!28=ptrinfo%!0
- blk%!32=ptrinfo%!4
- blk%!36=inputfsize%
- blk%!40=&FFB
- *$(blk%+44)=
- leafname($(savefname%))+
- "Wimp_SendMessage",17,blk%,ptrinfo%!12,ptrinfo%!16
- startsavedrag
- b%,win0x%,win0y%
- scrapblk%!0=savewin%
- "Wimp_GetWindowState",,scrapblk%
- #win0x%=scrapblk%!4-scrapblk%!20
- $win0y%=scrapblk%!16-scrapblk%!24
- scrapblk%!0=savewin%
- scrapblk%!4=2
- "Wimp_GetIconState",,scrapblk%
- blk%!4=5
- blk%!8=scrapblk%!8+win0x%
- blk%!12=scrapblk%!12+win0y%
- blk%!16=scrapblk%!16+win0x%
- blk%!20=scrapblk%!20+win0y%
- "Wimp_GetPointerInfo",,ptrinfo%
- blk%!24=blk%!8-ptrinfo%!0
- blk%!28=blk%!12-ptrinfo%!4
- ,blk%!32=screensize_x%+blk%!16-ptrinfo%!0
- ,blk%!36=screensize_y%+blk%!20-ptrinfo%!4
- "OS_Byte",161,&1C
- ,,b%
- dragasprite%=(b%
- 2)<>0
- dragasprite%
- "DragASprite_Start",&A1,1,"file_ffb",blk%+8,blk%+24
- "Wimp_DragBox",1,blk%
- startblink(outputfname$)
- cmd$,lfn$,taskwin%
- cmd$="<BLink$Dir>.blink "
- taskwin%=
- blibcmds%
- cmd$+="-b "
- evalfns%
- cmd$+="-e "
- basiclnrs%
- cmd$+="-n "
- increms%
- cmd$+="-r "
- throwback%
- cmd$+="-t "
- taskwin%=
- unuseddefs%
- cmd$+="-u "
- taskwin%=
- nooutput%
- taskwin%=
- verbose%
- 1 : cmd$+="-v " : taskwin%=
- 2 : cmd$+="-vv " : taskwin%=
- lfn$=$(inclibsfname%)
- inclibs%
- (lfn$<>"")
- cmd$+="-l"+lfn$+" "
- &cmd$+=inputfname$+" "+outputfname$
- (taskwin%)
- (osversion%>=300)
- + cmd$="TaskWindow -quit "+
- 34+cmd$+
- "Wimp_StartTask",cmd$
- str(s%)
- i%,n$
- (s%?i%>=32)
- (i%<255)
- n$+=
- (s%?i%)
- i%+=1
-