        SUBROUTINE GSSCLP(VX0,VX1,VY0,VY1,AREA)
        DIMENSION AREA(4)
C
C        THIS SUBROUTINE SAVES THE CURRENT ABSOLUTE CLIPPING WINDOW AND
C        SETS A NEW ABSOLUTE CLIPPING WINDOW GIVEN VIRTUAL COORDINATES.
C        IT MAKES SURE THAT THE CLIPPING WINDOW NEVER LIES OUTSIDE THE
C        PHYSICAL DEVICE.
C
        INCLUDE GCCLIP.PRM
        INCLUDE GCDCHR.PRM
C
        AREA(1) = XCM0
        AREA(2) = XCM1
        AREA(3) = YCM0
        AREA(4) = YCM1
C
        CALL GSRST(VX0,VY0,AX0,AY0)
        CALL GSRST(VX1,VY1,AX1,AY1)
        XCM0 = AMAX1(AMIN1(AX0,AX1),0.0)
        YCM0 = AMAX1(AMIN1(AY0,AY1),0.0)
        XCM1 = AMIN1(XCLIPD,AMAX1(AX0,AX1))
        YCM1 = AMIN1(YCLIPD,AMAX1(AY0,AY1))
        RETURN
        END
