# coyote: CGDEFAULTCOLOR

- coyote/Graphics
- [Source code]

Description

      The purpose of this function is to choose a default color for Coyote Graphics routines.

Categories

      Graphics

Returns

      Returns a scalar or vector (depends on the type of the input color) of color
      names (strings) to be used as the "color" in Coyote Graphics routines. If the
      MODE is 1 and the inputColor is of type LONG, then the return value is an array
      or scalar of type LONG.

Params

      inputcolour: in, optional
          The input color. May be undefined, a byte, integer, long, or string. If the
          device is in indexed color mode at the time the request is made, then all,
          byte, integer, and long values will be treated as indices into the current
          color table. The variable may be a vector.

Keywords

      background: in, optional, type=boolean
         If this keyword is set, the color is treated as a background color. Otherwise,
         it is treated as a drawing color.
      default: in, optional
          A color of any type allowed as the `inputColour`. Used if the `inputColour` is undefined.
      mode: in, optional, type=boolean
          The color mode. A 0 mean indexed color mode. A 1 means decomposed color mode.
          If not supplied in the call, the color mode is determined at run-time with `cgGetColorState`.
          The color mode is *always* determined at run time if the current graphics device
          is the PostScript device.
      traditional: in, optional, type=boolean, default=0
          Set this keyword if you are using the traditional color scheme of white foreground
          and black background. If this keyword is set, and the current graphics device is
          the PostScript device, the colors will be reversed, in the traditional IDL graphics
          way.

Examples

      Use as a device independent way to get a color::
         background = cgDefaultColor(bColor, /Background)
         color = cgDefaultColor(bColor)
         cgPlot, cgDemoData, Background=background, Color=color

Author

      FANNING SOFTWARE CONSULTING::
          David W. Fanning
          1645 Sheely Drive
          Fort Collins, CO 80526 USA
          Phone: 970-221-0438
          E-mail: david@idlcoyote.com
          Coyote's Guide to IDL Programming: http://www.idlcoyote.com

History

      Change History::
         Written, 24 December 2011. David W. Fanning.
         Modified to make sure a LONG integer in indexed color mode is in the range 0-255. 10 Jan 2012. DWF.
         Modified to make sure MODE is always determined at run-time for PostScript device. 14 Jan 2012. DWF.
         Allow other data types to be treated as color table index numbers, as long as they are in the
            range 0 to 255, and the MODE indicates indexed color. 7 March 2012. DWF.
         Modified so that the variable MODE will not change in the calling program program. 8 March 2012. DWF.
         Made FOR loop counter a LONG integer. 3 July 2012. DWF.
         More work on getting the MODE correct to handle LONG integers properly. Now, in PostScript, we get
             the current mode, except if we have been told what mode to be in. 21 July 2012. DWF.
         For numerical values less than 256, in indexed color state, I now return the values
               directly to the user. This should significantly speed up many Coyote Graphics
               processes. 14 December 2012. DWF.
         Modified to return byte and integer values as LONG decomposed integers, if decomposed
               mode is currently in effect. 14 December 2012. DWF.
         Now setting all background colors to WHITE, not BACKGROUND. 16 Dec 2012. DWF.
         Whoops! Forgot one of the background colors in the Traditional section. 11 Jan 2013. DWF.
         Made the counters in the loops long integers to accommodate large color vectors. 29 Apr 2013. Joe Sapp.
         Better error handling if/when long integers are used in indexed color mode. 17 Sept 2013. DWF.

Copyright

      Copyright (c) 2011, Fanning Software Consulting, Inc.