home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / x / xtici.zip / xtici / widgets / HueleafP.h < prev    next >
C/C++ Source or Header  |  1991-08-28  |  4KB  |  101 lines

  1. /*
  2.  * Code and supporting documentation (c) Copyright 1990 1991 Tektronix, Inc.
  3.  *     All Rights Reserved
  4.  * 
  5.  * This file is a component of an X Window System client which uses the Xcms 
  6.  * Color Management System.  TekColor is a trademark of Tektronix, Inc.  The
  7.  * TekColor Editor is the subject of U.S. and foreign patents pending.  The
  8.  * term "TekHVC" designates a particular color space that is the subject of
  9.  * U.S. Patent No. 4,985,853 (equivalent foreign patents pending).
  10.  * Permission is hereby granted to use, copy, modify, sell, and otherwise
  11.  * distribute this software and its documentation for the X Window System
  12.  * environment, for any purpose and without fee, provided that:
  13.  * 
  14.  * 1.    The code and documentation are only used to implement a 
  15.  *      TekColor Editor in an X Window System environment; and
  16.  * 2.    This copyright and permission notice is reproduced in all copies
  17.  *     of the code and in supporting documentation.
  18.  * 
  19.  * Permission is granted to modify this code as required to allow it to
  20.  * be compiled on any host computer, provided that the functionality of
  21.  * the TekColor Editor is not modified in any way.  A description of any 
  22.  * modifications must be sent to Tektronix, Inc.  Contact 
  23.  * Tektronix Inc., P.O. Box 1000, Mail Station 60-850, 
  24.  * Network Displays Division Engineering, Wilsonville, OR 97070.
  25.  *
  26.  * Tektronix makes no representation about the suitability of this software
  27.  * for any purpose.  It is provided "as is" and with all faults.
  28.  * 
  29.  * TEKTRONIX DISCLAIMS ALL WARRANTIES APPLICABLE TO THIS SOFTWARE,
  30.  * INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
  31.  * PARTICULAR PURPOSE.  IN NO EVENT SHALL TEKTRONIX BE LIABLE FOR ANY
  32.  * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
  33.  * RESULTING FROM LOSS OF USE, DATA, OR PROFITS, WHETHER IN AN ACTION OF
  34.  * CONTRACT, NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
  35.  * CONNECTION WITH THE USE OR THE PERFORMANCE OF THIS SOFTWARE.
  36.  *  
  37.  *  
  38.  *    NAME
  39.  *         HueleafP.h -- definitions for Hueleaf.c
  40.  *
  41.  *    DESCRIPTION
  42.  *        
  43.  *
  44.  *    HISTORY
  45.  *
  46.  *    HISTORY END
  47.  *
  48.  */
  49.  
  50. #ifndef LINT
  51. #ifdef RCS_ID
  52. static char *rcsid= "$Header: HueleafP.h,v 1.1 91/08/22 11:21:42 adamsc Exp $";
  53. #endif /* RCS_ID */
  54. #endif /* LINT */
  55.  
  56. #ifndef _HueleafP_h
  57. #define _HueleafP_h
  58.  
  59. #include "Hueleaf.h"
  60. #include <X11/Xaw/SimpleP.h>
  61.  
  62. typedef struct {
  63.     XtPointer extension;
  64. } HueleafClassPart;
  65.  
  66. typedef struct _HueleafClassRec {
  67.     CoreClassPart        core_class;
  68.     SimpleClassPart            simple_class;
  69.     HueleafClassPart        hueleaf_class;
  70. } HueleafClassRec;
  71.  
  72. extern HueleafClassRec hueleafClassRec;
  73.  
  74. #define ChromaSamples 10
  75.  
  76. typedef struct {                /* resources */
  77.     XcmsColor *pHvc;
  78.     Pixel base;            /* controls shading */
  79.     Pixel fgpixel;        /* color index of lines */
  80.     XtCallbackList activate;    /* could be arm, disarm, drag */
  81.  
  82.     /* private state */
  83.     GC leafGC;
  84.     XcmsColor curhvc;
  85.     XcmsFloat cValue[ChromaSamples];    /* pre-calculated for each hue */
  86.     XcmsFloat maxChroma[ChromaSamples];    /* pre-calculated for each hue */
  87.     XcmsFloat pValue[ChromaSamples];    /* pre-calculated for each hue */
  88.     XcmsFloat pChroma[ChromaSamples];    /* pre-calculated for each hue */
  89.     int lastx, lasty;    /* x,y of cur V,C when last drawn */
  90.     Bool dragging;
  91.     XcmsCCC pXcmsCCC;    /* The Color Conversion Context for the screen */
  92. } HueleafPart;
  93.  
  94. typedef struct _HueleafRec {
  95.     CorePart        core;
  96.     SimplePart          simple;
  97.     HueleafPart        hueleaf;
  98. } HueleafRec;
  99.  
  100. #endif  /* _HueleafP_h */
  101.