TITLE "mp5/text.a by Douglas Jones" ; Dec 1, 2005 USE "hawk.macs" USE "monitor.h" USE "boxortext.h" INT TEXTRENDER ; linkage to code in mp3test.o EXT PLOTSTR PPLOTSTR: W PLOTSTR ; private fields specific to text objects COORDS = 8 ; X,Y coordinate pair PTEXT = 16 SUBTITLE "textrender written new for MP5" ; -------------------------------------------- RETAD = 0 SELF = 4 ; pointer to object being rendered ORIGIN = 8 ; pointer to X,Y of rendering origin ARSIZE = 12 TEXTRENDER: ; the render methods of all box or text objects expect ; R3 -- pointer to object being rendered ; R4 -- pointer to X,Y of rendering origin ; returns R3 unchanged STORES R1,R2 STORE R3,R2,SELF STORE R4,R2,ORIGIN LOAD R6,R3,COORDS+X ; self.X LOAD R7,R4,X ; origin.X ADD R3,R6,R7 ; -- parameter x = self.X + origin.X LOAD R1,R2,SELF LOAD R6,R1,COORDS+Y ; self.Y LOAD R1,R2,ORIGIN LOAD R7,R1,Y ; origin.Y ADD R4,R6,R7 ; -- parameter y = self.Y + origin.Y LOAD R1,R2,SELF LOAD R5,R1,PTEXT ; -- parameter text = self.ptext ADDI R2,R2,ARSIZE LOAD R1,PPLOTSTR JSRS R1,R1 ; plotstr( x, y, text ) ADDI R2,R2,-ARSIZE LOAD R3,R2,SELF LOADS R1,R2 JUMPS R1 ; return END