/* Copyright (C) 1993, 1998, 1999 artofcode LLC. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA, 02111-1307. */ /*$Id: gsccolor.h,v 1.2.6.1.2.1 2003/01/17 00:49:02 giles Exp $ */ /* Client color structure definition */ #ifndef gsccolor_INCLUDED # define gsccolor_INCLUDED #include "gsstype.h" /* for extern_st */ /* Pattern instance, usable in color. */ #ifndef gs_pattern_instance_DEFINED # define gs_pattern_instance_DEFINED typedef struct gs_pattern_instance_s gs_pattern_instance_t; #endif /* * Define the maximum number of components in a client color. * This must be at least 4, and should be at least 6 to accommodate * hexachrome DeviceN color spaces. */ #define GS_CLIENT_COLOR_MAX_COMPONENTS 6 /* Paint (non-Pattern) colors */ typedef struct gs_paint_color_s { float values[GS_CLIENT_COLOR_MAX_COMPONENTS]; } gs_paint_color; /* General colors */ #ifndef gs_client_color_DEFINED # define gs_client_color_DEFINED typedef struct gs_client_color_s gs_client_color; #endif struct gs_client_color_s { gs_paint_color paint; /* also color for uncolored pattern */ gs_pattern_instance_t *pattern; }; extern_st(st_client_color); #define public_st_client_color() /* in gscolor.c */\ gs_public_st_ptrs1(st_client_color, gs_client_color, "gs_client_color",\ client_color_enum_ptrs, client_color_reloc_ptrs, pattern) #define st_client_color_max_ptrs 1 #endif /* gsccolor_INCLUDED */