/* Copyright (C) 1998 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: gxclipsr.h,v 1.2.6.1.2.1 2003/01/17 00:49:03 giles Exp $ */ /* Internals of clipsave/cliprestore */ #ifndef gxclipsr_INCLUDED # define gxclipsr_INCLUDED #include "gsrefct.h" /* * Unlike the graphics state stack, which is threaded through the actual * gstate objects, the clipping path stack is implemented with separate, * small objects. These are reference-counted, because they may be * shared by off-stack graphics states. */ #ifndef gx_clip_path_DEFINED # define gx_clip_path_DEFINED typedef struct gx_clip_path_s gx_clip_path; #endif #ifndef gx_clip_stack_DEFINED # define gx_clip_stack_DEFINED typedef struct gx_clip_stack_s gx_clip_stack_t; #endif struct gx_clip_stack_s { rc_header rc; gx_clip_path *clip_path; gx_clip_stack_t *next; }; #define private_st_clip_stack() /* in gsclipsr.c */\ gs_private_st_ptrs2(st_clip_stack, gx_clip_stack_t,\ "gx_clip_stack_t", clip_stack_enum_ptrs, clip_stack_reloc_ptrs,\ clip_path, next) #endif /* gxclipsr_INCLUDED */