Viewing contents of file '../idllib/idl_5.2/lib/colormap_applicable.pro'
; $Id: colormap_applicable.pro,v 1.1.4.1 1999/01/16 16:37:54 scottm Exp $
;
; Copyright (c) 1993-1999, Research Systems, Inc. All rights reserved.
; Unauthorized reproduction prohibited.
;+
; NAME:
; COLORMAP_APPLICABLE
;
; PURPOSE:
; Determine whether the current visual class supports the use of a colormap,
; and if so, whether colormap changes affect pre-displayed Direct Graphics
; or if the graphics must be redrawn to pick up colormap changes.
;
; CATEGORY:
; Direct Graphics, Color.
;
; CALLING SEQUENCE:
; result = COLORMAP_APPLICABLE(redrawRequired)
;
; INPUTS:
; None.
;
; Keyword Inputs:
; None.
;
; OUTPUTS:
; The function returns a long value of 1 if the current visual class allows
; modification of the color table, and 0 otherwise.
;
; redrawRequired: Set this to a named variable to retrieve a value
; indicating whether the visual class supports automatic
; updating of graphics. The value will be 0 if the
; graphics are updated automatically or 1 if the graphics
; must be redrawn to pick up changes to the colormap.
;
; EXAMPLE:
; To determine whether to redisplay an image after a colormap change:
;
; result = COLORMAP_APPLICABLE(redrawRequired)
; IF ((result GT 0) AND (redrawRequired GT 0)) THEN BEGIN
; my_redraw
; ENDIF
;
; MODIFICATION HISTORY:
; Written August 1998, ACY
;
;-
;
function colormap_applicable, redrawRequired
; return value:
; 1: colormap applicable for the given visual class
; 0: colormap is not applicable for this visual class
; return parameter redrawRequired (only valid if return value of function = 1)
; 1: direct graphics must be redrawn to pick up changes to colormap
; 0: direct graphics will be updated automatically
device, get_visual_name=visualName
case STRUPCASE(visualName) of
'STATICGRAY': begin
cmapApplies=1L
redrawRequired=1L
end
'GRAYSCALE': begin
cmapApplies=1L
redrawRequired=0L
end
'STATICCOLOR': begin
cmapApplies=1L
redrawRequired=1L
end
'PSEUDOCOLOR': begin
cmapApplies=1L
redrawRequired=0L
end
'TRUECOLOR': begin
device, get_decomposed=decomposed
cmapApplies=(decomposed ? 0L : 1L)
redrawRequired=1L
end
'DIRECTCOLOR': begin
cmapApplies=1L
redrawRequired=0L
end
ELSE: begin
cmapApplies=0L
redrawRequired=1L
end
ENDCASE
RETURN, cmapApplies
end