flashjazzcat, on Thu May 24, 2012 6:50 AM, said:
Ok, instead call it "Bruce" to keep it clear.
Posted Yesterday, 5:32 PM
Posted Yesterday, 5:32 PM
Edited by AtariNerd, Yesterday, 6:08 PM.
Posted Yesterday, 5:53 PM
Edited by ToddUGA, Yesterday, 5:58 PM.
Posted Yesterday, 6:33 PM
Posted Yesterday, 8:28 PM
Posted Yesterday, 10:33 PM
Posted Today, 2:46 AM
Bryan, on Thu May 24, 2012 6:33 PM, said:
Shawn Jefferson, on Thu May 24, 2012 10:33 PM, said:
Posted Today, 4:25 AM
Posted Today, 5:12 AM
mainloop mwa #myevent EventRec jsr get_event ; wait for event mwa myevent[0].handle object ; set up object handle in advance for those functions which need it lda myevent[0].what ; see what kind of event we have cmp #GUIEventType.WM_SIZE bne not_window_sized jsr get_client_xywh ; get client position and size and store them jsr CalcDocumentSize ; make any necessary changes to document size and scroll bars jsr SetDocumentSize jmp mainloop not_window_sized cmp #GUIEventType.WM_MOVE bne not_window_moved jmp mainloop ; nothing to do at the moment not_window_moved cmp #GUIEventType.WM_REDRAW bne not_window_redraw jsr get_client_xywh jsr CalcDocumentSize ; we should cache these values to save time here jsr render_client jmp mainloop not_window_redraw cmp #GUIEventType.WM_HSLIDE bne not_hscroll jsr dohslide jmp mainloop not_hscroll cmp #GUIEventType.WM_VSLIDE bne not_vscroll jsr dovslide jmp mainloop not_vscroll jmp mainloop dohslide jsr get_client_xywh ; save client area position and size mwa MyEvent[0].x CXOffs ; get x offset into document jsr CalcDocumentSize jsr CalcFirstFile jsr ClearClientArea jsr render_client rts ; dovslide mwa MyEvent[0].y CYOffs rts .proc CalcDocumentSize ; work out size of document mwa myclienth ptr1 mwa #10 ptr2 jsr divword ; get client height div 10 stax FilesPerColumn stax ptr2 mwa #NUMFILES ptr1 jsr divword ; work out number of columns stax NumColumns stax ptr1 lda ptr4 ; check remainder beq NoExtraColumn inc NumColumns inc ptr1 NoExtraColumn mwa #ColumnWidth ptr2 jsr mulword ; work out pixel width of document stax DocumentWidth rts .endp .proc SetDocumentSize ; set the document and scrollbar thumb size mwa myclienth Height mwa DocumentWidth Width lda #WindowProp.DOCUMENTSIZE jsr winset rts .endp .proc CalcFirstFile mwa CXOffs ptr1 mwa #ColumnWidth ptr2 jsr divword ; get X Offset div Column Width stax ptr1 asl ptr4 ; see if remainder * 2 is greater than column width cmp #ColumnWidth bcc NoExtraCol inc ptr1 ; bump column number NoExtraCol mwa FilesPerColumn ptr2 jsr mulword stax FirstFile rts .endp .proc ClearClientArea mwa myclientx cx mwa myclienty cy mwa myclientw width mwa myclienth height jmp clear_box_b .endp get_client_xywh lda #WindowProp.CLIENT ; get dimensions and position of client area jsr winget mwa cx myclientx mwa cy myclienty mwa width myclientw mwa height myclienth rts ; get_event_message_xywh mwa myevent[0].x cx mwa myevent[0].y cy mwa myevent[0].width width mwa myevent[0].height height rts ;
0 members, 1 guests, 0 anonymous users