        SUBROUTINE GSWNDO(UXL,UXH,UYL,UYH,XOFF,YOFF,XAWDTH,YAHIGH)
	IMPLICIT NONE
        REAL*4 UXL,UXH,UYL,UYH,XOFF,YOFF,XAWDTH,YAHIGH
C
C       THIS SUBROUTINE PROVIDES DIGLIB V3'S WINDOW/VIEWPORT MECHANISM.
C
        INCLUDE DIGLIB$KOM:GCCLIP.PRM
        INCLUDE DIGLIB$KOM:GCDCHR.PRM
        INCLUDE DIGLIB$KOM:GCDPRM.PRM
C
C
        RCOS = 1.0
        RSIN = 0.0
        XS = XAWDTH/(UXH-UXL)
        YS = YAHIGH/(UYH-UYL)
        XT = XOFF - XS*UXL
        YT = YOFF - YS*UYL
        XCM0 = AMAX1(AMIN1(XOFF,XOFF+XAWDTH),0.0)
        YCM0 = AMAX1(AMIN1(YOFF,YOFF+YAHIGH),0.0)
        XCM1 = AMIN1(XCLIPD,AMAX1(XOFF,XOFF+XAWDTH))
        YCM1 = AMIN1(YCLIPD,AMAX1(YOFF,YOFF+YAHIGH))
        RETURN
        END
