MACRO BDR SELSAVE SAVESETTINGS GP P1 ^DSelect lower left point IFERR MacroDone GP P2 ^DSelect upper right point IFERR MacroDone GN c1 0 GN c1 ^DEnter corner color: (0) IFN c1 MacroDone GN c2 13 GN c2 ^DEnter second color: (13) IFN c2 MacroDone GV bwid 10 GV bwid ^DEnter border width: (10) IFZ bwid MacroDone GV cwid 20 GV cwid ^DEnter corner width: (20) IFZ cwid MacroDone GV int 50 GV int ^DEnter interval length: (50) IFZ int MacroDone IFN int MacroDone GETX X1 P1 GETX X2 P2 GETY Y1 P1 GETY Y2 P2 GV heit Y2-Y1 IFP heit HeitDone GV heit -heit GV Ybuf Y1 GV Y1 Y2 GV Y2 Ybuf :HeitDone GV width X2-X1 IFP width WidthDone GV width -width GV Xbuf X1 GV X1 X2 GV X2 X1 :WidthDone GN wN Width/int GN half wN/2 IFZ half-wN/2 Next1 GN wN wN-1 :Next1 GN wN wN+1 GV wint Width/wN FSTYLE Solid GN windex 0 :Wloop COLOR c2 BOX X1+wint*windex,Y1 X1+wint*(windex+1),Y1-bwid BOX X1+wint*windex,Y2 X1+wint*(windex+1),Y2+bwid COLOR c1 BOX X1+wint*(windex+1),Y1 X1+wint*(windex+2),Y1-bwid BOX X1+wint*(windex+1),Y2 X1+wint*(windex+2),Y2+bwid GN windex windex+2 IFP wN-windex-1 Wloop COLOR c2 BOX X2-wint,Y1 X2,Y1-bwid BOX X2-wint,Y2 X2,Y2+bwid GN hN heit/int GN half hN/2 IFZ half-hN/2 Next2 GN hN hN-1 :Next2 GN hN hN+1 GV hint heit/hN GN hindex 0 :Hloop COLOR c2 BOX X1,Y1+hint*hindex X1-bwid,Y1+hint*(hindex+1) BOX X2,Y1+hint*hindex X2+bwid,Y1+hint*(hindex+1) COLOR c1 BOX X1,Y1+hint*(hindex+1) X1-bwid,Y1+hint*(hindex+2) BOX X2,Y1+hint*(hindex+1) X2+bwid,Y1+hint*(hindex+2) GN hindex hindex+2 IFP hN-hindex-1 Hloop COLOR c2 BOX X1,Y2-hint X1-bwid,Y2 BOX X2,Y2-hint X2+bwid,Y2 :Corners COLOR c1 BOX X1,Y1 X1-cwid,Y1-cwid BOX X1,Y2 X1-cwid,Y2+cwid BOX X2,Y2 X2+cwid,Y2+cwid BOX X2,Y1 X2+cwid,Y1-cwid :MacroDone GETSETTINGS SELREST ENDM