-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdemo_viewport.f90
executable file
·32 lines (30 loc) · 1.18 KB
/
demo_viewport.f90
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
program demo_viewport
use :: M_pixel
use :: M_pixel__writegif, only : writegif
implicit none
call prefsize(400, 400) ! set up drawing surface
call vinit()
call color(7)
call linewidth(40)
call clear()
call ortho2(-88.0, 88.0, -88.0, 88.0)
! draw the same circle, just changing viewport
call viewport( 0.0, 200.0, 0.0, 200.0 ); call draw_circle(1)
call viewport( 200.0, 400.0, 0.0, 200.0 ); call draw_circle(2)
call viewport( 0.0, 200.0, 200.0, 400.0 ); call draw_circle(3)
call viewport( 200.0, 400.0, 200.0, 400.0 ); call draw_circle(4)
call viewport( 250.0, 350.0, 150.0, 300.0 ); call draw_circle(5)
call writegif('viewport.3M_pixel.gif',P_pixel,P_colormap)
!call execute_command_line('display viewport.3M_pixel.gif')
call vexit()
contains
subroutine draw_circle(icolor)
integer,intent(in) :: icolor
call color(0)
call rect(-88.0,-88.0,88.0,88.0)
call color(icolor)
call makepoly()
call circle(0.0,0.0,88.0)
call closepoly()
end subroutine draw_circle
end program demo_viewport