!=====================================================================
! NGSF: Softfill, A Software Fill Package
!=====================================================================
!
! The graphics package SOFTFILL allows the user to fill a polygonal
! subset of the plotter frame in any of various ways. It contains the
! user-callable subroutines SFSGFA, SFWRLD, SFNORM, SFGETC, SFGETI,
! SFGETP, SFGETR, SFSETC, SFSETI, SFSETP, and SFSETR.
!
!---------------------------------------------------------------------
!
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~
! set/Get internal parameters
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~
!
! NG_SFRSET to reset all parameters to their default values.
!
! NG_SFSETC to give a value of type CHARACTER to a parameter.
! NG_SFSETI to give a value of type INTEGER to a parameter.
! NG_SFSETR to give a value of type REAL to a parameter.
! NG_SFSETP to define a new dot pattern.
!
! NG_SFGETC to get a value of type CHARACTER.
! NG_SFGETI to get a value of type INTEGER.
! NG_SFGETR to get a value of type REAL.
! NG_SFGETP to get the current dot pattern.
!
! *** CNCARG adding one internal parameter 'SC', specify the scaling
! factor of polymark drawn by the SPPS routine NG_POINTS. The
! default value is 1.0
!
! ~~~~~~~~~~~~~~~~
! Working Routines
! ~~~~~~~~~~~~~~~~
!
! NG_SFSGFA, NG_SFWRLD, and NG_SFNORM
!
! The routine SFSGFA can be made to fill polygons by calling the GKS
! routine GFA or by calling the lower-level SOFTFILL routines SFWRLD
! and SFNORM. If all area fills are done using SFSGFA, then the way
! in which they are done can be changed by modifying the value of a
! single internal parameter of SOFTFILL.
!
! The routines SFWRLD and SFNORM may be called directly by the user
! to fill polygons with parallel lines or with dots, polymarkers,
! or selected characters arrayed in a regular rectangular pattern.
! By calling these routines more than once for a given polygon, one
! can create effects like cross-hatching, use combinations of lines
! and dots, and so on.
!
! Use SFWRLD if the coordinates are user coordinates in the range
! specified by the current window (as defined by arguments 5 through
! 8 of the last call to the SPPS routine SET or by the last call to
! the GKS routine GSWN). Use SFNORM if the coordinates are fractional
! coordinates - real values between 0 and 1.
!
! *** CNCARG remove the working array arguments: DST, NST, IND,and NND
!
!---------------------------------------------------------------------
!
! Internal Parameters: SOFTFILL has eight (nine) internal parameters
!
! 'TY' Type of fill to be used by SFSGFA
!
! -1 to -4 => patterns using lines in 1 to 4 different directions
! and varying in density as the argument ICI varies;
!
! 0 => color fill, by calling GFA, with ICI specifying the color
! index;
!
! 1 => simulated color fill, using lines in one direction,
! with ICI specifying the color index;
!
! 2 => simulated color fill, using lines in two directions, with
! ICI specifying the color index).
!
! The default value is 0.
!
! Note: 'AN' and 'SP' used, and, 'DO' should be zero
!
!---------
!
! 'AN' Angle of fill lines, in degrees counterclockwise from horizontal.
! The default value is 0.0.
!
! 'SP' Spacing of fill lines, in the fractional coordinate system.
! The default value is 0.00125.
!
! Note: 'AN' and 'SP' will be used for all conditions
!
!---------
!
! 'DO' Dot fill selector (0 => line fill; non-zero => dot fill).
! Use a positive value to have NG_POINTS draw the dots or a
! negative value to have NG_DOTS draw them (masked by LDP).
! The default value is 0, which implies line fill.
!
! DO > 0: CALL NG_POINTS(XP, YP, NP, CH, 0, SZ=DS, IC=DC)
! DO < 0: CALL NG_DOTS (XP, YP, NP, DS, DC, 0)
!
! Note: 'DS', 'DC', 'CH', and 'LDP' used only for non-zero 'DO'
!
! 'DS' Dot size (fractional-system diameter) for the use in calls to
! NG_DOTS and NG_POINTS
! The default value is 0.01.
!
! 'DC' Dot color index for the use in calls to NG_DOTS and NG_POINTS.
! The default value is 1.
!
! 'CH' Character selector (-n => GKS polymarker n; 0 => dots;
! +n => CHAR(n)) for the use in calls to NG_POINTS.
! The default value is 0.
!
! 'LDP' An 8x8 array of type INTEGER, containing nothing but 0s (the
! dot is not drawn) and 1s (the dot is drawn), describing the
! dot pattern to be used when 'DO' is set non-zero to select
! dot fill, rather than line fill.
! The default value is 1.
!
!=====================================================================
! Refer "NCAR menu" for interfacing SOFTFILL in detail
!=====================================================================