summaryrefslogtreecommitdiff
path: root/base/gxgstate.h
diff options
context:
space:
mode:
authorRobin Watts <robin.watts@artifex.com>2018-12-17 11:18:07 +0000
committerRobin Watts <robin.watts@artifex.com>2019-01-07 19:42:24 +0000
commite91b67894a28c518b34e0daf75d79715c4aa16e4 (patch)
treee057e05b39777354949d3a2752a5743a86462604 /base/gxgstate.h
parent763a5f4c3bf94cd7cc3d9fcdcde3d7cac4f38796 (diff)
downloadghostpdl-e91b67894a28c518b34e0daf75d79715c4aa16e4.tar.gz
Remove some blah_DEFINED cruft.
Now we properly "include what we use" let's sanitise the horrid blah_DEFINED ifdeffery (i.e. kill it where possible). Also, we update the .c dependencies in the base/psi makefiles to be correct. Unfortunately, this new correct set of dependencies causes nmake to soil itself and die with an out of memory error. After much experimentation, I've come to the conclusion that this is because it copes poorly with given the same file as a dependency multiple times. Sadly, our style of declaring dependencies in the following style: foo_h=$(BLAH)/foo.h $(std_h) bar_h=$(BLAH)/bar.h $(foo_h) $(std_h) baz_h=$(BLAH)/baz.h $(foo_h) $(std_h) means that a .obj file that depends on $(foo_h) $(bar_h) and $(baz_h) ends up depending on foo.h twice, and std.h three times. I have therefore changed the style of dependencies used to be more standard. We still define: foo_h=$(BLAH)/foo.h so each .obj file rule can depend on $(foo_h) etc as required, but the dependencies between each .h file are expressed in normal rules at the end of the file in a dedicated "# Dependencies" section that we can now autogenerate.
Diffstat (limited to 'base/gxgstate.h')
-rw-r--r--base/gxgstate.h55
1 files changed, 5 insertions, 50 deletions
diff --git a/base/gxgstate.h b/base/gxgstate.h
index 798c5d888..00d8da647 100644
--- a/base/gxgstate.h
+++ b/base/gxgstate.h
@@ -37,7 +37,11 @@
#include "gscspace.h"
#include "gxdcolor.h"
#include "gxstate.h"
-#include "gsgstate.h"
+#include "gsfont.h"
+#include "gxpath.h"
+#include "gsccolor.h"
+#include "gsht1.h"
+#include "gxclipsr.h"
/*
@@ -46,24 +50,6 @@
* but making this change would require editing too much code.
*/
-/* Opaque types referenced by the color rendering state. */
-#ifndef gs_halftone_DEFINED
-# define gs_halftone_DEFINED
-typedef struct gs_halftone_s gs_halftone;
-#endif
-#ifndef gx_device_color_DEFINED
-# define gx_device_color_DEFINED
-typedef struct gx_device_color_s gx_device_color;
-#endif
-#ifndef gx_device_halftone_DEFINED
-# define gx_device_halftone_DEFINED
-typedef struct gx_device_halftone_s gx_device_halftone;
-#endif
-#ifndef gs_color_space_DEFINED
-# define gs_color_space_DEFINED
-typedef struct gs_color_space_s gs_color_space;
-#endif
-
/*
* We need some special memory management for the components of a
* c.r. state, as indicated by the following notations on the elements:
@@ -190,11 +176,6 @@ typedef struct gs_gstate_color_s {
*/
#define st_cr_state_num_ptrs 14
-#ifndef gs_devicen_color_map_DEFINED
-# define gs_devicen_color_map_DEFINED
-typedef struct gs_devicen_color_map_s gs_devicen_color_map;
-#endif
-
struct gs_devicen_color_map_s {
bool use_alt_cspace;
separation_type sep_type;
@@ -228,32 +209,6 @@ typedef struct gs_xstate_trans_flags {
#define gs_gstate_client_data(pgs) ((pgs)->client_data)
-/* Opaque types referenced by the graphics state. */
-#ifndef gx_path_DEFINED
-# define gx_path_DEFINED
-typedef struct gx_path_s gx_path;
-#endif
-#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
-#ifndef gs_color_space_DEFINED
-# define gs_color_space_DEFINED
-typedef struct gs_color_space_s gs_color_space;
-#endif
-#ifndef gs_client_color_DEFINED
-# define gs_client_color_DEFINED
-typedef struct gs_client_color_s gs_client_color;
-#endif
-#ifndef gs_font_DEFINED
-# define gs_font_DEFINED
-typedef struct gs_font_s gs_font;
-#endif
-
/* Define the graphics state structure itself. */
/*
* Note that the ctm member is a gs_matrix_fixed. As such, it cannot be