home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / s1 / spritemde / !SpriteMde / !RunImage (.txt) < prev    next >
RISC OS BBC BASIC V Source  |  1993-05-11  |  4KB  |  141 lines

  1.  ><SpriteMde$Dir>.!RunImage
  2. "Hourglass_On"
  3. window%1024,menu%80,redraw%64,q%2560:windowend%=window%+1024:mode%=12:finished%=
  4. "Wimp_Initialise",200,&4B534154,"Sprite Mode"
  5. wimp%,taskh%
  6. "Interface_Initialise",taskh%
  7. 4sprite$="<SpriteMde$Dir>.Sprites":
  8.  wimp%>=300 
  9. xsprite2$=sprite$:
  10.  "XWimp_ReadSysInfo",2 
  11.  a%;f%:
  12. 1)=0 sprite$+=
  13. a%?1:h%=
  14. sprite$:
  15.  h%=0 sprite$=sprite2$
  16.     ch%=
  17. sprite$:sprlen%=
  18.  wspr% sprlen%+4:!wspr%=sprlen%:
  19.  "OS_File",255,sprite$,wspr%+4
  20. "Wimp_OpenTemplate",,"<SpriteMde$Dir>.Templates"
  21. "Wimp_LoadTemplate",,q%,window%,windowend%,-1,"info"
  22. ,,window%
  23. "Wimp_CreateWindow",,q%
  24. info%
  25. "Wimp_LoadTemplate",,q%,window%,windowend%,-1,"main"
  26. ,,window%
  27. /q%!64=wspr%:
  28. "Wimp_CreateWindow",,q%
  29. main%
  30. "Wimp_CloseTemplate"
  31. ("Load <SpriteMde$Dir>.Menu "+
  32. ~menu%):menu%!32=info%
  33. h!q%=-1:q%!4=0:q%!8=0:q%!12=68:q%!16=64:q%!20=&3002:$(q%+24)="!spritemde":
  34. "Wimp_CreateIcon",,q%
  35. opt%=0
  36. 2:P%=redraw%:[OPT opt%:ADR R1,q%:SWI"Wimp_RedrawWindow":.loop:CMN R0,#1:MOVNE PC,R14:ADR R1,q%:SWI"Interface_Render3dWindow":SWI"Wimp_GetRectangle":B loop:]:
  37. error
  38. "Hourglass_Off"
  39. "Wimp_Poll",,q%
  40. reason%
  41. "Interface_Poll",reason%,,taskh%
  42. "Interface_PreProcessKey",reason%,q%,taskh% 
  43.  reason%
  44. reason%
  45. redraw%
  46. "Wimp_OpenWindow",,q%
  47. "Wimp_CloseWindow",,q%
  48. 6:buttons%=q%!8:window%=q%!12:icon%=q%!16:
  49. window%
  50. icon%
  51. buttons%
  52. openwindow(main%)
  53. "Wimp_CreateMenu",,menu%,!q%-72,184
  54. main%
  55. buttons%
  56.  q%!8=1 
  57. seticonstate(main%,icon%,1<<21,1<<21)
  58. icon%
  59. seticontext(main%,37,"4")
  60. seticontext(main%,37,"1")
  61. seticontext(main%,37,"9")
  62. seticontext(main%,37,"13")
  63. seticontext(main%,37,"0")
  64. seticontext(main%,37,"8")
  65. seticontext(main%,37,"12")
  66. seticontext(main%,37,"15")
  67. seticontext(main%,37,"25")
  68. seticontext(main%,37,"26")
  69. seticontext(main%,37,"27")
  70. seticontext(main%,37,"28")
  71. seticontext(main%,37,"18")
  72. seticontext(main%,37,"19")
  73. seticontext(main%,37,"20")
  74. seticontext(main%,37,"21")
  75. seticontext(main%,37,"16")
  76. seticontext(main%,37,"24")
  77. seticontext(main%,37,"33")
  78. seticontext(main%,37,"34")
  79. seticontext(main%,37,"35")
  80. seticontext(main%,37,"36")
  81. seticontext(main%,37,"66")
  82. seticontext(main%,37,"67")
  83. q%!24
  84. n%=12
  85. seticonstate(main%,n%,0,1<<21):
  86.  "Wimp_SetCaretPosition",-1
  87. "Wimp_ProcessKey",q%!24
  88. 1:finished%=
  89. 17,18:
  90. receive(reason%)
  91. finished%
  92. "Interface_CloseDown",taskh%
  93. "Wimp_CloseDown",taskh%,&4B534154
  94. var(ptr%):string$="":
  95. ?ptr%<>0:string$+=
  96. ?ptr%:ptr%+=1:
  97. :=string$
  98. openwindow(wind%):!q%=wind%:
  99. "Wimp_GetWindowState",,q%:q%!28=-1:
  100. "Wimp_OpenWindow",,q%:
  101. numfromicon(wind%,icon%):q%!256=wind%:q%!260=icon%:
  102. "Wimp_GetIconState",,q%+256:string$=$q%!284:
  103. string$=""string$=
  104. string$
  105. seticonstate(wind%,icon%,eor%,clear%):q%!256=wind%:q%!260=icon%:q%!264=eor%:q%!268=clear%:
  106.  "Wimp_SetIconState",,q%+256:
  107. geticonstate(wind%,icon%):q%!256=wind%:q%!260=icon%:
  108.  "Wimp_GetIconState",,q%+256:
  109. seticontext(wind%,icon%,text$)
  110. geticonstate(wind%,icon%):$
  111. textaddr(wind%,icon%)=text$:q%!264=0:q%!268=0:
  112.  "Wimp_SetIconState",,q%+256
  113.  "Wimp_SetCaretPosition",-1
  114. textaddr(wind%,icon%):
  115. geticonstate(wind%,icon%):=q%!284
  116. receive(r%)
  117. q%!16
  118. 0:finished%=
  119. q%!40=&FF9
  120. dosprite(
  121. var(q%+44))
  122. error
  123. k.r$=
  124. $+" (IEC "+
  125. +") (Cancel to quit app)"
  126. :$(q%+4)=r$+
  127. "Wimp_ReportError",q%,3,"Sprite Mode"
  128. ,buttons%
  129. buttons%=2 finished%=
  130. dosprite(filename$)
  131. (filename$)
  132. #ch%=4
  133. #ch%=
  134. #ch%+36
  135. #ch%,
  136. numfromicon(main%,37)
  137. word:=
  138. #ch%<<8
  139. #ch%<<16
  140. #ch%<<24
  141.