annotate toolboxes/graph_visualisation/include/graphviz/color.h @ 0:e9a9cd732c1e tip

first hg version after svn
author wolffd
date Tue, 10 Feb 2015 15:05:51 +0000
parents
children
rev   line source
wolffd@0 1 /* $Id: color.h,v 1.7 2009/06/03 01:10:51 ellson Exp $ $Revision: 1.7 $ */
wolffd@0 2 /* vim:set shiftwidth=4 ts=8: */
wolffd@0 3
wolffd@0 4 /**********************************************************
wolffd@0 5 * This software is part of the graphviz package *
wolffd@0 6 * http://www.graphviz.org/ *
wolffd@0 7 * *
wolffd@0 8 * Copyright (c) 1994-2004 AT&T Corp. *
wolffd@0 9 * and is licensed under the *
wolffd@0 10 * Common Public License, Version 1.0 *
wolffd@0 11 * by AT&T Corp. *
wolffd@0 12 * *
wolffd@0 13 * Information and Software Systems Research *
wolffd@0 14 * AT&T Research, Florham Park NJ *
wolffd@0 15 **********************************************************/
wolffd@0 16
wolffd@0 17 #ifndef GV_COLOR_H
wolffd@0 18 #define GV_COLOR_H
wolffd@0 19
wolffd@0 20 /* #include "arith.h" */
wolffd@0 21
wolffd@0 22 #ifdef __cplusplus
wolffd@0 23 extern "C" {
wolffd@0 24 #endif
wolffd@0 25
wolffd@0 26 typedef struct hsvrgbacolor_t {
wolffd@0 27 char *name;
wolffd@0 28 unsigned char h, s, v;
wolffd@0 29 unsigned char r, g, b, a;
wolffd@0 30 } hsvrgbacolor_t;
wolffd@0 31
wolffd@0 32 /* possible representations of color in gvcolor_t */
wolffd@0 33 typedef enum { HSVA_DOUBLE, RGBA_BYTE, RGBA_WORD, CMYK_BYTE,
wolffd@0 34 RGBA_DOUBLE, COLOR_STRING, COLOR_INDEX } color_type_t;
wolffd@0 35
wolffd@0 36 /* gvcolor_t can hold a color spec in a choice or representations */
wolffd@0 37 typedef struct color_s {
wolffd@0 38 union {
wolffd@0 39 double RGBA[4];
wolffd@0 40 double HSVA[4];
wolffd@0 41 unsigned char rgba[4];
wolffd@0 42 unsigned char cmyk[4];
wolffd@0 43 int rrggbbaa[4];
wolffd@0 44 char *string;
wolffd@0 45 int index;
wolffd@0 46 } u;
wolffd@0 47 color_type_t type;
wolffd@0 48 } gvcolor_t;
wolffd@0 49
wolffd@0 50 #define COLOR_MALLOC_FAIL -1
wolffd@0 51 #define COLOR_UNKNOWN 1
wolffd@0 52 #define COLOR_OK 0
wolffd@0 53
wolffd@0 54 #ifdef __cplusplus
wolffd@0 55 }
wolffd@0 56 #endif
wolffd@0 57 #endif