Alrighty, so the whole GUI thing has two steps:
1. Drawing routines
2. onMouse, onClick routines
I've been working on the drawing routines. Here's my progress:
Code:
1. Drawing routines
2. onMouse, onClick routines
I've been working on the drawing routines. Here's my progress:
Code:
GUIVectorTable:
.dw GUIRnull ;$00 COMPLETE XY [erase? {bool}]
.dw GUIRLargeWin ;$01 COMPLETE XY [5 byte icon, header text]
.dw GUIRSmallWin ;$02 [x,y, 5 byte icon, header text]
.dw GUIRFullScreenImg ;$03 COMPLETE XY [768 bytes]
.dw GUIRText ;$04 COMPLETE XY [x,y,font,z.t. text]
.dw GUIRWinButtons ;$05 COMPLETE -- [which {-,[],X,00000}, onclick {word}]
.dw GUIRWrappedText ;$06 COMPLETE XY [x,y,width,font,z.t. text]
.dw GUIRButtonText ;$07 [x,y,onclick {word}]
.dw GUIRButtonImg ;$08 [x,y,onclick {word}]
.dw GUIRTextLineIn ;$09 [x,y,width,maxchar,data (z.t.)]
.dw GUIRRadio ;$0A COMPLETE XY [x,y,group,state {bool},zttext] 1 per group
.dw GUIRCheckbox ;$0B COMPLETE XY [x,y,group,state {bool},zttext] ++ per group
.dw GUIRByteInt ;$0C [x,y,value,min,max]
.dw GUIRWordInt ;$0D [x,y,value,min,max]
.dw GUIRHotspot ;$0E COMPLETE XY [x,y,width,height,ptr]
.dw GUIRTextMultiline ;$0F [x,y,rows,width,curdatapos (0 to datalength),data]
.dw GUIRSprite ;$10 COMPLETE XY [x,y,b,data]
.dw GUIRLargeSprite ;$11 COMPLETE XY [x,y,a,b,data]
.dw GUIRPassIn ;$12 [x,y,width,maxchar,data (z.t.)]
.dw GUIRScrollVert ;$13 [x,y,height,ID,min,max,cur]
.dw GUIRScrollHoriz ;$14 [x,y,width,ID,min,max,cur]
.dw GUIRBorder ;$15 [x,y,width,height]
.dw GUIRRect ;$16 [x,y,width,height,fill]
.dw GUIRCustom ;$17 COMPLETE -- [ptr_to_routine]