PROGRAM TestBlockPutR
?
?   Program Demonstrates F-Basic BLOCK Functions For
?   Capturing Image Data And Moving It To Different Locations
?   In The Current Output Window. Draws And Replicates 3
?   Different Objects Using BLOCK_RPUT
?
INTEGER I,J,K,L

I=WINDOW #1(0,0,640,200,0,0,0,0,-1,-1,31,@"WINDOW1",-1)
CURS_INV

? Create And Capture First Image

COLOR_BOXFILL #3 (0,30,30,70,70)
COLOR_BOX #2 (0,30,30,70,70)
COLOR_LINE #2 (3,0,0,40,40)
COLOR_LINE #2 (0,70,30,30,70)
I=BLOCK_GET #1 (0,30,30,70,70)

? Redisplay First Image

COLOR_POINT (0,0)
FOR K=0 TO 2
   FOR I=0 TO 5
      J=BLOCK_RPUT #1 (30+I*100,30+K*50,C0'16)
   NEXT I
NEXT K

? Create And Capture Second Image

COLOR_ELLIPSE #1 (100,75,10,10)
COLOR_BOX #3 (0,85,60,115,90)
I=BLOCK_GET #2 (0,85,60,115,90)

? Redisplay Second Image

COLOR_POINT (0,0)
FOR K=0 TO 3
   FOR I=0 TO 4
      J=BLOCK_RPUT #2 (85+I*100,10+K*50,C0'16)
   NEXT I
NEXT K

? Create And Capture Third Image

COLOR_BOXFILL #2 (0,95,45,105,55)
I=BLOCK_GET #20 (0,95,45,105,55)

? Redisplay Third Image

COLOR_POINT (0,0)
FOR K=0 TO 2
   FOR I=0 TO 4
      J=BLOCK_RPUT #20 (95+I*100,45+K*50,C0'16)
   NEXT I
NEXT K

DELAY(100)
WINDOW_CLOSE #1
BLOCK_CLOSE #1
BLOCK_CLOSE #2
BLOCK_CLOSE #20
END
