home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / a / altmenu / !MakeMenu / Libraries / WimpLib (.txt) < prev   
Encoding:
RISC OS BBC BASIC V Source  |  1996-09-23  |  4.6 KB  |  200 lines

  1.  Wimp library
  2. init_wimp
  3. task%
  4. "Wimp_Initialise",200,&4B534154,
  5. m("TaskID")
  6. ,task%
  7. =task%
  8. init_interface
  9. "Interface_Initialise",task%
  10. init_mess(file$)
  11. "OS_Module",6,,,16
  12. ,,mh%
  13. "MessageTrans_OpenFile",mh%,file$,0
  14. m(tag$)
  15. mess$
  16. "MessageTrans_Lookup",mess%,tag$,0,0,0,0,0,0
  17. ,,mess$
  18. =mess$
  19. writeicon(win%,icon%,text$)
  20. wimp%!0=win%
  21. wimp%!4=icon%
  22. "Wimp_GetIconState",,wimp%
  23. $(wimp%!28)=text$
  24. wimp%!0=win%
  25. wimp%!4=icon%
  26. wimp%!8=0
  27. wimp%!12=0
  28. "Wimp_SetIconState",,wimp%
  29. readicon(win%,icon%)
  30. wimp%!0=win%
  31. wimp%!4=icon%
  32. "Wimp_GetIconState",,wimp%
  33.  (wimp%!24 
  34.  256)=256 
  35.  =$(wimp%!28) 
  36.  =$(wimp%+28)
  37. "Interface_SlabButton",,wimp%
  38. wimp%!8=0
  39. "Interface_SlabButton",,wimp%
  40. openwindow(win%)
  41. wimp%!0=win%
  42. "Wimp_GetWindowState",0,wimp%
  43. wimp%!28=-1
  44. "Wimp_OpenWindow",0,wimp%
  45. closewindow(win%)
  46. wimp%!0=win%
  47. "Wimp_CloseWindow",0,wimp%
  48. redraw_interface
  49. "Wimp_RedrawWindow",0,wimp%
  50. more%
  51. more%
  52. "Interface_Render3dWindow",,wimp%
  53. "Wimp_GetRectangle",0,wimp%
  54. more%
  55. loadwindow(start%,end%,name$)
  56. "Wimp_LoadTemplate",,wimp%,windows%+start%,windows%+end%,-1,name$
  57. "Wimp_CreateWindow",,wimp%
  58. poll_interface(mask%)
  59. "Wimp_Poll",mask%,wimp%
  60. action%
  61. "Interface_Poll",action%,,task%
  62. action%
  63. "Interface_PreProcessKey",action%,wimp%,task%
  64. action%,wimp%
  65. =action%
  66. poll(mask%)
  67. "Wimp_Poll",mask%,wimp%
  68. action%
  69. =action%
  70. closedown_wimp
  71. "Wimp_CloseDown",task%
  72. closedown_interface
  73. "Interface_CloseDown",task%
  74. iconbaricon(sprite$)
  75. wimp%!0=-1
  76. wimp%!4=0
  77. wimp%!8=0
  78. wimp%!12=68
  79. wimp%!16=68
  80. wimp%!20=&3002
  81. $(wimp%+24)=sprite$
  82. "Wimp_CreateIcon",,wimp%
  83. closedown_mess
  84. "MessageTrans_CloseFile",mess%
  85. "OS_Module",7,,mess%
  86. complain(mess$)
  87. $(wimp%+4)=mess$
  88. "Wimp_ReportError",wimp%,16,
  89. m("TaskID")
  90. barmenu(x%,menu%,n%)
  91. "Wimp_CreateMenu",,menu%,x%-64,96+n%*44
  92. setcaretposition(win%,icon%,pos%)
  93. "Wimp_SetCaretPosition",win%,icon%,,,-1,pos%
  94. windowtitle(win%,title$)
  95. pointer%
  96. wimp%!100=win%
  97. "Wimp_GetWindowInfo",,wimp%+100
  98. pointer%=!(wimp%+176)
  99. $pointer%=title$
  100. "Wimp_ForceRedraw",-1,wimp%!104,(wimp%!116)-36,wimp%!112,wimp%!116+36
  101. geticonstate(win%,icon%)
  102. wimp%!0=win%
  103. wimp%!4=icon%
  104. "Wimp_GetIconState",,wimp%
  105. =(wimp%!24
  106. (1<<21))>0
  107. whichradio(win%,esg%)
  108. esg%+=&20
  109. "Wimp_WhichIcon",win%,wimp%,&3F<<16,esg%<<16
  110. =wimp%!0
  111. seticonstate(win%,icon%,state%)
  112. wimp%!0=win%
  113. wimp%!4=icon%
  114. wimp%!8=
  115. (state%)*&200000
  116. wimp%!12=&200000
  117. "Wimp_SetIconState",0,wimp%
  118. windowmenu(menu%)
  119. "Wimp_CreateMenu",,menu%,wimp%!0-48,wimp%!4
  120. seticoncolour(win%,icon%,col%)
  121. wimp%!0=win%
  122. wimp%!4=icon%
  123. wimp%!8=col%<<28
  124. wimp%!12=%1111<<28
  125. "Wimp_SetIconState",,wimp%
  126. disableicon(win%,icon%)
  127. wimp%!0=win%
  128. wimp%!4=icon%
  129. wimp%!8=1<<22
  130. wimp%!12=1<<22
  131. "Wimp_SetIconState",,wimp%
  132. enableicon(win%,icon%)
  133. wimp%!0=win%
  134. wimp%!4=icon%
  135. wimp%!8=0
  136. wimp%!12=1<<22
  137. "Wimp_SetIconState",,wimp%
  138. readvarval(v$)
  139. len%,result%,variable%
  140. $wimp%=v$
  141. "OS_ReadVarVal",wimp%,wimp%+255,255,,3
  142. ,,len%
  143. wimp%?(len%+255)=13
  144. =$(wimp%+255)
  145. readstring(pointer%)
  146. string$
  147. ?pointer%<>0
  148. string$+=
  149. ?pointer%
  150. pointer%+=1
  151. =string$
  152. sendmessage(messno%,data$,to)
  153. !wimp%=48
  154. wimp%!16=messno%
  155. wimp%!20=1
  156. $(wimp%+24)=data$+
  157. "Wimp_SendMessage",17,wimp%,to
  158. request(t$)
  159. $(wimp%+4)=t$
  160. "Wimp_ReportError",wimp%,1,
  161. m("TaskID")
  162. ,reply%
  163. =reply%
  164. m(t$)
  165. sendmessage(123,
  166. m("TaskID"),0)
  167. sendmessage(124,t$,0)
  168. iconbaricontext(sn$,t$)
  169. tp%50,vp%50
  170. $tp%=t$
  171. $vp%="S"+sn$
  172. wimp%!0=-2
  173. wimp%!4=0
  174. wimp%!8=-14
  175. wimp%!12=100
  176. wimp%!16=90
  177. wimp%!20=&1700312B
  178. wimp%!24=tp%
  179. wimp%!28=vp%
  180. wimp%!32=
  181. ($tp%)+1
  182. "Wimp_CreateIcon",0,wimp%
  183. handle%
  184. =handle%
  185. menudisable(menu%,item%)
  186. ;menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)
  187. (1<<22)
  188. menuenable(menu%,item%)
  189. menudisable(menu%,item%)
  190. ;menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)
  191. (1<<22)
  192. iconmenu(win%,icon%,menu%)
  193. Fwimp%!256=win%: wimp%!260=icon%: 
  194.  "Wimp_GetIconState",,wimp%+256
  195. 6wimp%!512=win%: 
  196.  "Wimp_GetWindowInfo",,wimp%+512
  197. x%=wimp%!272+wimp%!516
  198. y%=wimp%!276+(wimp%!528)-16
  199.  "Wimp_CreateMenu",,menu%,x%,y%
  200.