/src/ghostpdl/base/gxdevcli.h
Line | Count | Source (jump to first uncovered line) |
1 | | /* Copyright (C) 2001-2024 Artifex Software, Inc. |
2 | | All Rights Reserved. |
3 | | |
4 | | This software is provided AS-IS with no warranty, either express or |
5 | | implied. |
6 | | |
7 | | This software is distributed under license and may not be copied, |
8 | | modified or distributed except as expressly authorized under the terms |
9 | | of the license contained in the file LICENSE in this distribution. |
10 | | |
11 | | Refer to licensing information at http://www.artifex.com or contact |
12 | | Artifex Software, Inc., 39 Mesa Street, Suite 108A, San Francisco, |
13 | | CA 94129, USA, for further information. |
14 | | */ |
15 | | |
16 | | |
17 | | /* Definitions for device clients */ |
18 | | |
19 | | #ifndef gxdevcli_INCLUDED |
20 | | # define gxdevcli_INCLUDED |
21 | | |
22 | | #include "gsdevice.h" |
23 | | #include "stdint_.h" |
24 | | #include "gscompt.h" |
25 | | #include "gsdcolor.h" |
26 | | #include "gsmatrix.h" |
27 | | #include "gsiparam.h" /* requires gsmatrix.h */ |
28 | | #include "gsrefct.h" |
29 | | #include "gsropt.h" |
30 | | #include "gsstruct.h" |
31 | | #include "gstparam.h" |
32 | | #include "gsxfont.h" |
33 | | #include "gxbitmap.h" |
34 | | #include "gxcindex.h" |
35 | | #include "gxcvalue.h" |
36 | | #include "gxfixed.h" |
37 | | #include "gxtext.h" |
38 | | #include "gxcmap.h" |
39 | | #include "gsnamecl.h" |
40 | | #include "gp.h" |
41 | | #include "gscms.h" |
42 | | #include "gxrplane.h" |
43 | | #include "gxdda.h" |
44 | | #include "gxpath.h" |
45 | | #include "gsimage.h" |
46 | | |
47 | | /* See Drivers.htm for documentation of the driver interface. */ |
48 | | |
49 | | /* ---------------- Memory management ---------------- */ |
50 | | |
51 | | /* |
52 | | * NOTE: if you write code that creates device instances (either with |
53 | | * gs_copydevice or by allocating them explicitly), allocates device |
54 | | * instances as either local or static variables (actual instances, not |
55 | | * pointers to instances), or sets the target of forwarding devices, please |
56 | | * read the following documentation carefully. The rules for doing these |
57 | | * things changed substantially in release 5.68, in a |
58 | | * non-backward-compatible way, and unfortunately we could not find a way to |
59 | | * make the compiler give an error at places that need changing. |
60 | | */ |
61 | | |
62 | | /* |
63 | | * Device instances are managed with reference counting: when the last |
64 | | * reference to a device from a graphics state or the target field of a |
65 | | * forwarding device is removed, the device is normally freed. However, |
66 | | * some device instances are referenced in other ways (for example, from |
67 | | * objects in the PostScript interpreter, or from library client code) and |
68 | | * will be freed by the garbage collector (if any) or explicitly: they |
69 | | * should not be freed by reference counting. These are called "retained" |
70 | | * device instances. Every device instance remembers whether or not it is |
71 | | * retained, and an instance is freed iff its reference count is zero and it |
72 | | * is not retained. |
73 | | * |
74 | | * Normally devices are initialized as not retained. However, devices |
75 | | * initialized by calling gx_device_init(pdev, proto, memory, false), or |
76 | | * created by gs_copydevice are marked as retained. You can also set the |
77 | | * retention status of a device explicitly with gx_device_retain(pdev, |
78 | | * true-or-false). Note that if you change a retained device to |
79 | | * non-retained, if there are no references to it from graphics states or |
80 | | * targets, it will be freed immediately. |
81 | | * |
82 | | * The preferred technique for creating a new device is now gs_copydevice. |
83 | | * There are a number of places in the code where memory is explicitly |
84 | | * allocated, then initialized with gx_device_init. These should gradually |
85 | | * be replaced. |
86 | | * |
87 | | * There are 3 ways that a device structure might be allocated: |
88 | | * 1) Allocated dynamically, e.g., |
89 | | * gx_device *pdev_new; |
90 | | * gs_copydevice(&pdev_new, pdev_old, memory); |
91 | | * 2) Declared as a local or static variable, e.g., |
92 | | * gx_device devv; |
93 | | * or |
94 | | * const gx_device devc = ...; |
95 | | * 3) Embedded in an object allocated in one of the above ways. |
96 | | * If you allocate a device using #2 or #3, you must either mark it as |
97 | | * retained by calling gx_device_retain(pdev, true) or initialize it with a |
98 | | * NULL memory. If you do not do this, an attempt will be made to free the |
99 | | * device, corrupting memory. Note that when memory is NULL, the finalize |
100 | | * method of the device will not be called when it is freed, so you cannot |
101 | | * use it for cleanup. */ |
102 | | |
103 | | /* |
104 | | * Do not set the target of a forwarding device with an assignment like |
105 | | * fdev->target = tdev; |
106 | | * You must use the procedure |
107 | | * gx_device_set_target(fdev, tdev); |
108 | | * Note that the first argument is a gx_device_forward *, not a gx_device *. |
109 | | * |
110 | | * We could have changed the member name "target" when this became |
111 | | * necessary, so the compiler would flag places that needed editing, but |
112 | | * there were literally hundreds of places that only read the target member |
113 | | * that we would have had to change, so we decided to leave the name alone. |
114 | | */ |
115 | | |
116 | | /* ---------------- Auxiliary types and structures ---------------- */ |
117 | | |
118 | | /* We need an abstract type for the pattern instance, */ |
119 | | /* for pattern management. */ |
120 | | typedef struct gs_pattern1_instance_s gs_pattern1_instance_t; |
121 | | |
122 | | /* Define the type for colors passed to the higher-level procedures. */ |
123 | | typedef gx_device_color gx_drawing_color; |
124 | | |
125 | | /* Define a type for telling get_alpha_bits what kind of object */ |
126 | | /* is being rendered. */ |
127 | | typedef enum { |
128 | | go_text, |
129 | | go_graphics |
130 | | } graphics_object_type; |
131 | | |
132 | | /* Define an edge of a trapezoid. Requirement: end.y >= start.y. */ |
133 | | typedef struct gs_fixed_edge_s { |
134 | | gs_fixed_point start; |
135 | | gs_fixed_point end; |
136 | | } gs_fixed_edge; |
137 | | |
138 | | /* Define the parameters passed to get_bits_rectangle. */ |
139 | | typedef struct gs_get_bits_params_s gs_get_bits_params_t; |
140 | | |
141 | | /* Define the structure for device color capabilities. */ |
142 | | typedef struct gx_device_anti_alias_info_s { |
143 | | int text_bits; /* 1,2,4 */ |
144 | | int graphics_bits; /* ditto */ |
145 | | } gx_device_anti_alias_info; |
146 | | |
147 | | typedef int32_t frac31; /* A fraction value in [-1,1]. |
148 | | Represents a color (in [0,1]) |
149 | | or a color difference (in [-1,1]) in shadings. */ |
150 | | |
151 | | /* Define an edge of a linear color trapezoid. Requirement: end.y >= start.y. */ |
152 | | typedef struct gs_linear_color_edge_s { |
153 | | gs_fixed_point start; |
154 | | gs_fixed_point end; |
155 | | const frac31 *c0, *c1; |
156 | | fixed clip_x; |
157 | | } gs_linear_color_edge; |
158 | | |
159 | | /* |
160 | | * Possible values for the separable_and_linear flag in the |
161 | | * gx_device_color_info structure. These form an order, with lower |
162 | | * values having weaker properties. |
163 | | * |
164 | | * GX_CINFO_UNKNOWN_SEP_LIN |
165 | | * The properties of the color encoding are not yet known. This is |
166 | | * always a safe default value. |
167 | | * |
168 | | * GX_CINFO_SEP_LIN_NONE |
169 | | * The encoding is not separable and linear. If this value is set, |
170 | | * the device must provide an encode_color method, either directly |
171 | | * or via map_rgb_color/map_cmyk_color methods. This setting is |
172 | | * only legitimate for color models with 4 or fewer components. |
173 | | * |
174 | | * GX_CINFO_SEP_LIN |
175 | | * A separable and linear encoding has the separability and |
176 | | * linearity properties. |
177 | | * |
178 | | * Encodings with this property are completely characterized |
179 | | * by the comp_shift array. Hence, there is no need to provide |
180 | | * an encode_color procedure for such devices, though the device |
181 | | * creator may choose to do so for performance reasons (e.g.: when |
182 | | * each color component is assigned a byte). |
183 | | * |
184 | | * Note that if the device encodes tags, the comp_shift array must |
185 | | * provide a shift (and mask) for the tag component in the num_components |
186 | | * element of the array. Used in gx_default_fill_linear_color_scanline. |
187 | | * |
188 | | * GX_CINFO_SEP_LIN_NON_STANDARD |
189 | | * A separable and linear encoding has the separability and |
190 | | * linearity properties. In addition, we know that this encoding |
191 | | * is NOT the 'standard' one. (i.e. it is not compatible with the |
192 | | * encoding used by the pdf14 compositor). |
193 | | * |
194 | | * Encodings with this property are completely characterized |
195 | | * by the comp_shift array. Hence, there is no need to provide |
196 | | * an encode_color procedure for such devices, though the device |
197 | | * creator may choose to do so for performance reasons (e.g.: when |
198 | | * each color component is assigned a byte). |
199 | | * |
200 | | * GX_CINFO_SEP_LIN_STANDARD |
201 | | * A separable and linear encoding has the separability and |
202 | | * linearity properties. In addition, we know that this encoding |
203 | | * is the 'standard' one. (i.e. it is compatible with the encoding |
204 | | * used by the pd14 compositor). |
205 | | * |
206 | | * Encodings with this property are completely characterized |
207 | | * by the comp_shift array. Hence, there is no need to provide |
208 | | * an encode_color procedure for such devices, though the device |
209 | | * creator may choose to do so for performance reasons (e.g.: when |
210 | | * each color component is assigned a byte). |
211 | | */ |
212 | | |
213 | | /* Note: The arithmetic ordering for these values is relied upon |
214 | | * in tests (see colors_are_separable_and_linear below) for |
215 | | * separability and linearity. Change them with care! */ |
216 | | typedef enum { |
217 | | GX_CINFO_UNKNOWN_SEP_LIN = -1, |
218 | | GX_CINFO_SEP_LIN_NONE = 0, |
219 | | GX_CINFO_SEP_LIN = 1, |
220 | | GX_CINFO_SEP_LIN_NON_STANDARD = 2, |
221 | | GX_CINFO_SEP_LIN_STANDARD = 3 |
222 | | } gx_color_enc_sep_lin_t; |
223 | | |
224 | | /* |
225 | | * Enumerator to indicate if a color model will support overprint mode. |
226 | | * |
227 | | * Only "DeviceCMYK" color space support this option, but we interpret |
228 | | * this designation some broadly: a DeviceCMYK color model is any sub- |
229 | | * tractive color model that provides the components Cyan, Magenta, |
230 | | * Yellow, and Black, and maps the DeviceCMYK space directly to these |
231 | | * components. This includes DeviceCMYK color models with spot colors, |
232 | | * and DeviceN color models that support the requisite components (the |
233 | | * latter may vary from Adobe's implementations; this is not easily |
234 | | * tested). |
235 | | * |
236 | | * In principle this parameter could be a boolean set at initialization |
237 | | * time. Primarily for historical reasons, the determination of whether |
238 | | * or not a color model supports overprint is delayed until this |
239 | | * information is required, hence the use of an enumeration with an |
240 | | * "unknown" setting. |
241 | | * |
242 | | */ |
243 | | typedef enum { |
244 | | GX_CINFO_OPMSUPPORTED_UNKNOWN = -1, |
245 | | GX_CINFO_OPMSUPPORTED_NOT = 0, |
246 | | GX_CINFO_OPMSUPPORTED = 1 |
247 | | } gx_cm_opmsupported_t; |
248 | | |
249 | | /* component index value used to indicate no color component. */ |
250 | 23.3M | #define GX_CINFO_COMP_NO_INDEX 0xff |
251 | | |
252 | | /* |
253 | | * Additional possible value for cinfo.gray_index, to indicate which |
254 | | * component, if any, qualifies as the "gray" component. |
255 | | */ |
256 | | #define GX_CINFO_COMP_INDEX_UNKNOWN 0xfe |
257 | | |
258 | | /* |
259 | | * The enlarged color model information structure: Some of the |
260 | | * information that was implicit in the component number in |
261 | | * the earlier conventions (component names, polarity, mapping |
262 | | * functions) are now explicitly provided. |
263 | | * |
264 | | * Also included is some information regarding the encoding of |
265 | | * color information into gx_color_index. Some of this information |
266 | | * was previously gathered indirectly from the mapping |
267 | | * functions in the existing code, specifically to speed up the |
268 | | * halftoned color rendering operator (see |
269 | | * gx_dc_ht_colored_fill_rectangle in gxcht.c). The information |
270 | | * is now provided explicitly because such optimizations are |
271 | | * more critical when the number of color components is large. |
272 | | * |
273 | | * Note: no pointers have been added to this structure, so there |
274 | | * is no requirement for a structure descriptor. |
275 | | */ |
276 | | typedef struct gx_device_color_info_s { |
277 | | |
278 | | /* |
279 | | * max_components is the maximum number of components for all |
280 | | * color models supported by this device. This does not include |
281 | | * any alpha components. |
282 | | */ |
283 | | uchar max_components; |
284 | | |
285 | | /* |
286 | | * The number of color components. This does not include any |
287 | | * alpha-channel information, which may be integrated into |
288 | | * the gx_color_index but is otherwise passed as a separate |
289 | | * component. |
290 | | */ |
291 | | uchar num_components; |
292 | | |
293 | | /* |
294 | | * Polarity of the components of the color space, either |
295 | | * additive or subtractive. This is used to interpret transfer |
296 | | * functions and halftone threshold arrays. Possible values |
297 | | * are GX_CM_POLARITY_ADDITIVE or GX_CM_POLARITY_SUBTRACTIVE |
298 | | */ |
299 | | gx_color_polarity_t polarity; |
300 | | |
301 | | /* |
302 | | * The number of bits of gx_color_index actually used. |
303 | | * This must be <= ARCH_SIZEOF_COLOR_INDEX, which is usually 64. |
304 | | * Note that we now have planar devices which can support much more. |
305 | | * Changing this to a ushort to reflect this. |
306 | | */ |
307 | | ushort depth; |
308 | | |
309 | | /* |
310 | | * Index of the gray color component, if any. The max_gray and |
311 | | * dither_gray values apply to this component only; all other |
312 | | * components use the max_color and dither_color values. |
313 | | * |
314 | | * Note: This field refers to a 'gray' colorant because of the |
315 | | * past use of the max_gray/color and dither_grays/colors fields. |
316 | | * Prior to 8.00, the 'gray' values were used for monochrome |
317 | | * devices and the 'color' values for RGB and CMYK devices. |
318 | | * Ideally we would like to have the flexibiiity of allowing |
319 | | * different numbers of intensity levels for each colorant. |
320 | | * However this is not compatible with the pre 8.00 devices. |
321 | | * With post 8.00 devices, we can have two different numbers of |
322 | | * intensity levels. For one colorant (which is specified by |
323 | | * the gray_index) we will use the max_gray/dither_grays values. |
324 | | * The remaining colorants will use the max_color/dither_colors |
325 | | * values. The colorant which is specified by the gray_index |
326 | | * value does not have to be gray or black. For example if we |
327 | | * have an RGB device and we want 32 intensity levels for red and |
328 | | * blue and 64 levels for green, then we can set gray_index to |
329 | | * 1 (the green colorant), set max_gray to 63 and dither_grays to |
330 | | * 64, and set max_color to 31 and dither_colors to 32. |
331 | | * |
332 | | * This will be GX_CINFO_COMP_NO_INDEX if there is no 'gray' |
333 | | * component. |
334 | | */ |
335 | | byte gray_index; |
336 | | |
337 | | /* |
338 | | * max_gray and max_color are the number of distinct native |
339 | | * intensity levels, less 1, for the 'gray' and all other color |
340 | | * components, respectively. For nearly all current devices |
341 | | * that support both 'gray' and non-'gray' components, the two |
342 | | * parameters have the same value. (See comment for gray_index.) |
343 | | * |
344 | | * dither_grays and dither_colors are the number of intensity |
345 | | * levels between which halftoning can occur, for the 'gra'y and |
346 | | * all other color components, respectively. This is |
347 | | * essentially redundant information: in all reasonable cases, |
348 | | * dither_grays = max_gray + 1 and dither_colors = max_color + 1. |
349 | | * These parameters are, however, extensively used in the |
350 | | * current code, and thus have been retained. |
351 | | * |
352 | | * Note that the non-'gray' values may now be relevant even if |
353 | | * num_components == 1. This simplifies the handling of devices |
354 | | * with configurable color models which may be set for a single |
355 | | * non-'gray' color model. |
356 | | */ |
357 | | uint max_gray; /* # of distinct color levels -1 */ |
358 | | uint max_color; |
359 | | |
360 | | uint dither_grays; |
361 | | uint dither_colors; |
362 | | |
363 | | /* |
364 | | * Information to control super-sampling of objects to support |
365 | | * anti-aliasing. |
366 | | */ |
367 | | gx_device_anti_alias_info anti_alias; |
368 | | |
369 | | /* |
370 | | * Flag to indicate if gx_color_index for this device may be divided |
371 | | * into individual fields for each component. This is almost always |
372 | | * the case for printers, and is the case for most modern displays |
373 | | * as well. When this is the case, halftoning may be performed |
374 | | * separately for each component, which greatly simplifies processing |
375 | | * when the number of color components is large. |
376 | | * |
377 | | * If the gx_color_index is separable in this manner, the comp_shift |
378 | | * array provides the location of the low-order bit for each |
379 | | * component. This may be filled in by the client, but need not be. |
380 | | * If it is not provided, it will be calculated based on the values |
381 | | * in the max_gray and max_color fields as follows: |
382 | | * |
383 | | * comp_shift[num_components - 1] = 0, |
384 | | * comp_shift[i] = comp_shift[i + 1] |
385 | | * + ( i == gray_index ? ceil(log2(max_gray + 1)) |
386 | | * : ceil(log2(max_color + 1)) ) |
387 | | * |
388 | | * The comp_mask and comp_bits fields should be left empty by the client. |
389 | | * They will be filled in during initialization using the following |
390 | | * mechanism: |
391 | | * |
392 | | * comp_bits[i] = ( i == gray_index ? ceil(log2(max_gray + 1)) |
393 | | * : ceil(log2(max_color + 1)) ) |
394 | | * |
395 | | * comp_mask[i] = (((gx_color_index)1 << comp_bits[i]) - 1) |
396 | | * << comp_shift[i] |
397 | | * |
398 | | * (For current devices, it is almost always the case that |
399 | | * max_gray == max_color, if the color model contains both gray and |
400 | | * non-gray components.) |
401 | | * |
402 | | * If separable_and_linear is not set, the data in the other fields |
403 | | * is unpredictable and should be ignored. |
404 | | */ |
405 | | gx_color_enc_sep_lin_t separable_and_linear; |
406 | | byte comp_shift[GX_DEVICE_COLOR_MAX_COMPONENTS]; |
407 | | byte comp_bits[GX_DEVICE_COLOR_MAX_COMPONENTS]; |
408 | | gx_color_index comp_mask[GX_DEVICE_COLOR_MAX_COMPONENTS]; |
409 | | |
410 | | /* |
411 | | * Pointer to name for the process color model. |
412 | | */ |
413 | | const char * cm_name; |
414 | | |
415 | | /* |
416 | | * Indicate if overprint mode is supported. This is only supported |
417 | | * for color models that have "DeviceCMYK" like behaivor: they support |
418 | | * the cyan, magenta, yellow, and black color components, and map the |
419 | | * components of a DeviceCMYK color space directly to these compoents. |
420 | | * Most such color spaces will have the name DeviceCMYK, but it is |
421 | | * also possible for DeviceN color models this behavior. |
422 | | * |
423 | | * If opmsupported has the value GX_CINFO_OPMSUPPORTED, the process_comps will |
424 | | * be a bit mask, with the (1 << i) bit set if i'th component is the |
425 | | * cyan, magenta, yellow, or black component and black_component will |
426 | | * be set to the index of a black component. |
427 | | */ |
428 | | gx_cm_opmsupported_t opmsupported; |
429 | | gx_color_index process_comps; |
430 | | uint black_component; |
431 | | bool use_antidropout_downscaler; |
432 | | } gx_device_color_info; |
433 | | |
434 | | /* Test to see if colors are separable and linear */ |
435 | | static inline int colors_are_separable_and_linear(gx_device_color_info *info) |
436 | 273M | { |
437 | 273M | return (info->separable_and_linear >= GX_CINFO_SEP_LIN); |
438 | 273M | } Unexecuted instantiation: imain.c:colors_are_separable_and_linear Unexecuted instantiation: gconfig.c:colors_are_separable_and_linear Unexecuted instantiation: gximage3.c:colors_are_separable_and_linear Unexecuted instantiation: gximage4.c:colors_are_separable_and_linear Unexecuted instantiation: gxmclip.c:colors_are_separable_and_linear Unexecuted instantiation: gsptype1.c:colors_are_separable_and_linear Unexecuted instantiation: gxp1fill.c:colors_are_separable_and_linear Unexecuted instantiation: gxpcmap.c:colors_are_separable_and_linear Unexecuted instantiation: gxicolor.c:colors_are_separable_and_linear Unexecuted instantiation: gsdps1.c:colors_are_separable_and_linear Unexecuted instantiation: gsciemap.c:colors_are_separable_and_linear Unexecuted instantiation: gstrans.c:colors_are_separable_and_linear Unexecuted instantiation: gximag3x.c:colors_are_separable_and_linear Unexecuted instantiation: gxblend.c:colors_are_separable_and_linear Unexecuted instantiation: gdevp14.c:colors_are_separable_and_linear Unexecuted instantiation: gdevdevn.c:colors_are_separable_and_linear Unexecuted instantiation: gsequivc.c:colors_are_separable_and_linear Unexecuted instantiation: gdevdcrd.c:colors_are_separable_and_linear Unexecuted instantiation: gscpixel.c:colors_are_separable_and_linear Unexecuted instantiation: gdevbbox.c:colors_are_separable_and_linear Unexecuted instantiation: gdevprn.c:colors_are_separable_and_linear Unexecuted instantiation: gdevppla.c:colors_are_separable_and_linear Unexecuted instantiation: gdevflp.c:colors_are_separable_and_linear Unexecuted instantiation: gdevoflt.c:colors_are_separable_and_linear Unexecuted instantiation: gdevnup.c:colors_are_separable_and_linear Unexecuted instantiation: gdevsclass.c:colors_are_separable_and_linear Unexecuted instantiation: gxclist.c:colors_are_separable_and_linear Unexecuted instantiation: gxclpage.c:colors_are_separable_and_linear Unexecuted instantiation: gxclread.c:colors_are_separable_and_linear Unexecuted instantiation: gxclrect.c:colors_are_separable_and_linear Unexecuted instantiation: gxclutil.c:colors_are_separable_and_linear Unexecuted instantiation: gxclimag.c:colors_are_separable_and_linear Unexecuted instantiation: gxclpath.c:colors_are_separable_and_linear Unexecuted instantiation: gxdhtserial.c:colors_are_separable_and_linear Unexecuted instantiation: gxclthrd.c:colors_are_separable_and_linear gsicc.c:colors_are_separable_and_linear Line | Count | Source | 436 | 46.0M | { | 437 | 46.0M | return (info->separable_and_linear >= GX_CINFO_SEP_LIN); | 438 | 46.0M | } |
Unexecuted instantiation: gsicc_manage.c:colors_are_separable_and_linear Unexecuted instantiation: gsicc_cache.c:colors_are_separable_and_linear Unexecuted instantiation: gsicc_lcms2mt.c:colors_are_separable_and_linear Unexecuted instantiation: gsicc_create.c:colors_are_separable_and_linear Unexecuted instantiation: gsicc_nocm.c:colors_are_separable_and_linear Unexecuted instantiation: gsicc_replacecm.c:colors_are_separable_and_linear Unexecuted instantiation: gsicc_monitorcm.c:colors_are_separable_and_linear Unexecuted instantiation: gsicc_blacktext.c:colors_are_separable_and_linear Unexecuted instantiation: gdevbmp.c:colors_are_separable_and_linear Unexecuted instantiation: gdevbmpc.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpccm.c:colors_are_separable_and_linear Unexecuted instantiation: gdevcups.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpdf.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpdfb.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpdfc.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpdfd.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpdfe.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpdfg.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpdfi.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpdfj.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpdfk.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpdfm.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpdfo.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpdfp.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpdft.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpdfr.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpdfu.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpdfv.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpsdi.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpsdp.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpsds.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpsdu.c:colors_are_separable_and_linear Unexecuted instantiation: gdevvec.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpdt.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpdtd.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpdtf.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpdti.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpdts.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpdtt.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpdtw.c:colors_are_separable_and_linear Unexecuted instantiation: gxfcopy.c:colors_are_separable_and_linear Unexecuted instantiation: gdevfax.c:colors_are_separable_and_linear Unexecuted instantiation: gdevdjet.c:colors_are_separable_and_linear Unexecuted instantiation: gdevdljm.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpcl.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpcl3.c:colors_are_separable_and_linear Unexecuted instantiation: pclcap.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpbm.c:colors_are_separable_and_linear Unexecuted instantiation: gdevmpla.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpng.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpsd.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpx.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpxut.c:colors_are_separable_and_linear Unexecuted instantiation: gdevtsep.c:colors_are_separable_and_linear Unexecuted instantiation: gdevtifs.c:colors_are_separable_and_linear Unexecuted instantiation: gdevupd.c:colors_are_separable_and_linear Unexecuted instantiation: gdevxps.c:colors_are_separable_and_linear Unexecuted instantiation: gdevkrnlsclass.c:colors_are_separable_and_linear Unexecuted instantiation: gschar.c:colors_are_separable_and_linear Unexecuted instantiation: gscolor.c:colors_are_separable_and_linear Unexecuted instantiation: gscoord.c:colors_are_separable_and_linear gscspace.c:colors_are_separable_and_linear Line | Count | Source | 436 | 676k | { | 437 | 676k | return (info->separable_and_linear >= GX_CINFO_SEP_LIN); | 438 | 676k | } |
gsovrc.c:colors_are_separable_and_linear Line | Count | Source | 436 | 896 | { | 437 | 896 | return (info->separable_and_linear >= GX_CINFO_SEP_LIN); | 438 | 896 | } |
Unexecuted instantiation: gxoprect.c:colors_are_separable_and_linear Unexecuted instantiation: gsdevice.c:colors_are_separable_and_linear Unexecuted instantiation: gsdparam.c:colors_are_separable_and_linear Unexecuted instantiation: gsfont.c:colors_are_separable_and_linear Unexecuted instantiation: gsht.c:colors_are_separable_and_linear Unexecuted instantiation: gshtscr.c:colors_are_separable_and_linear Unexecuted instantiation: gsimage.c:colors_are_separable_and_linear Unexecuted instantiation: gsgstate.c:colors_are_separable_and_linear Unexecuted instantiation: gsline.c:colors_are_separable_and_linear Unexecuted instantiation: gspaint.c:colors_are_separable_and_linear Unexecuted instantiation: gspath.c:colors_are_separable_and_linear Unexecuted instantiation: gsstate.c:colors_are_separable_and_linear Unexecuted instantiation: gstext.c:colors_are_separable_and_linear Unexecuted instantiation: gxfapi.c:colors_are_separable_and_linear Unexecuted instantiation: write_t2.c:colors_are_separable_and_linear Unexecuted instantiation: gxccache.c:colors_are_separable_and_linear Unexecuted instantiation: gxccman.c:colors_are_separable_and_linear Unexecuted instantiation: gxchar.c:colors_are_separable_and_linear Unexecuted instantiation: gxcht.c:colors_are_separable_and_linear Unexecuted instantiation: gxclip.c:colors_are_separable_and_linear Unexecuted instantiation: gxcmap.c:colors_are_separable_and_linear Unexecuted instantiation: gxcpath.c:colors_are_separable_and_linear Unexecuted instantiation: gxdcconv.c:colors_are_separable_and_linear Unexecuted instantiation: gxdcolor.c:colors_are_separable_and_linear Unexecuted instantiation: gxhldevc.c:colors_are_separable_and_linear Unexecuted instantiation: gxfill.c:colors_are_separable_and_linear Unexecuted instantiation: gxht.c:colors_are_separable_and_linear Unexecuted instantiation: gxht_thresh.c:colors_are_separable_and_linear Unexecuted instantiation: gxidata.c:colors_are_separable_and_linear Unexecuted instantiation: gxifast.c:colors_are_separable_and_linear Unexecuted instantiation: gximage.c:colors_are_separable_and_linear Unexecuted instantiation: gximdecode.c:colors_are_separable_and_linear Unexecuted instantiation: gximage1.c:colors_are_separable_and_linear Unexecuted instantiation: gximono.c:colors_are_separable_and_linear Unexecuted instantiation: gxipixel.c:colors_are_separable_and_linear Unexecuted instantiation: gximask.c:colors_are_separable_and_linear Unexecuted instantiation: gxi12bit.c:colors_are_separable_and_linear Unexecuted instantiation: gxi16bit.c:colors_are_separable_and_linear Unexecuted instantiation: gxiscale.c:colors_are_separable_and_linear Unexecuted instantiation: gxpaint.c:colors_are_separable_and_linear Unexecuted instantiation: gxpcopy.c:colors_are_separable_and_linear Unexecuted instantiation: gxsample.c:colors_are_separable_and_linear Unexecuted instantiation: gxstroke.c:colors_are_separable_and_linear Unexecuted instantiation: gdevabuf.c:colors_are_separable_and_linear Unexecuted instantiation: gdevdbit.c:colors_are_separable_and_linear Unexecuted instantiation: gdevddrw.c:colors_are_separable_and_linear gdevdflt.c:colors_are_separable_and_linear Line | Count | Source | 436 | 216M | { | 437 | 216M | return (info->separable_and_linear >= GX_CINFO_SEP_LIN); | 438 | 216M | } |
Unexecuted instantiation: gdevdgbr.c:colors_are_separable_and_linear Unexecuted instantiation: gdevnfwd.c:colors_are_separable_and_linear Unexecuted instantiation: gdevmem.c:colors_are_separable_and_linear Unexecuted instantiation: gdevplnx.c:colors_are_separable_and_linear Unexecuted instantiation: gdevm1.c:colors_are_separable_and_linear Unexecuted instantiation: gdevm2.c:colors_are_separable_and_linear Unexecuted instantiation: gdevm4.c:colors_are_separable_and_linear Unexecuted instantiation: gdevm8.c:colors_are_separable_and_linear Unexecuted instantiation: gdevm16.c:colors_are_separable_and_linear Unexecuted instantiation: gdevm24.c:colors_are_separable_and_linear Unexecuted instantiation: gdevm32.c:colors_are_separable_and_linear Unexecuted instantiation: gdevm40.c:colors_are_separable_and_linear Unexecuted instantiation: gdevm48.c:colors_are_separable_and_linear Unexecuted instantiation: gdevm56.c:colors_are_separable_and_linear Unexecuted instantiation: gdevm64.c:colors_are_separable_and_linear Unexecuted instantiation: gdevmx.c:colors_are_separable_and_linear Unexecuted instantiation: gdevdsha.c:colors_are_separable_and_linear Unexecuted instantiation: gxscanc.c:colors_are_separable_and_linear Unexecuted instantiation: gdevdrop.c:colors_are_separable_and_linear Unexecuted instantiation: gdevmr1.c:colors_are_separable_and_linear Unexecuted instantiation: gdevmr2n.c:colors_are_separable_and_linear Unexecuted instantiation: gdevmr8n.c:colors_are_separable_and_linear Unexecuted instantiation: gdevrops.c:colors_are_separable_and_linear Unexecuted instantiation: gsrop.c:colors_are_separable_and_linear Unexecuted instantiation: zcolor1.c:colors_are_separable_and_linear Unexecuted instantiation: zht1.c:colors_are_separable_and_linear Unexecuted instantiation: zupath.c:colors_are_separable_and_linear Unexecuted instantiation: gdevhit.c:colors_are_separable_and_linear Unexecuted instantiation: zdps1.c:colors_are_separable_and_linear Unexecuted instantiation: zchar1.c:colors_are_separable_and_linear Unexecuted instantiation: zcharout.c:colors_are_separable_and_linear Unexecuted instantiation: zfont1.c:colors_are_separable_and_linear Unexecuted instantiation: zusparam.c:colors_are_separable_and_linear Unexecuted instantiation: zchar42.c:colors_are_separable_and_linear Unexecuted instantiation: zfont0.c:colors_are_separable_and_linear Unexecuted instantiation: zfdctd.c:colors_are_separable_and_linear Unexecuted instantiation: zdevice2.c:colors_are_separable_and_linear Unexecuted instantiation: zpcolor.c:colors_are_separable_and_linear Unexecuted instantiation: idisp.c:colors_are_separable_and_linear Unexecuted instantiation: psapi.c:colors_are_separable_and_linear Unexecuted instantiation: zfileio.c:colors_are_separable_and_linear Unexecuted instantiation: zbfont.c:colors_are_separable_and_linear Unexecuted instantiation: zchar.c:colors_are_separable_and_linear Unexecuted instantiation: zcolor.c:colors_are_separable_and_linear Unexecuted instantiation: zdevice.c:colors_are_separable_and_linear Unexecuted instantiation: zfont.c:colors_are_separable_and_linear Unexecuted instantiation: zht.c:colors_are_separable_and_linear Unexecuted instantiation: zimage.c:colors_are_separable_and_linear Unexecuted instantiation: zfapi.c:colors_are_separable_and_linear Unexecuted instantiation: zcsindex.c:colors_are_separable_and_linear Unexecuted instantiation: zht2.c:colors_are_separable_and_linear Unexecuted instantiation: zcssepr.c:colors_are_separable_and_linear Unexecuted instantiation: zfunc4.c:colors_are_separable_and_linear Unexecuted instantiation: zform.c:colors_are_separable_and_linear Unexecuted instantiation: zimage3.c:colors_are_separable_and_linear Unexecuted instantiation: zicc.c:colors_are_separable_and_linear Unexecuted instantiation: ztrans.c:colors_are_separable_and_linear Unexecuted instantiation: zpdfops.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_loop_detect.c:colors_are_separable_and_linear Unexecuted instantiation: ghostpdf.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_dict.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_array.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_xref.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_int.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_file.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_path.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_colour.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_pattern.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_gstate.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_stack.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_image.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_page.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_annot.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_mark.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_font.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_font0.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_ciddec.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_font1.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_font1C.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_fontps.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_font3.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_fontTT.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_font11.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_cmap.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_fmap.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_text.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_shading.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_func.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_trans.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_device.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_misc.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_optcontent.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_check.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_sec.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_utf8.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_deref.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_repair.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_obj.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_doc.c:colors_are_separable_and_linear Unexecuted instantiation: imainarg.c:colors_are_separable_and_linear Unexecuted instantiation: gsclipsr.c:colors_are_separable_and_linear Unexecuted instantiation: gscdevn.c:colors_are_separable_and_linear Unexecuted instantiation: gxdevndi.c:colors_are_separable_and_linear Unexecuted instantiation: gxclipm.c:colors_are_separable_and_linear Unexecuted instantiation: gscolor3.c:colors_are_separable_and_linear Unexecuted instantiation: gsptype2.c:colors_are_separable_and_linear Unexecuted instantiation: gsshade.c:colors_are_separable_and_linear Unexecuted instantiation: gxshade.c:colors_are_separable_and_linear Unexecuted instantiation: gxshade1.c:colors_are_separable_and_linear Unexecuted instantiation: gxshade4.c:colors_are_separable_and_linear gxshade6.c:colors_are_separable_and_linear Line | Count | Source | 436 | 10.4M | { | 437 | 10.4M | return (info->separable_and_linear >= GX_CINFO_SEP_LIN); | 438 | 10.4M | } |
Unexecuted instantiation: gscolor1.c:colors_are_separable_and_linear Unexecuted instantiation: gsht1.c:colors_are_separable_and_linear Unexecuted instantiation: gscolor2.c:colors_are_separable_and_linear Unexecuted instantiation: gspcolor.c:colors_are_separable_and_linear Unexecuted instantiation: gxclip2.c:colors_are_separable_and_linear Unexecuted instantiation: gspath1.c:colors_are_separable_and_linear Unexecuted instantiation: gstype42.c:colors_are_separable_and_linear Unexecuted instantiation: gxchrout.c:colors_are_separable_and_linear Unexecuted instantiation: gxttfb.c:colors_are_separable_and_linear Unexecuted instantiation: gzspotan.c:colors_are_separable_and_linear Unexecuted instantiation: gscie.c:colors_are_separable_and_linear Unexecuted instantiation: gscsepr.c:colors_are_separable_and_linear Unexecuted instantiation: gxblend1.c:colors_are_separable_and_linear Unexecuted instantiation: gxdownscale.c:colors_are_separable_and_linear Unexecuted instantiation: gdevepo.c:colors_are_separable_and_linear Unexecuted instantiation: gxclbits.c:colors_are_separable_and_linear Unexecuted instantiation: gxclrast.c:colors_are_separable_and_linear Unexecuted instantiation: gschar0.c:colors_are_separable_and_linear Unexecuted instantiation: gsfont0.c:colors_are_separable_and_linear Unexecuted instantiation: gstype1.c:colors_are_separable_and_linear Unexecuted instantiation: gxtype1.c:colors_are_separable_and_linear Unexecuted instantiation: gstype2.c:colors_are_separable_and_linear Unexecuted instantiation: gsicc_profilecache.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpdtb.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpdtc.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpdte.c:colors_are_separable_and_linear Unexecuted instantiation: gdevpsfx.c:colors_are_separable_and_linear Unexecuted instantiation: gstiffio.c:colors_are_separable_and_linear Unexecuted instantiation: gdeveprn.c:colors_are_separable_and_linear Unexecuted instantiation: eprnparm.c:colors_are_separable_and_linear Unexecuted instantiation: eprnrend.c:colors_are_separable_and_linear Unexecuted instantiation: eprnfs.c:colors_are_separable_and_linear Unexecuted instantiation: gscicach.c:colors_are_separable_and_linear Unexecuted instantiation: gsdevmem.c:colors_are_separable_and_linear Unexecuted instantiation: gxacpath.c:colors_are_separable_and_linear Unexecuted instantiation: gxpdash.c:colors_are_separable_and_linear Unexecuted instantiation: pdf_fapi.c:colors_are_separable_and_linear Unexecuted instantiation: gscscie.c:colors_are_separable_and_linear |
439 | | |
440 | | |
441 | | /* NB encoding flag ignored */ |
442 | | #define dci_extended_alpha_values(mcmp, nc, p, d, gi, mg, \ |
443 | | mc, dg, dc, ta, ga, sl, cn) \ |
444 | 87.7k | {mcmp /* max components */, \ |
445 | 87.7k | nc /* number components */, \ |
446 | 175k | p /* polarity */, \ |
447 | 87.7k | d /* depth */, \ |
448 | 175k | gi /* gray index */, \ |
449 | 87.7k | mg /* max gray */, \ |
450 | 87.7k | mc /* max color */, \ |
451 | 87.7k | dg /* dither grays */, \ |
452 | 87.7k | dc /* dither colors */, \ |
453 | 87.7k | { ta, ga } /* antialias info text, graphics */, \ |
454 | 87.7k | sl /* separable_and_linear */, \ |
455 | 87.7k | { 0 } /* component shift */, \ |
456 | 87.7k | { 0 } /* component bits */, \ |
457 | 87.7k | { 0 } /* component mask */, \ |
458 | 351k | cn /* process color name */, \ |
459 | 87.7k | GX_CINFO_OPMSUPPORTED_UNKNOWN /* opmsupported */, \ |
460 | 87.7k | 0 /* process_cmps */ } |
461 | | |
462 | | /* |
463 | | * The "has color" macro requires a slightly different definition |
464 | | * with the more general color models. |
465 | | */ |
466 | | #define gx_device_has_color(dev) \ |
467 | 118M | ( (dev)->color_info.num_components > 1 || \ |
468 | 118M | (dev)->color_info.gray_index == GX_CINFO_COMP_NO_INDEX ) |
469 | | |
470 | | /* parameter initialization macros for backwards compatibility */ |
471 | | |
472 | | /* |
473 | | * These macros are needed to define values for fields added when |
474 | | * DeviceN compatibility was added. Previously the graphics |
475 | | * library and the much of the device code examined the number of |
476 | | * components and assume that 1 --> DeviceGray, 3-->DeviceRGB, |
477 | | * and 4--> DeviceCMYK. Since the old device code does not |
478 | | * specify a color model, these macros make the same assumption. |
479 | | * This assumption is incorrect for a DeviceN device and thus |
480 | | * the following macros should not be used. The previously |
481 | | * defined macros should be used for new devices. |
482 | | */ |
483 | | |
484 | | #define dci_std_cm_name(nc) \ |
485 | | ( (nc) == 1 ? "DeviceGray" \ |
486 | | : ((nc) == 3 ? "DeviceRGB" \ |
487 | | : "DeviceCMYK") ) |
488 | | |
489 | | #define dci_std_polarity(nc) \ |
490 | 0 | ( (nc) >= 4 ? GX_CINFO_POLARITY_SUBTRACTIVE \ |
491 | 0 | : GX_CINFO_POLARITY_ADDITIVE ) |
492 | | |
493 | | /* |
494 | | * Get the default gray_index value, based on the number of color |
495 | | * components. Note that this must be consistent with the index |
496 | | * implicitly used by the get_color_comp_index method and the |
497 | | * procedures in the structure returned by the |
498 | | * get_color_mapping_procs method. |
499 | | */ |
500 | | #define dci_std_gray_index(nc) \ |
501 | | ((nc) == 3 ? GX_CINFO_COMP_NO_INDEX : (nc) - 1) |
502 | | |
503 | | #define dci_alpha_values(nc, depth, mg, mc, dg, dc, ta, ga) \ |
504 | 87.7k | dci_extended_alpha_values(nc, nc, \ |
505 | 87.7k | dci_std_polarity(nc), \ |
506 | 87.7k | depth, \ |
507 | 87.7k | dci_std_gray_index(nc), \ |
508 | 87.7k | mg, mc, dg, dc, ta, ga, \ |
509 | 87.7k | GX_CINFO_UNKNOWN_SEP_LIN, \ |
510 | 87.7k | dci_std_cm_name(nc) ) |
511 | | #define dci_alpha_values_add(nc, depth, mg, mc, dg, dc, ta, ga) \ |
512 | | dci_extended_alpha_values(nc, nc, \ |
513 | | GX_CINFO_POLARITY_ADDITIVE, \ |
514 | | depth, \ |
515 | | dci_std_gray_index(nc), \ |
516 | | mg, mc, dg, dc, ta, ga, \ |
517 | | GX_CINFO_UNKNOWN_SEP_LIN, \ |
518 | | dci_std_cm_name(nc) ) |
519 | | |
520 | | /* |
521 | | * Determine the depth corresponding to a color_bits specification. |
522 | | * Note that color_bits == 0 ==> depth == 0; surprisingly this |
523 | | * case is used. |
524 | | */ |
525 | | #define dci_std_color_depth(color_bits) \ |
526 | | ((color_bits) == 1 ? 1 : ((color_bits) + 7) & ~7) |
527 | | |
528 | | /* |
529 | | * Determine the number of components corresponding to a color_bits |
530 | | * specification. A device is monochrome only if it is bi-level; |
531 | | * the 4 and 8 bit cases are handled as mapped color displays (for |
532 | | * compatibility with existing code). The peculiar color_bits = 0 |
533 | | * case is considered monochrome, for no apparent reason. |
534 | | */ |
535 | | #define dci_std_color_num_components(color_bits) \ |
536 | | ( (color_bits) <= 1 ? 1 \ |
537 | | : ((color_bits) % 3 == 0 || \ |
538 | | (color_bits) == 4 || \ |
539 | | (color_bits) == 8 ) ? 3 : 4 ) |
540 | | |
541 | | /* |
542 | | * The number of bits assigned to the gray/black color component, |
543 | | * assuming there is such a component. The underlying assumption |
544 | | * is that any extra bits are assigned to this component. |
545 | | */ |
546 | | #define dci_std_gray_bits(nc, color_bits) \ |
547 | | ((color_bits) - ((nc) - 1) * ((color_bits) / (nc))) |
548 | | |
549 | | /* |
550 | | * The number of bits assigned to a color component. The underlying |
551 | | * assumptions are that there is a gray component if nc != 3, and |
552 | | * that the gray component uses any extra bits. |
553 | | */ |
554 | | #define dci_std_color_bits(nc, color_bits) \ |
555 | | ( (nc) == 3 \ |
556 | | ? (color_bits) / (nc) \ |
557 | | : ( (nc) == 1 \ |
558 | | ? 0 \ |
559 | | : ((color_bits) - dci_std_gray_bits(nc, color_bits))\ |
560 | | / ((nc) == 1 ? (1) : (nc) - 1) ) ) |
561 | | |
562 | | /* |
563 | | * Determine the max_gray and max_color values based on the number |
564 | | * of components and the color_bits value. See the comments above |
565 | | * for information on the underlying assumptions. |
566 | | */ |
567 | | #define dci_std_color_max_gray(nc, color_bits) \ |
568 | | ( (nc) == 3 \ |
569 | | ? 0 \ |
570 | | : (1 << dci_std_gray_bits(nc, color_bits)) - 1 ) |
571 | | |
572 | | #define dci_std_color_max_color(nc, color_bits) \ |
573 | | ( (nc) == 1 \ |
574 | | ? 0 \ |
575 | | : (1 << dci_std_color_bits(nc, color_bits)) - 1 ) |
576 | | |
577 | | /* |
578 | | * Define a color model based strictly on the number of bits |
579 | | * available for color representation. Please note, this is only |
580 | | * intended to work for a limited set of devices. |
581 | | */ |
582 | | #define dci_std_color_(nc, color_bits) \ |
583 | | dci_values( nc, \ |
584 | | dci_std_color_depth(color_bits), \ |
585 | | dci_std_color_max_gray(nc, color_bits), \ |
586 | | dci_std_color_max_color(nc, color_bits), \ |
587 | | dci_std_color_max_gray(nc, color_bits) + 1, \ |
588 | | dci_std_color_max_color(nc, color_bits) + 1 ) |
589 | | |
590 | | #define dci_std_color(color_bits) \ |
591 | | dci_std_color_( dci_std_color_num_components(color_bits), \ |
592 | | color_bits ) |
593 | | |
594 | | #define dci_values(nc,depth,mg,mc,dg,dc)\ |
595 | 87.7k | dci_alpha_values(nc, depth, mg, mc, dg, dc, 1, 1) |
596 | | #define dci_values_add(nc,depth,mg,mc,dg,dc)\ |
597 | | dci_alpha_values_add(nc, depth, mg, mc, dg, dc, 1, 1) |
598 | | #define dci_black_and_white dci_std_color(1) |
599 | | #define dci_black_and_white_() dci_black_and_white |
600 | | #define dci_color(depth,maxv,dither)\ |
601 | | dci_values(3, depth, maxv, maxv, dither, dither) |
602 | | |
603 | | /* |
604 | | * Macro to access the name of the process color model. |
605 | | */ |
606 | | #define get_process_color_model_name(dev) \ |
607 | 5.63M | ((dev)->color_info.cm_name) |
608 | | |
609 | | /* Structure for device procedures. */ |
610 | | typedef struct gx_device_procs_s gx_device_procs; |
611 | | |
612 | | /* Structure for page device procedures. */ |
613 | | /* Note that these take the graphics state as a parameter. */ |
614 | | typedef struct gx_page_device_procs_s { |
615 | | |
616 | | #define dev_page_proc_install(proc)\ |
617 | | int proc(gx_device *dev, gs_gstate *pgs) |
618 | | dev_page_proc_install((*install)); |
619 | | |
620 | | #define dev_page_proc_begin_page(proc)\ |
621 | | int proc(gx_device *dev, gs_gstate *pgs) |
622 | | dev_page_proc_begin_page((*begin_page)); |
623 | | |
624 | | #define dev_page_proc_end_page(proc)\ |
625 | | int proc(gx_device *dev, int reason, gs_gstate *pgs) |
626 | | dev_page_proc_end_page((*end_page)); |
627 | | |
628 | | } gx_page_device_procs; |
629 | | |
630 | | /* Default procedures */ |
631 | | dev_page_proc_install(gx_default_install); |
632 | | dev_page_proc_begin_page(gx_default_begin_page); |
633 | | dev_page_proc_end_page(gx_default_end_page); |
634 | | |
635 | | /* ----------- A stroked gradient recognizer data ----------*/ |
636 | | |
637 | | /* This structure is associated with a device for |
638 | | internal needs of the graphics library. |
639 | | The main purpose is to suppress stroke adjustment |
640 | | when painting a gradient as a set of parallel strokes. |
641 | | Such gradients still come from some obsolete 3d party software. |
642 | | See bug 687974, |
643 | | */ |
644 | | |
645 | | typedef struct gx_stroked_gradient_recognizer_s { |
646 | | bool stroke_stored; |
647 | | gs_fixed_point orig[4], adjusted[4]; /* from, to, width, vector. */ |
648 | | } gx_stroked_gradient_recognizer_t; |
649 | | |
650 | | /* ---------------- Device structure ---------------- */ |
651 | | |
652 | | /* |
653 | | * Define the generic device structure. |
654 | | * |
655 | | * All devices start off with no device procs. The initialize_device_procs |
656 | | * function is called as soon as the device is copied from its prototype, |
657 | | * and that fills in the procs table with the device procedure pointers. |
658 | | * This can never fail. |
659 | | * |
660 | | * Next, the 'initialize_device' proc (if there is one) is called to do |
661 | | * the minimal initialization required for a device. |
662 | | * |
663 | | * The choice of the name Margins (rather than, say, HWOffset), and the |
664 | | * specification in terms of a default device resolution rather than |
665 | | * 1/72" units, are due to Adobe. |
666 | | * |
667 | | * ****** NOTE: If you define any subclasses of gx_device, you *must* define |
668 | | * ****** the finalization procedure as gx_device_finalize. Finalization |
669 | | * ****** procedures are not automatically inherited. |
670 | | */ |
671 | | typedef struct gx_device_cached_colors_s { |
672 | | gx_color_index black, white; |
673 | | } gx_device_cached_colors_t; |
674 | | |
675 | | /* |
676 | | * Define the parameters controlling banding. |
677 | | */ |
678 | | /* if you make any additions/changes to this structure you need to make |
679 | | the appropriate additions/changes to gdev_space_params_cmp() */ |
680 | | typedef struct gx_band_params_s { |
681 | | int BandWidth; /* (optional) band width in pixels */ |
682 | | int BandHeight; /* (optional) */ |
683 | | size_t BandBufferSpace; /* (optional) */ |
684 | | size_t tile_cache_size; /* (optional) */ |
685 | | } gx_band_params_t; |
686 | | |
687 | | #define BAND_PARAMS_INITIAL_VALUES 0, 0, 0, 0 |
688 | | |
689 | | typedef enum { |
690 | | BandingAuto = 0, |
691 | | BandingAlways, |
692 | | BandingNever |
693 | | } gdev_banding_type; |
694 | | |
695 | | /* if you make any additions/changes to this structure you need to make |
696 | | the appropriate additions/changes to the gdev_space_params_cmp() */ |
697 | | typedef struct gdev_space_params_s { |
698 | | size_t MaxBitmap; /* max size of non-buffered bitmap */ |
699 | | size_t BufferSpace; /* space to use for buffer */ |
700 | | gx_band_params_t band; /* see gxband.h */ |
701 | | bool params_are_read_only; /* true if put_params may not modify this struct */ |
702 | | gdev_banding_type banding_type; /* used to force banding or bitmap */ |
703 | | } gdev_space_params; |
704 | | |
705 | | /* Returns 0 for a match, non-zero otherwise. Like memcmp, but allowing |
706 | | * for uninitialised padding. */ |
707 | | int gdev_space_params_cmp(const gdev_space_params sp1, |
708 | | const gdev_space_params sp2); |
709 | | |
710 | | typedef struct gdev_nupcontrol_s { |
711 | | rc_header rc; |
712 | | char *nupcontrol_str; /* NUL termintated string */ |
713 | | } gdev_nupcontrol; |
714 | | |
715 | | typedef struct gdev_pagelist_s { |
716 | | rc_header rc; |
717 | | char *Pages; |
718 | | } gdev_pagelist; |
719 | | |
720 | | #define dev_t_proc_initialize_device_procs(proc, dev_t)\ |
721 | | void proc(dev_t *dev) |
722 | | #define dev_proc_initialize_device_procs(proc)\ |
723 | | dev_t_proc_initialize_device_procs((proc), gx_device) |
724 | | |
725 | | #define gx_device_common\ |
726 | | int params_size; /* OBSOLETE if stype != 0: */\ |
727 | | /* size of this structure */\ |
728 | | dev_proc_initialize_device_procs(*initialize_device_procs);\ |
729 | | /* initialize_device_procs */\ |
730 | | const char *dname; /* the device name */\ |
731 | | gs_memory_t *memory; /* (0 iff static prototype) */\ |
732 | | gs_memory_type_ptr_t stype; /* memory manager structure type, */\ |
733 | | /* may be 0 if static prototype */\ |
734 | | bool stype_is_dynamic; /* if true, free the stype when */\ |
735 | | /* freeing the device */\ |
736 | | void (*finalize)(gx_device *); /* finalization to execute */\ |
737 | | /* before closing device, if any */\ |
738 | | rc_header rc; /* reference count from gstates */\ |
739 | | /* and targets, +1 if retained */\ |
740 | | bool retained; /* true if retained */\ |
741 | | gx_device *parent;\ |
742 | | gx_device *child;\ |
743 | | void *subclass_data; /* Must be immovable, non-GC memory, used to store subclass data */\ |
744 | | gdev_pagelist *PageList;\ |
745 | | bool is_open; /* true if device has been opened */\ |
746 | | int max_fill_band; /* limit on band size for fill, */\ |
747 | | /* must be 0 or a power of 2 */\ |
748 | | /* (see gdevabuf.c for more info) */\ |
749 | | gx_device_color_info color_info; /* color information */\ |
750 | | gx_device_cached_colors_t cached_colors;\ |
751 | | int width; /* width in pixels */\ |
752 | | int height; /* height in pixels */\ |
753 | | int pad; /* pad to use for buffers; 0 for default */\ |
754 | | int log2_align_mod; /* align to use for buffers; 0 for default */\ |
755 | | int num_planar_planes; /* 1 planar, 0 for chunky */\ |
756 | | int LeadingEdge; /* see below */\ |
757 | | float MediaSize[2]; /* media dimensions in points */\ |
758 | | float ImagingBBox[4]; /* imageable region in points */\ |
759 | | bool ImagingBBox_set;\ |
760 | | float HWResolution[2]; /* resolution, dots per inch */\ |
761 | | float Margins[2]; /* offset of physical page corner */\ |
762 | | /* from device coordinate (0,0), */\ |
763 | | /* in units given by HWResolution */\ |
764 | | float HWMargins[4]; /* margins around imageable area, */\ |
765 | | /* in default user units ("points") */\ |
766 | | int FirstPage;\ |
767 | | int LastPage;\ |
768 | | bool PageHandlerPushed; /* Handles FirstPage and LastPage operations */\ |
769 | | bool DisablePageHandler; /* Can be set by the interpreter if it will process FirstPage and LastPage itself */\ |
770 | | int ObjectFilter; /* Bit field for which object filters to apply */\ |
771 | | bool ObjectHandlerPushed; /* Handles filtering of objects to devices */\ |
772 | | gdev_nupcontrol *NupControl;\ |
773 | | bool NupHandlerPushed; /* Handles Nup operations */\ |
774 | | long PageCount; /* number of pages written */\ |
775 | | long ShowpageCount; /* number of calls on showpage */\ |
776 | | int NumCopies;\ |
777 | | bool NumCopies_set;\ |
778 | | bool IgnoreNumCopies; /* if true, force num_copies = 1 */\ |
779 | | bool UseCIEColor; /* for PS LL3 */\ |
780 | | bool LockSafetyParams; /* If true, prevent unsafe changes */\ |
781 | | long band_offset_x; /* offsets of clist band base to (mem device) buffer */\ |
782 | | long band_offset_y; /* for rendering that is phase sensitive (old wtsimdi) */\ |
783 | | bool BLS_force_memory;\ |
784 | | gx_stroked_gradient_recognizer_t sgr;\ |
785 | | size_t MaxPatternBitmap; /* Threshold for switching to pattern_clist mode */\ |
786 | | bool page_uses_transparency; /* PDF 1.4 transparency is used. */\ |
787 | | bool page_uses_overprint; /* overprint is used. */\ |
788 | | gdev_space_params space_params;\ |
789 | | cmm_dev_profile_t *icc_struct; /* object dependent profiles */\ |
790 | | gs_graphics_type_tag_t graphics_type_tag; /* e.g. vector, image or text */\ |
791 | | int interpolate_control; /* default 1 (use image /Interpolate value), 0 is NOINTERPOLATE. */\ |
792 | | /* > 1 limits interpolation, < 0 forces interpolation */\ |
793 | | int non_strict_bounds; /* If set, callers cannot rely on clipping fills etc to declared device bounds. */\ |
794 | | gx_page_device_procs page_procs; /* must be last */\ |
795 | | /* end of std_device_body */\ |
796 | | gx_device_procs procs /* object procedures */ |
797 | | |
798 | 96.9M | #define LEADINGEDGE_MASK 3 |
799 | 5.73M | #define LEADINGEDGE_SET_MASK (1 << 2) |
800 | 1.58M | #define LEADINGEDGE_REQ_BIT (1 << 3) |
801 | 0 | #define LEADINGEDGE_REQ_VAL_SHIFT 4 |
802 | 0 | #define LEADINGEDGE_REQ_VAL (LEADINGEDGE_MASK << LEADINGEDGE_REQ_VAL_SHIFT) |
803 | | /* |
804 | | * The lower two bits of LeadingEdge correspond to the pagedevice |
805 | | * parameter of the same name. The next bit (hex value 4) is set if |
806 | | * the LeadingEdge was set explicitly by the user using setpagedevice. |
807 | | * Otherwise, the value is the default as determined by the device (or |
808 | | * zero if the device has no logic for setting LeadingEdge based on |
809 | | * other parameters (such as %MediaSource). This field replaces the |
810 | | * earlier TrayOrientation, which had a similar purpose but was not |
811 | | * compatible with the PostScript spec. |
812 | | */ |
813 | | |
814 | | /* |
815 | | * Note: x/y_pixels_per_inch are here only for backward compatibility. |
816 | | * They should not be used in new code. |
817 | | */ |
818 | 16.7k | #define x_pixels_per_inch HWResolution[0] |
819 | 16.7k | #define y_pixels_per_inch HWResolution[1] |
820 | | #define offset_margin_values(x, y, left, bot, right, top)\ |
821 | | {x, y}, {left, bot, right, top} |
822 | | #define margin_values(left, bot, right, top)\ |
823 | | offset_margin_values(0, 0, left, bot, right, top) |
824 | | #define no_margins margin_values(0, 0, 0, 0) |
825 | | #define no_margins_() no_margins |
826 | | /* Define macros that give the page offset ("Margins") in inches. */ |
827 | | #define dev_x_offset(dev) ((dev)->Margins[0] / (dev)->HWResolution[0]) |
828 | 0 | #define dev_y_offset(dev) ((dev)->Margins[1] / (dev)->HWResolution[1]) |
829 | | #define dev_y_offset_points(dev) (dev_y_offset(dev) * 72.0) |
830 | | /* Note that left/right/top/bottom are defined relative to */ |
831 | | /* the physical paper, not the coordinate system. */ |
832 | | /* For backward compatibility, we define macros that give */ |
833 | | /* the margins in inches. */ |
834 | 0 | #define dev_l_margin(dev) ((dev)->HWMargins[0] / 72.0) |
835 | 0 | #define dev_b_margin(dev) ((dev)->HWMargins[1] / 72.0) |
836 | | #define dev_b_margin_points(dev) ((dev)->HWMargins[1]) |
837 | 0 | #define dev_r_margin(dev) ((dev)->HWMargins[2] / 72.0) |
838 | 0 | #define dev_t_margin(dev) ((dev)->HWMargins[3] / 72.0) |
839 | | #define dev_t_margin_points(dev) ((dev)->HWMargins[3]) |
840 | | /* The extra () are to prevent premature expansion. */ |
841 | | #define open_init_closed() 0 /*false*/, 0 /* max_fill_band */ |
842 | | #define open_init_open() 1 /*true*/, 0 /* max_fill_band */ |
843 | | /* Accessors for device procedures */ |
844 | 28.9G | #define dev_proc(dev, p) ((dev)->procs.p) |
845 | 14.9G | #define set_dev_proc(dev, p, proc) ((dev)->procs.p = (proc)) |
846 | | #define fill_dev_proc(dev, p, dproc)\ |
847 | 12.4G | if ( dev_proc(dev, p) == 0 ) set_dev_proc(dev, p, dproc) |
848 | | #define assign_dev_procs(todev, fromdev)\ |
849 | 0 | ((todev)->procs = (fromdev)->procs) |
850 | | |
851 | | /* The bit fields used to filter objects out. If any bit field is set |
852 | | * then objects of that type will not be rendered/output. |
853 | | */ |
854 | | typedef enum FILTER_FLAGS { |
855 | | FILTERIMAGE = 1, |
856 | | FILTERTEXT = 2, |
857 | | FILTERVECTOR = 4 |
858 | | } OBJECT_FILTER_FLAGS; |
859 | | |
860 | | /* ---------------- Device procedures ---------------- */ |
861 | | |
862 | | /* |
863 | | * Definition of device procedures. |
864 | | * Note that the gx_device * argument is not declared const, |
865 | | * because many drivers maintain dynamic state in the device structure. |
866 | | * Note also that the structure is defined as a template, so that |
867 | | * we can instantiate it with device subclasses. |
868 | | * Because C doesn't have real templates, we must do this with macros. |
869 | | */ |
870 | | |
871 | | /* Define macros for declaring device procedures. */ |
872 | | |
873 | | #define dev_t_proc_initialize_device(proc, dev_t)\ |
874 | | int proc(dev_t *dev) |
875 | | #define dev_proc_initialize_device(proc)\ |
876 | | dev_t_proc_initialize_device(proc, gx_device) |
877 | | |
878 | | #define dev_t_proc_open_device(proc, dev_t)\ |
879 | | int proc(dev_t *dev) |
880 | | #define dev_proc_open_device(proc)\ |
881 | | dev_t_proc_open_device(proc, gx_device) |
882 | | |
883 | | #define dev_t_proc_get_initial_matrix(proc, dev_t)\ |
884 | | void proc(dev_t *dev, gs_matrix *pmat) |
885 | | #define dev_proc_get_initial_matrix(proc)\ |
886 | | dev_t_proc_get_initial_matrix(proc, gx_device) |
887 | | |
888 | | #define dev_t_proc_sync_output(proc, dev_t)\ |
889 | | int proc(dev_t *dev) |
890 | | #define dev_proc_sync_output(proc)\ |
891 | | dev_t_proc_sync_output(proc, gx_device) |
892 | | |
893 | | #define dev_t_proc_output_page(proc, dev_t)\ |
894 | | int proc(dev_t *dev, int num_copies, int flush) |
895 | | #define dev_proc_output_page(proc)\ |
896 | | dev_t_proc_output_page(proc, gx_device) |
897 | | |
898 | | #define dev_t_proc_close_device(proc, dev_t)\ |
899 | | int proc(dev_t *dev) |
900 | | #define dev_proc_close_device(proc)\ |
901 | | dev_t_proc_close_device(proc, gx_device) |
902 | | |
903 | | #define dev_t_proc_map_rgb_color(proc, dev_t)\ |
904 | 172M | gx_color_index proc(dev_t *dev, const gx_color_value cv[]) |
905 | | #define dev_proc_map_rgb_color(proc)\ |
906 | 172M | dev_t_proc_map_rgb_color(proc, gx_device) |
907 | | |
908 | | #define dev_t_proc_map_color_rgb(proc, dev_t)\ |
909 | 172M | int proc(dev_t *dev,\ |
910 | 172M | gx_color_index color, gx_color_value rgb[3]) |
911 | | #define dev_proc_map_color_rgb(proc)\ |
912 | 172M | dev_t_proc_map_color_rgb(proc, gx_device) |
913 | | |
914 | | #define dev_t_proc_fill_rectangle(proc, dev_t)\ |
915 | 116M | int proc(dev_t *dev,\ |
916 | 116M | int x, int y, int width, int height, gx_color_index color) |
917 | | #define dev_proc_fill_rectangle(proc)\ |
918 | 116M | dev_t_proc_fill_rectangle(proc, gx_device) |
919 | | |
920 | | #define dev_t_proc_copy_mono(proc, dev_t)\ |
921 | 94.3M | int proc(dev_t *dev,\ |
922 | 94.3M | const byte *data, int data_x, int raster, gx_bitmap_id id,\ |
923 | 94.3M | int x, int y, int width, int height,\ |
924 | 94.3M | gx_color_index color0, gx_color_index color1) |
925 | | #define dev_proc_copy_mono(proc)\ |
926 | 94.3M | dev_t_proc_copy_mono(proc, gx_device) |
927 | | |
928 | | #define dev_t_proc_copy_color(proc, dev_t)\ |
929 | 55.1M | int proc(dev_t *dev,\ |
930 | 55.1M | const byte *data, int data_x, int raster, gx_bitmap_id id,\ |
931 | 55.1M | int x, int y, int width, int height) |
932 | | #define dev_proc_copy_color(proc)\ |
933 | 55.1M | dev_t_proc_copy_color(proc, gx_device) |
934 | | |
935 | | /* Added in release 2.4, changed in 2.8, */ |
936 | | /* renamed in 2.9.6 */ |
937 | | |
938 | | #define dev_t_proc_get_params(proc, dev_t)\ |
939 | | int proc(dev_t *dev, gs_param_list *plist) |
940 | | #define dev_proc_get_params(proc)\ |
941 | | dev_t_proc_get_params(proc, gx_device) |
942 | | |
943 | | #define dev_t_proc_put_params(proc, dev_t)\ |
944 | | int proc(dev_t *dev, gs_param_list *plist) |
945 | | #define dev_proc_put_params(proc)\ |
946 | | dev_t_proc_put_params(proc, gx_device) |
947 | | |
948 | | /* Added in release 2.6 */ |
949 | | |
950 | | #define dev_t_proc_map_cmyk_color(proc, dev_t)\ |
951 | 172M | gx_color_index proc(dev_t *dev, const gx_color_value cv[]) |
952 | | #define dev_proc_map_cmyk_color(proc)\ |
953 | 172M | dev_t_proc_map_cmyk_color(proc, gx_device) |
954 | | |
955 | | /* Added in release 2.8.1 */ |
956 | | |
957 | | #define dev_t_proc_get_page_device(proc, dev_t)\ |
958 | | gx_device *proc(dev_t *dev) |
959 | | #define dev_proc_get_page_device(proc)\ |
960 | | dev_t_proc_get_page_device(proc, gx_device) |
961 | | |
962 | | /* Added in release 3.20, OBSOLETED in 5.65 */ |
963 | | /* 'Unobsoleted' in 9.55. */ |
964 | | |
965 | | #define dev_t_proc_get_alpha_bits(proc, dev_t)\ |
966 | | int proc(dev_t *dev, graphics_object_type type) |
967 | | #define dev_proc_get_alpha_bits(proc)\ |
968 | | dev_t_proc_get_alpha_bits(proc, gx_device) |
969 | | |
970 | | /* Added in release 3.20 */ |
971 | | |
972 | | #define dev_t_proc_copy_alpha(proc, dev_t)\ |
973 | 0 | int proc(dev_t *dev, const byte *data, int data_x,\ |
974 | 0 | int raster, gx_bitmap_id id, int x, int y, int width, int height,\ |
975 | 0 | gx_color_index color, int depth) |
976 | | #define dev_proc_copy_alpha(proc)\ |
977 | 0 | dev_t_proc_copy_alpha(proc, gx_device) |
978 | | |
979 | | /* Added in release 3.60, changed in 3.68. */ |
980 | | |
981 | | #define dev_t_proc_fill_path(proc, dev_t)\ |
982 | 2.82M | int proc(dev_t *dev,\ |
983 | 2.82M | const gs_gstate *pgs, gx_path *ppath,\ |
984 | 2.82M | const gx_fill_params *params,\ |
985 | 2.82M | const gx_drawing_color *pdcolor, const gx_clip_path *pcpath) |
986 | | #define dev_proc_fill_path(proc)\ |
987 | 2.82M | dev_t_proc_fill_path(proc, gx_device) |
988 | | |
989 | | #define dev_t_proc_stroke_path(proc, dev_t)\ |
990 | 554k | int proc(dev_t *dev,\ |
991 | 554k | const gs_gstate *pgs, gx_path *ppath,\ |
992 | 554k | const gx_stroke_params *params,\ |
993 | 554k | const gx_drawing_color *pdcolor, const gx_clip_path *pcpath) |
994 | | #define dev_proc_stroke_path(proc)\ |
995 | 554k | dev_t_proc_stroke_path(proc, gx_device) |
996 | | |
997 | | /* Added in release 9.22 */ |
998 | | |
999 | | #define dev_t_proc_fill_stroke_path(proc, dev_t)\ |
1000 | 16.5k | int proc(dev_t *dev,\ |
1001 | 16.5k | const gs_gstate *pgs, gx_path *ppath,\ |
1002 | 16.5k | const gx_fill_params *fill_params,\ |
1003 | 16.5k | const gx_drawing_color *pdcolor_fill,\ |
1004 | 16.5k | const gx_stroke_params *stroke_params,\ |
1005 | 16.5k | const gx_drawing_color *pdcolor_stroke,\ |
1006 | 16.5k | const gx_clip_path *pcpath) |
1007 | | #define dev_proc_fill_stroke_path(proc)\ |
1008 | 16.5k | dev_t_proc_fill_stroke_path(proc, gx_device) |
1009 | | |
1010 | | /* Added in release 9.57 */ |
1011 | | |
1012 | | #define dev_t_proc_lock_pattern(proc, dev_t)\ |
1013 | 0 | int proc(dev_t *dev,\ |
1014 | 0 | gs_gstate *pgs,\ |
1015 | 0 | gs_id pattern_id,\ |
1016 | 0 | int lock) |
1017 | | #define dev_proc_lock_pattern(proc)\ |
1018 | 0 | dev_t_proc_lock_pattern(proc, gx_device) |
1019 | | |
1020 | | /* Added in release 3.60 */ |
1021 | | |
1022 | | #define dev_t_proc_fill_mask(proc, dev_t)\ |
1023 | 3.05k | int proc(dev_t *dev,\ |
1024 | 3.05k | const byte *data, int data_x, int raster, gx_bitmap_id id,\ |
1025 | 3.05k | int x, int y, int width, int height,\ |
1026 | 3.05k | const gx_drawing_color *pdcolor, int depth,\ |
1027 | 3.05k | gs_logical_operation_t lop, const gx_clip_path *pcpath) |
1028 | | #define dev_proc_fill_mask(proc)\ |
1029 | 3.05k | dev_t_proc_fill_mask(proc, gx_device) |
1030 | | |
1031 | | /* Added in release 3.66, changed in 3.69 */ |
1032 | | |
1033 | | #define dev_t_proc_fill_trapezoid(proc, dev_t)\ |
1034 | 85.1M | int proc(dev_t *dev,\ |
1035 | 85.1M | const gs_fixed_edge *left, const gs_fixed_edge *right,\ |
1036 | 85.1M | fixed ybot, fixed ytop, bool swap_axes,\ |
1037 | 85.1M | const gx_drawing_color *pdcolor, gs_logical_operation_t lop) |
1038 | | #define dev_proc_fill_trapezoid(proc)\ |
1039 | 85.1M | dev_t_proc_fill_trapezoid(proc, gx_device) |
1040 | | |
1041 | | #define dev_t_proc_fill_parallelogram(proc, dev_t)\ |
1042 | 5.66M | int proc(dev_t *dev,\ |
1043 | 5.66M | fixed px, fixed py, fixed ax, fixed ay, fixed bx, fixed by,\ |
1044 | 5.66M | const gx_drawing_color *pdcolor, gs_logical_operation_t lop) |
1045 | | #define dev_proc_fill_parallelogram(proc)\ |
1046 | 5.66M | dev_t_proc_fill_parallelogram(proc, gx_device) |
1047 | | |
1048 | | #define dev_t_proc_fill_triangle(proc, dev_t)\ |
1049 | 0 | int proc(dev_t *dev,\ |
1050 | 0 | fixed px, fixed py, fixed ax, fixed ay, fixed bx, fixed by,\ |
1051 | 0 | const gx_drawing_color *pdcolor, gs_logical_operation_t lop) |
1052 | | #define dev_proc_fill_triangle(proc)\ |
1053 | 0 | dev_t_proc_fill_triangle(proc, gx_device) |
1054 | | |
1055 | | /* adjustx and adjusty were added in 8.71 to get around a |
1056 | | * problem with PCL (Bug 691030). In the fullness of time |
1057 | | * hopefully PCL can be fixed to not need them and they can |
1058 | | * be removed again. */ |
1059 | | |
1060 | | #define dev_t_proc_draw_thin_line(proc, dev_t)\ |
1061 | 0 | int proc(dev_t *dev,\ |
1062 | 0 | fixed fx0, fixed fy0, fixed fx1, fixed fy1,\ |
1063 | 0 | const gx_drawing_color *pdcolor, gs_logical_operation_t lop,\ |
1064 | 0 | fixed adjustx, fixed adjusty) |
1065 | | #define dev_proc_draw_thin_line(proc)\ |
1066 | 0 | dev_t_proc_draw_thin_line(proc, gx_device) |
1067 | | |
1068 | | /* Added in release 3.68 */ |
1069 | | |
1070 | | #define dev_t_proc_strip_tile_rectangle(proc, dev_t)\ |
1071 | 0 | int proc(dev_t *dev,\ |
1072 | 0 | const gx_strip_bitmap *tiles, int x, int y, int width, int height,\ |
1073 | 0 | gx_color_index color0, gx_color_index color1,\ |
1074 | 0 | int phase_x, int phase_y) |
1075 | | #define dev_proc_strip_tile_rectangle(proc)\ |
1076 | 0 | dev_t_proc_strip_tile_rectangle(proc, gx_device) |
1077 | | |
1078 | | /* Added in release 4.20 */ |
1079 | | |
1080 | | #define dev_t_proc_get_clipping_box(proc, dev_t)\ |
1081 | | void proc(dev_t *dev, gs_fixed_rect *pbox) |
1082 | | #define dev_proc_get_clipping_box(proc)\ |
1083 | | dev_t_proc_get_clipping_box(proc, gx_device) |
1084 | | |
1085 | | /* Added in release 5.20, changed in 5.23 */ |
1086 | | |
1087 | | #define dev_t_proc_begin_typed_image(proc, dev_t)\ |
1088 | 67.1k | int proc(dev_t *dev,\ |
1089 | 67.1k | const gs_gstate *pgs, const gs_matrix *pmat,\ |
1090 | 67.1k | const gs_image_common_t *pim, const gs_int_rect *prect,\ |
1091 | 67.1k | const gx_drawing_color *pdcolor, const gx_clip_path *pcpath,\ |
1092 | 67.1k | gs_memory_t *memory, gx_image_enum_common_t **pinfo) |
1093 | | #define dev_proc_begin_typed_image(proc)\ |
1094 | 67.1k | dev_t_proc_begin_typed_image(proc, gx_device) |
1095 | | |
1096 | | /* Added in release 5.20 */ |
1097 | | |
1098 | | #define dev_t_proc_get_bits_rectangle(proc, dev_t)\ |
1099 | 0 | int proc(dev_t *dev, const gs_int_rect *prect,\ |
1100 | 0 | gs_get_bits_params_t *params) |
1101 | | #define dev_proc_get_bits_rectangle(proc)\ |
1102 | 0 | dev_t_proc_get_bits_rectangle(proc, gx_device) |
1103 | | |
1104 | | #define dev_t_proc_composite(proc, dev_t)\ |
1105 | | int proc(dev_t *dev,\ |
1106 | | gx_device **pcdev, const gs_composite_t *pcte,\ |
1107 | | gs_gstate *pgs, gs_memory_t *memory, gx_device *cdev) |
1108 | | #define dev_proc_composite(proc)\ |
1109 | | dev_t_proc_composite(proc, gx_device)\ |
1110 | | |
1111 | | /* Added in release 5.23 */ |
1112 | | |
1113 | | #define dev_t_proc_get_hardware_params(proc, dev_t)\ |
1114 | | int proc(dev_t *dev, gs_param_list *plist) |
1115 | | #define dev_proc_get_hardware_params(proc)\ |
1116 | | dev_t_proc_get_hardware_params(proc, gx_device) |
1117 | | |
1118 | | /* Added in release 5.24 */ |
1119 | | |
1120 | | /* ... text_begin ... see gstext.h for definition */ |
1121 | | |
1122 | | /* Added in release 6.61 (raph) */ |
1123 | | |
1124 | | /* |
1125 | | This area of the transparency facilities is in flux. Here is a proposal |
1126 | | for extending the driver interface. |
1127 | | */ |
1128 | | |
1129 | | /* |
1130 | | Push the current transparency state (*ppts) onto the associated stack, |
1131 | | and set *ppts to a new transparency state of the given dimension. The |
1132 | | transparency state may copy some or all of the gs_gstate, such as the |
1133 | | current alpha and/or transparency mask values, and definitely copies the |
1134 | | parameters. |
1135 | | */ |
1136 | | #define dev_t_proc_begin_transparency_group(proc, dev_t)\ |
1137 | | int proc(gx_device *dev,\ |
1138 | | const gs_transparency_group_params_t *ptgp,\ |
1139 | | const gs_rect *pbbox,\ |
1140 | | gs_gstate *pgs,\ |
1141 | | gs_memory_t *mem) |
1142 | | #define dev_proc_begin_transparency_group(proc)\ |
1143 | | dev_t_proc_begin_transparency_group(proc, gx_device) |
1144 | | |
1145 | | /* |
1146 | | End a transparency group: blend the top element of the transparency |
1147 | | stack, which must be a group, into the next-to-top element, popping the |
1148 | | stack. If the stack only had a single element, blend into the device |
1149 | | output. Set *ppts to 0 iff the stack is now empty. If end_group fails, |
1150 | | the stack is *not* popped. |
1151 | | */ |
1152 | | #define dev_t_proc_end_transparency_group(proc, dev_t)\ |
1153 | | int proc(gx_device *dev,\ |
1154 | | gs_gstate *pgs) |
1155 | | #define dev_proc_end_transparency_group(proc)\ |
1156 | | dev_t_proc_end_transparency_group(proc, gx_device) |
1157 | | |
1158 | | /* |
1159 | | Push the transparency state and prepare to render a transparency mask. |
1160 | | This is similar to begin_transparency_group except that it only |
1161 | | accumulates coverage values, not full pixel values. |
1162 | | */ |
1163 | | #define dev_t_proc_begin_transparency_mask(proc, dev_t)\ |
1164 | | int proc(gx_device *dev,\ |
1165 | | const gx_transparency_mask_params_t *ptmp,\ |
1166 | | const gs_rect *pbbox,\ |
1167 | | gs_gstate *pgs,\ |
1168 | | gs_memory_t *mem) |
1169 | | #define dev_proc_begin_transparency_mask(proc)\ |
1170 | | dev_t_proc_begin_transparency_mask(proc, gx_device) |
1171 | | |
1172 | | /* |
1173 | | Store a pointer to the rendered transparency mask into *pptm, popping the |
1174 | | stack like end_group. Normally, the client will follow this by using |
1175 | | rc_assign to store the rendered mask into pgs->{opacity,shape}.mask. If |
1176 | | end_mask fails, the stack is *not* popped. |
1177 | | */ |
1178 | | #define dev_t_proc_end_transparency_mask(proc, dev_t)\ |
1179 | | int proc(gx_device *dev,\ |
1180 | | gs_gstate *pgs) |
1181 | | #define dev_proc_end_transparency_mask(proc)\ |
1182 | | dev_t_proc_end_transparency_mask(proc, gx_device) |
1183 | | |
1184 | | /* |
1185 | | This will clean up the entire device allocations as something went |
1186 | | wrong in the middle of reading in the source content while we are dealing with |
1187 | | a transparency device. |
1188 | | */ |
1189 | | #define dev_t_proc_discard_transparency_layer(proc, dev_t)\ |
1190 | | int proc(gx_device *dev,\ |
1191 | | gs_gstate *pgs) |
1192 | | #define dev_proc_discard_transparency_layer(proc)\ |
1193 | | dev_t_proc_discard_transparency_layer(proc, gx_device) |
1194 | | |
1195 | | /* (end of transparency driver interface extensions) */ |
1196 | | |
1197 | | /* (start of DeviceN color support) */ |
1198 | | /* |
1199 | | * The following macros are defined in gxcmap.h |
1200 | | * |
1201 | | * dev_t_proc_get_color_mapping_procs |
1202 | | * dev_proc_get_color_mapping_procs |
1203 | | * dev_t_proc_get_color_comp_index |
1204 | | * dev_proc_get_color_comp_index |
1205 | | * dev_t_proc_encode_color |
1206 | | * dev_proc_encode_color |
1207 | | * dev_t_proc_decode_color |
1208 | | * dev_proc_decode_color |
1209 | | */ |
1210 | | /* (end of DeviceN color support) */ |
1211 | | |
1212 | | /* |
1213 | | Fill rectangle with a high level color. |
1214 | | Return rangecheck, if the device can't handle the high level color. |
1215 | | |
1216 | | The graphics library calls this function with degenerate (widths=0) |
1217 | | rectangles, to know whether the device can handle a rectangle with |
1218 | | the high level color. The device should skip such rectangles returning |
1219 | | a proper code. |
1220 | | |
1221 | | Currently this function is used with gs_rectfill and gs_fillpage. It is |
1222 | | also used for the handling of the devn color type for supporting |
1223 | | large number of spot colorants to planar separation devices. |
1224 | | |
1225 | | */ |
1226 | | |
1227 | | #define dev_t_proc_fill_rectangle_hl_color(proc, dev_t)\ |
1228 | | int proc(dev_t *dev, const gs_fixed_rect *rect, \ |
1229 | | const gs_gstate *pgs, const gx_drawing_color *pdcolor, \ |
1230 | | const gx_clip_path *pcpath) |
1231 | | #define dev_proc_fill_rectangle_hl_color(proc)\ |
1232 | | dev_t_proc_fill_rectangle_hl_color(proc, gx_device) |
1233 | | |
1234 | | /* |
1235 | | Include a color space into the output. |
1236 | | This function is used to include DefaultGray, DefaultRGB, |
1237 | | DefaultCMYK into PDF, PS, EPS output. |
1238 | | Low level devices should ignore this call. |
1239 | | */ |
1240 | | |
1241 | | #define dev_t_proc_include_color_space(proc, dev_t)\ |
1242 | | int proc(dev_t *dev, gs_color_space *cspace, const byte *res_name, int name_length) |
1243 | | #define dev_proc_include_color_space(proc)\ |
1244 | | dev_t_proc_include_color_space(proc, gx_device) |
1245 | | |
1246 | | /* Shading support. */ |
1247 | | |
1248 | | typedef struct gs_fill_attributes_s { |
1249 | | const gs_fixed_rect *clip; |
1250 | | bool swap_axes; |
1251 | | const gx_device_halftone *ht; /* Reserved for possible use in future. */ |
1252 | | gs_logical_operation_t lop; /* Reserved for possible use in future. */ |
1253 | | fixed ystart, yend; /* Only for X-independent gradients. Base coordinates of the gradient. */ |
1254 | | patch_fill_state_t *pfs; /* For gx_fill_triangle_small. Clients must not change. */ |
1255 | | } gs_fill_attributes; |
1256 | | |
1257 | | /* Fill a linear color scanline. */ |
1258 | | |
1259 | | #define dev_t_proc_fill_linear_color_scanline(proc, dev_t)\ |
1260 | 0 | int proc(dev_t *dev, const gs_fill_attributes *fa,\ |
1261 | 0 | int i, int j, int w, /* scanline coordinates and width */\ |
1262 | 0 | const frac31 *c0, /* initial color for the pixel (i,j), the integer part */\ |
1263 | 0 | const int32_t *c0_f, /* initial color for the pixel (i,j), the fraction part numerator */\ |
1264 | 0 | const int32_t *cg_num, /* color gradient numerator */\ |
1265 | 0 | int32_t cg_den /* color gradient denominator */) |
1266 | | #define dev_proc_fill_linear_color_scanline(proc)\ |
1267 | 0 | dev_t_proc_fill_linear_color_scanline(proc, gx_device) |
1268 | | |
1269 | | /* Fill a linear color trapezoid. */ |
1270 | | /* The server assumes a strongly linear color, |
1271 | | i.e. it can ignore any of c0, c1, c2, c3. */ |
1272 | | /* [p0 : p1] - left edge, from bottom to top. |
1273 | | [p2 : p3] - right edge, from bottom to top. |
1274 | | The filled area is within Y-spans of both edges. */ |
1275 | | /* Either (c0 and c1) or (c2 and c3) may be NULL. |
1276 | | In this case the color doesn't depend on X (on Y if fa->swap_axes). |
1277 | | In this case the base coordinates for the color gradient |
1278 | | may be unequal to p0, p1, p2, p3, and must be provided/taken |
1279 | | in/from fa->ystart, fa->yend. |
1280 | | The return value 0 is not allowed in this case. */ |
1281 | | /* Return values : |
1282 | | 1 - success; |
1283 | | 0 - Too big. The area isn't filled. The client must decompose the area. |
1284 | | <0 - error. |
1285 | | */ |
1286 | | |
1287 | | #define dev_t_proc_fill_linear_color_trapezoid(proc, dev_t)\ |
1288 | 39 | int proc(dev_t *dev, const gs_fill_attributes *fa,\ |
1289 | 39 | const gs_fixed_point *p0, const gs_fixed_point *p1,\ |
1290 | 39 | const gs_fixed_point *p2, const gs_fixed_point *p3,\ |
1291 | 39 | const frac31 *c0, const frac31 *c1,\ |
1292 | 39 | const frac31 *c2, const frac31 *c3) |
1293 | | #define dev_proc_fill_linear_color_trapezoid(proc)\ |
1294 | 39 | dev_t_proc_fill_linear_color_trapezoid(proc, gx_device) |
1295 | | |
1296 | | /* Fill a linear color triangle. */ |
1297 | | /* Return values : |
1298 | | 1 - success; |
1299 | | 0 - Too big. The area isn't filled. The client must decompose the area. |
1300 | | <0 - error. |
1301 | | */ |
1302 | | |
1303 | | #define dev_t_proc_fill_linear_color_triangle(proc, dev_t)\ |
1304 | 14 | int proc(dev_t *dev, const gs_fill_attributes *fa,\ |
1305 | 14 | const gs_fixed_point *p0, const gs_fixed_point *p1,\ |
1306 | 14 | const gs_fixed_point *p2,\ |
1307 | 14 | const frac31 *c0, const frac31 *c1, const frac31 *c2) |
1308 | | #define dev_proc_fill_linear_color_triangle(proc)\ |
1309 | 14 | dev_t_proc_fill_linear_color_triangle(proc, gx_device) |
1310 | | |
1311 | | /* |
1312 | | * Update the equivalent colors for spot colors in a color space. The default |
1313 | | * procedure does nothing. However this routine provides a method for devices |
1314 | | * to determine an equivalent color for a spot color. See comments at the |
1315 | | * start of src/gsequivc.c. |
1316 | | */ |
1317 | | #define dev_t_proc_update_spot_equivalent_colors(proc, dev_t)\ |
1318 | | int proc(dev_t *dev, const gs_gstate * pgs, const gs_color_space *pcs) |
1319 | | #define dev_proc_update_spot_equivalent_colors(proc)\ |
1320 | | dev_t_proc_update_spot_equivalent_colors(proc, gx_device) |
1321 | | |
1322 | | /* |
1323 | | * return a pointer to the devn_params section of a device. Return NULL |
1324 | | * if this field is not present within the device. |
1325 | | */ |
1326 | | typedef struct gs_devn_params_s gs_devn_params; |
1327 | | |
1328 | | #define dev_t_proc_ret_devn_params(proc, dev_t)\ |
1329 | | gs_devn_params * proc(dev_t *dev) |
1330 | | #define dev_proc_ret_devn_params(proc)\ |
1331 | | dev_t_proc_ret_devn_params(proc, gx_device) |
1332 | | #define dev_proc_ret_devn_params_const(proc)\ |
1333 | | const dev_t_proc_ret_devn_params(proc, const gx_device) |
1334 | | |
1335 | | /* |
1336 | | * Erase page. |
1337 | | */ |
1338 | | |
1339 | | #define dev_t_proc_fillpage(proc, dev_t)\ |
1340 | 0 | int proc(gx_device *dev, gs_gstate * pgs, gx_device_color *pdevc) |
1341 | | #define dev_proc_fillpage(proc)\ |
1342 | 0 | dev_t_proc_fillpage(proc, gx_device) |
1343 | | |
1344 | | #define dev_t_proc_push_transparency_state(proc, dev_t)\ |
1345 | | int proc(gx_device *dev,\ |
1346 | | gs_gstate *pgs) |
1347 | | #define dev_proc_push_transparency_state(proc)\ |
1348 | | dev_t_proc_push_transparency_state(proc, gx_device) |
1349 | | |
1350 | | #define dev_t_proc_pop_transparency_state(proc, dev_t)\ |
1351 | | int proc(gx_device *dev,\ |
1352 | | gs_gstate *pgs) |
1353 | | #define dev_proc_pop_transparency_state(proc)\ |
1354 | | dev_t_proc_pop_transparency_state(proc, gx_device) |
1355 | | |
1356 | | #define dev_t_proc_put_image(proc, dev_t)\ |
1357 | | int proc(gx_device *dev, gx_device *mdev, const byte **buffers, int num_chan, int x, int y,\ |
1358 | | int width, int height, int row_stride,\ |
1359 | | int alpha_plane_index, int tag_plane_index) |
1360 | | #define dev_proc_put_image(proc)\ |
1361 | | dev_t_proc_put_image(proc, gx_device) |
1362 | | |
1363 | | #define dev_t_proc_dev_spec_op(proc, dev_t)\ |
1364 | 0 | int proc(gx_device *dev, int op, void *data, int datasize) |
1365 | | #define dev_proc_dev_spec_op(proc)\ |
1366 | | dev_t_proc_dev_spec_op(proc, gx_device) |
1367 | | |
1368 | | #define dev_t_proc_copy_planes(proc, dev_t)\ |
1369 | 55.1M | int proc(dev_t *dev,\ |
1370 | 55.1M | const byte *data, int data_x, int raster, gx_bitmap_id id,\ |
1371 | 55.1M | int x, int y, int width, int height, int plane_height) |
1372 | | #define dev_proc_copy_planes(proc)\ |
1373 | 55.1M | dev_t_proc_copy_planes(proc, gx_device) |
1374 | | |
1375 | | #define dev_t_proc_get_profile(proc, dev_t)\ |
1376 | | int proc(const dev_t *dev, cmm_dev_profile_t **dev_profile) |
1377 | | #define dev_proc_get_profile(proc)\ |
1378 | | dev_t_proc_get_profile(proc, gx_device) |
1379 | | |
1380 | | #define dev_t_proc_set_graphics_type_tag(proc, dev_t)\ |
1381 | | void proc(dev_t *dev, gs_graphics_type_tag_t) |
1382 | | #define dev_proc_set_graphics_type_tag(proc)\ |
1383 | | dev_t_proc_set_graphics_type_tag(proc, gx_device) |
1384 | | |
1385 | | #define dev_t_proc_strip_copy_rop2(proc, dev_t)\ |
1386 | 0 | int proc(dev_t *dev,\ |
1387 | 0 | const byte *sdata, int sourcex, uint sraster, gx_bitmap_id id,\ |
1388 | 0 | const gx_color_index *scolors,\ |
1389 | 0 | const gx_strip_bitmap *textures, const gx_color_index *tcolors,\ |
1390 | 0 | int x, int y, int width, int height,\ |
1391 | 0 | int phase_x, int phase_y, gs_logical_operation_t lop,\ |
1392 | 0 | uint planar_height) |
1393 | | #define dev_proc_strip_copy_rop2(proc)\ |
1394 | 0 | dev_t_proc_strip_copy_rop2(proc, gx_device) |
1395 | | |
1396 | | #define dev_t_proc_strip_tile_rect_devn(proc, dev_t)\ |
1397 | | int proc(dev_t *dev,\ |
1398 | | const gx_strip_bitmap *tiles, int x, int y, int width, int height,\ |
1399 | | const gx_drawing_color *pdcolor0, const gx_drawing_color *pdcolor1,\ |
1400 | | int phase_x, int phase_y) |
1401 | | #define dev_proc_strip_tile_rect_devn(proc)\ |
1402 | | dev_t_proc_strip_tile_rect_devn(proc, gx_device) |
1403 | | |
1404 | | #define dev_t_proc_copy_alpha_hl_color(proc, dev_t)\ |
1405 | | int proc(dev_t *dev, const byte *data, int data_x,\ |
1406 | | int raster, gx_bitmap_id id, int x, int y, int width, int height,\ |
1407 | | const gx_drawing_color *pdcolor, int depth) |
1408 | | #define dev_proc_copy_alpha_hl_color(proc)\ |
1409 | | dev_t_proc_copy_alpha_hl_color(proc, gx_device) |
1410 | | |
1411 | | typedef struct gx_process_page_options_s gx_process_page_options_t; |
1412 | | |
1413 | | struct gx_process_page_options_s |
1414 | | { |
1415 | | int (*init_buffer_fn)(void *arg, gx_device *dev, gs_memory_t *memory, int w, int h, void **buffer); |
1416 | | void (*free_buffer_fn)(void *arg, gx_device *dev, gs_memory_t *memory, void *buffer); |
1417 | | int (*process_fn)(void *arg, gx_device *dev, gx_device *bdev, const gs_int_rect *rect, void *buffer); |
1418 | | int (*output_fn)(void *arg, gx_device *dev, void *buffer); |
1419 | | void *arg; |
1420 | | int options; /* A mask of GX_PROCPAGE_... options bits */ |
1421 | | }; |
1422 | | |
1423 | | /* If GX_PROCPAGE_BOTTOM_UP, then we run from band n-1 to band 0, rather than |
1424 | | * 0 to n-1. */ |
1425 | 0 | #define GX_PROCPAGE_BOTTOM_UP 1 |
1426 | | |
1427 | | #define dev_t_proc_process_page(proc, dev_t)\ |
1428 | | int proc(dev_t *dev, gx_process_page_options_t *options) |
1429 | | #define dev_proc_process_page(proc)\ |
1430 | | dev_t_proc_process_page(proc, gx_device) |
1431 | | |
1432 | | typedef enum { |
1433 | | transform_pixel_region_begin = 0, |
1434 | | transform_pixel_region_data_needed = 1, |
1435 | | transform_pixel_region_process_data = 2, |
1436 | | transform_pixel_region_end = 3 |
1437 | | } transform_pixel_region_reason; |
1438 | | |
1439 | | typedef struct { |
1440 | | void *state; |
1441 | | union { |
1442 | | struct { |
1443 | | const gs_int_rect *clip; |
1444 | | int w; /* source width */ |
1445 | | int h; /* source height */ |
1446 | | int spp; |
1447 | | const gx_dda_fixed_point *pixels; /* DDA to enumerate the destination positions of pixels across a row */ |
1448 | | const gx_dda_fixed_point *rows; /* DDA to enumerate the starting position of each row */ |
1449 | | gs_logical_operation_t lop; |
1450 | | } init; |
1451 | | struct { |
1452 | | const unsigned char *buffer[GX_DEVICE_COLOR_MAX_COMPONENTS]; |
1453 | | int data_x; |
1454 | | gx_cmapper_t *cmapper; |
1455 | | const gs_gstate *pgs; |
1456 | | } process_data; |
1457 | | } u; |
1458 | | } transform_pixel_region_data; |
1459 | | |
1460 | | #define dev_t_proc_transform_pixel_region(proc, dev_t)\ |
1461 | | int proc(dev_t *dev, transform_pixel_region_reason reason, transform_pixel_region_data *data) |
1462 | | #define dev_proc_transform_pixel_region(proc)\ |
1463 | | dev_t_proc_transform_pixel_region(proc, gx_device) |
1464 | | |
1465 | | |
1466 | | /* Define the device procedure vector template proper. */ |
1467 | | |
1468 | | #define gx_device_proc_struct(dev_t)\ |
1469 | | {\ |
1470 | | dev_t_proc_initialize_device((*initialize_device), dev_t);\ |
1471 | | dev_t_proc_open_device((*open_device), dev_t);\ |
1472 | | dev_t_proc_get_initial_matrix((*get_initial_matrix), dev_t);\ |
1473 | | dev_t_proc_sync_output((*sync_output), dev_t);\ |
1474 | | dev_t_proc_output_page((*output_page), dev_t);\ |
1475 | | dev_t_proc_close_device((*close_device), dev_t);\ |
1476 | | dev_t_proc_map_rgb_color((*map_rgb_color), dev_t);\ |
1477 | | dev_t_proc_map_color_rgb((*map_color_rgb), dev_t);\ |
1478 | | dev_t_proc_fill_rectangle((*fill_rectangle), dev_t);\ |
1479 | | dev_t_proc_copy_mono((*copy_mono), dev_t);\ |
1480 | | dev_t_proc_copy_color((*copy_color), dev_t);\ |
1481 | | dev_t_proc_get_params((*get_params), dev_t);\ |
1482 | | dev_t_proc_put_params((*put_params), dev_t);\ |
1483 | | dev_t_proc_map_cmyk_color((*map_cmyk_color), dev_t);\ |
1484 | | dev_t_proc_get_page_device((*get_page_device), dev_t);\ |
1485 | | dev_t_proc_get_alpha_bits((*get_alpha_bits), dev_t);\ |
1486 | | dev_t_proc_copy_alpha((*copy_alpha), dev_t);\ |
1487 | | dev_t_proc_fill_path((*fill_path), dev_t);\ |
1488 | | dev_t_proc_stroke_path((*stroke_path), dev_t);\ |
1489 | | dev_t_proc_fill_mask((*fill_mask), dev_t);\ |
1490 | | dev_t_proc_fill_trapezoid((*fill_trapezoid), dev_t);\ |
1491 | | dev_t_proc_fill_parallelogram((*fill_parallelogram), dev_t);\ |
1492 | | dev_t_proc_fill_triangle((*fill_triangle), dev_t);\ |
1493 | | dev_t_proc_draw_thin_line((*draw_thin_line), dev_t);\ |
1494 | | dev_t_proc_strip_tile_rectangle((*strip_tile_rectangle), dev_t);\ |
1495 | | dev_t_proc_get_clipping_box((*get_clipping_box), dev_t);\ |
1496 | | dev_t_proc_begin_typed_image((*begin_typed_image), dev_t);\ |
1497 | | dev_t_proc_get_bits_rectangle((*get_bits_rectangle), dev_t);\ |
1498 | | dev_t_proc_composite((*composite), dev_t);\ |
1499 | | dev_t_proc_get_hardware_params((*get_hardware_params), dev_t);\ |
1500 | | dev_t_proc_text_begin((*text_begin), dev_t);\ |
1501 | | dev_t_proc_begin_transparency_group((*begin_transparency_group), dev_t);\ |
1502 | | dev_t_proc_end_transparency_group((*end_transparency_group), dev_t);\ |
1503 | | dev_t_proc_begin_transparency_mask((*begin_transparency_mask), dev_t);\ |
1504 | | dev_t_proc_end_transparency_mask((*end_transparency_mask), dev_t);\ |
1505 | | dev_t_proc_discard_transparency_layer((*discard_transparency_layer), dev_t);\ |
1506 | | dev_t_proc_get_color_mapping_procs((*get_color_mapping_procs), dev_t); \ |
1507 | | dev_t_proc_get_color_comp_index((*get_color_comp_index), dev_t); \ |
1508 | | dev_t_proc_encode_color((*encode_color), dev_t); \ |
1509 | | dev_t_proc_decode_color((*decode_color), dev_t); \ |
1510 | | dev_t_proc_fill_rectangle_hl_color((*fill_rectangle_hl_color), dev_t); \ |
1511 | | dev_t_proc_include_color_space((*include_color_space), dev_t); \ |
1512 | | dev_t_proc_fill_linear_color_scanline((*fill_linear_color_scanline), dev_t); \ |
1513 | | dev_t_proc_fill_linear_color_trapezoid((*fill_linear_color_trapezoid), dev_t); \ |
1514 | | dev_t_proc_fill_linear_color_triangle((*fill_linear_color_triangle), dev_t); \ |
1515 | | dev_t_proc_update_spot_equivalent_colors((*update_spot_equivalent_colors), dev_t); \ |
1516 | | dev_t_proc_ret_devn_params((*ret_devn_params), dev_t); \ |
1517 | | dev_t_proc_fillpage((*fillpage), dev_t); \ |
1518 | | dev_t_proc_push_transparency_state((*push_transparency_state), dev_t); \ |
1519 | | dev_t_proc_pop_transparency_state((*pop_transparency_state), dev_t); \ |
1520 | | dev_t_proc_put_image((*put_image), dev_t); \ |
1521 | | dev_t_proc_dev_spec_op((*dev_spec_op), dev_t); \ |
1522 | | dev_t_proc_copy_planes((*copy_planes), dev_t); \ |
1523 | | dev_t_proc_get_profile((*get_profile), dev_t); \ |
1524 | | dev_t_proc_set_graphics_type_tag((*set_graphics_type_tag), dev_t); \ |
1525 | | dev_t_proc_strip_copy_rop2((*strip_copy_rop2), dev_t);\ |
1526 | | dev_t_proc_strip_tile_rect_devn((*strip_tile_rect_devn), dev_t);\ |
1527 | | dev_t_proc_copy_alpha_hl_color((*copy_alpha_hl_color), dev_t);\ |
1528 | | dev_t_proc_process_page((*process_page), dev_t);\ |
1529 | | dev_t_proc_transform_pixel_region((*transform_pixel_region), dev_t);\ |
1530 | | dev_t_proc_fill_stroke_path((*fill_stroke_path), dev_t);\ |
1531 | | dev_t_proc_lock_pattern((*lock_pattern), dev_t);\ |
1532 | | } |
1533 | | |
1534 | | /* |
1535 | | * Provide procedures for passing image data. image_data and end_image |
1536 | | * are the equivalents of the obsolete driver procedures. image_plane_data |
1537 | | * was originally planned as a driver procedure, but is now associated with |
1538 | | * the image enumerator, like the other two. |
1539 | | */ |
1540 | | |
1541 | | typedef struct gx_image_plane_s { |
1542 | | const byte *data; |
1543 | | int data_x; |
1544 | | uint raster; |
1545 | | } gx_image_plane_t; |
1546 | | |
1547 | | #define gx_device_begin_typed_image(dev, pgs, pmat, pim, prect, pdcolor, pcpath, memory, pinfo)\ |
1548 | 1.08M | ((*dev_proc(dev, begin_typed_image))\ |
1549 | 1.08M | (dev, pgs, pmat, pim, prect, pdcolor, pcpath, memory, pinfo)) |
1550 | | |
1551 | | int gx_image_data(gx_image_enum_common_t *info, const byte **planes, |
1552 | | int data_x, uint raster, int height); |
1553 | | /* |
1554 | | * Solely for backward compatibility, gx_image_plane_data doesn't return |
1555 | | * rows_used. |
1556 | | */ |
1557 | | int gx_image_plane_data(gx_image_enum_common_t *info, |
1558 | | const gx_image_plane_t *planes, int height); |
1559 | | int gx_image_plane_data_rows(gx_image_enum_common_t *info, |
1560 | | const gx_image_plane_t *planes, int height, |
1561 | | int *rows_used); |
1562 | | int gx_image_flush(gx_image_enum_common_t *info); |
1563 | | bool gx_image_planes_wanted(const gx_image_enum_common_t *info, byte *wanted); |
1564 | | int gx_image_end(gx_image_enum_common_t *info, bool draw_last); |
1565 | | |
1566 | | /* A generic device procedure record. */ |
1567 | | struct gx_device_procs_s gx_device_proc_struct(gx_device); |
1568 | | |
1569 | | /* |
1570 | | * Define unaligned analogues of the copy_xxx procedures. |
1571 | | * These are slower than the standard procedures, which require |
1572 | | * aligned bitmaps, and also are not portable to non-byte-addressed machines. |
1573 | | * |
1574 | | * We allow both unaligned data and unaligned scan line widths; |
1575 | | * however, we do require that both of these be aligned modulo the largest |
1576 | | * power of 2 bytes that divides the data depth, i.e.: |
1577 | | * depth alignment |
1578 | | * <= 8 1 |
1579 | | * 16 2 |
1580 | | * 24 1 |
1581 | | * 32 4 |
1582 | | */ |
1583 | | dev_proc_copy_mono(gx_copy_mono_unaligned); |
1584 | | dev_proc_copy_color(gx_copy_color_unaligned); |
1585 | | dev_proc_copy_alpha(gx_copy_alpha_unaligned); |
1586 | | |
1587 | | /* A generic device */ |
1588 | | struct gx_device_s { |
1589 | | gx_device_common; |
1590 | | }; |
1591 | | |
1592 | | extern_st(st_device); |
1593 | | struct_proc_finalize(gx_device_finalize); /* public for subclasses */ |
1594 | | /* We use vacuous enum/reloc procedures, rather than 0, so that */ |
1595 | | /* gx_device can have subclasses. */ |
1596 | | #define public_st_device() /* in gsdevice.c */\ |
1597 | | gs_public_st_complex_only(st_device, gx_device, "gx_device",\ |
1598 | | 0, device_enum_ptrs, device_reloc_ptrs, gx_device_finalize) |
1599 | 19.2M | #define st_device_max_ptrs 2 |
1600 | | |
1601 | | /* Enumerate or relocate a pointer to a device. */ |
1602 | | /* These take the containing space into account properly. */ |
1603 | | gx_device *gx_device_enum_ptr(gx_device *); |
1604 | | gx_device *gx_device_reloc_ptr(gx_device *, gc_state_t *); |
1605 | | |
1606 | | /* Define typedefs for some of the device procedures, because */ |
1607 | | /* ansi2knr can't handle dev_proc_xxx((*xxx)) in a formal argument list. */ |
1608 | | typedef dev_proc_map_rgb_color((*dev_proc_map_rgb_color_t)); |
1609 | | typedef dev_proc_map_color_rgb((*dev_proc_map_color_rgb_t)); |
1610 | | |
1611 | | /* |
1612 | | * A forwarding device forwards all non-display operations, and possibly |
1613 | | * some imaging operations (possibly transformed in some way), to another |
1614 | | * device called the "target". This is used for many different purposes |
1615 | | * internally, including clipping, banding, image and pattern accumulation, |
1616 | | * compositing, halftoning, and the null device. |
1617 | | */ |
1618 | | #define gx_device_forward_common\ |
1619 | | gx_device_common;\ |
1620 | | gx_device *target |
1621 | | /* A generic forwarding device. */ |
1622 | | typedef struct gx_device_forward_s { |
1623 | | gx_device_forward_common; |
1624 | | } gx_device_forward; |
1625 | | |
1626 | | extern_st(st_device_forward); |
1627 | | #define public_st_device_forward() /* in gsdevice.c */\ |
1628 | | gs_public_st_complex_only(st_device_forward, gx_device_forward,\ |
1629 | | "gx_device_forward", 0, device_forward_enum_ptrs,\ |
1630 | | device_forward_reloc_ptrs, gx_device_finalize) |
1631 | 19.2M | #define st_device_forward_max_ptrs (st_device_max_ptrs + 1) |
1632 | | |
1633 | | /* Test to see if the device wants to use tags */ |
1634 | | static inline bool device_encodes_tags(const gx_device *dev) |
1635 | 1.44G | { |
1636 | 1.44G | return (dev->graphics_type_tag & GS_DEVICE_ENCODES_TAGS) != 0; |
1637 | 1.44G | } Unexecuted instantiation: imain.c:device_encodes_tags Unexecuted instantiation: gconfig.c:device_encodes_tags Unexecuted instantiation: gximage3.c:device_encodes_tags Unexecuted instantiation: gximage4.c:device_encodes_tags Unexecuted instantiation: gxmclip.c:device_encodes_tags Unexecuted instantiation: gsptype1.c:device_encodes_tags Unexecuted instantiation: gxp1fill.c:device_encodes_tags gxpcmap.c:device_encodes_tags Line | Count | Source | 1635 | 171k | { | 1636 | 171k | return (dev->graphics_type_tag & GS_DEVICE_ENCODES_TAGS) != 0; | 1637 | 171k | } |
Unexecuted instantiation: gxicolor.c:device_encodes_tags gsdps1.c:device_encodes_tags Line | Count | Source | 1635 | 41.9k | { | 1636 | 41.9k | return (dev->graphics_type_tag & GS_DEVICE_ENCODES_TAGS) != 0; | 1637 | 41.9k | } |
Unexecuted instantiation: gsciemap.c:device_encodes_tags Unexecuted instantiation: gstrans.c:device_encodes_tags Unexecuted instantiation: gximag3x.c:device_encodes_tags Unexecuted instantiation: gxblend.c:device_encodes_tags gdevp14.c:device_encodes_tags Line | Count | Source | 1635 | 968M | { | 1636 | 968M | return (dev->graphics_type_tag & GS_DEVICE_ENCODES_TAGS) != 0; | 1637 | 968M | } |
gdevdevn.c:device_encodes_tags Line | Count | Source | 1635 | 128k | { | 1636 | 128k | return (dev->graphics_type_tag & GS_DEVICE_ENCODES_TAGS) != 0; | 1637 | 128k | } |
Unexecuted instantiation: gsequivc.c:device_encodes_tags Unexecuted instantiation: gdevdcrd.c:device_encodes_tags Unexecuted instantiation: gscpixel.c:device_encodes_tags Unexecuted instantiation: gdevbbox.c:device_encodes_tags Unexecuted instantiation: gdevprn.c:device_encodes_tags Unexecuted instantiation: gdevppla.c:device_encodes_tags Unexecuted instantiation: gdevflp.c:device_encodes_tags Unexecuted instantiation: gdevoflt.c:device_encodes_tags Unexecuted instantiation: gdevnup.c:device_encodes_tags Unexecuted instantiation: gdevsclass.c:device_encodes_tags Unexecuted instantiation: gxclist.c:device_encodes_tags Unexecuted instantiation: gxclpage.c:device_encodes_tags Unexecuted instantiation: gxclread.c:device_encodes_tags Unexecuted instantiation: gxclrect.c:device_encodes_tags Unexecuted instantiation: gxclutil.c:device_encodes_tags Unexecuted instantiation: gxclimag.c:device_encodes_tags Unexecuted instantiation: gxclpath.c:device_encodes_tags Unexecuted instantiation: gxdhtserial.c:device_encodes_tags Unexecuted instantiation: gxclthrd.c:device_encodes_tags Unexecuted instantiation: gsicc.c:device_encodes_tags gsicc_manage.c:device_encodes_tags Line | Count | Source | 1635 | 538k | { | 1636 | 538k | return (dev->graphics_type_tag & GS_DEVICE_ENCODES_TAGS) != 0; | 1637 | 538k | } |
Unexecuted instantiation: gsicc_cache.c:device_encodes_tags Unexecuted instantiation: gsicc_lcms2mt.c:device_encodes_tags Unexecuted instantiation: gsicc_create.c:device_encodes_tags Unexecuted instantiation: gsicc_nocm.c:device_encodes_tags Unexecuted instantiation: gsicc_replacecm.c:device_encodes_tags Unexecuted instantiation: gsicc_monitorcm.c:device_encodes_tags Unexecuted instantiation: gsicc_blacktext.c:device_encodes_tags Unexecuted instantiation: gdevbmp.c:device_encodes_tags Unexecuted instantiation: gdevbmpc.c:device_encodes_tags Unexecuted instantiation: gdevpccm.c:device_encodes_tags Unexecuted instantiation: gdevcups.c:device_encodes_tags Unexecuted instantiation: gdevpdf.c:device_encodes_tags Unexecuted instantiation: gdevpdfb.c:device_encodes_tags Unexecuted instantiation: gdevpdfc.c:device_encodes_tags Unexecuted instantiation: gdevpdfd.c:device_encodes_tags Unexecuted instantiation: gdevpdfe.c:device_encodes_tags Unexecuted instantiation: gdevpdfg.c:device_encodes_tags Unexecuted instantiation: gdevpdfi.c:device_encodes_tags Unexecuted instantiation: gdevpdfj.c:device_encodes_tags Unexecuted instantiation: gdevpdfk.c:device_encodes_tags Unexecuted instantiation: gdevpdfm.c:device_encodes_tags Unexecuted instantiation: gdevpdfo.c:device_encodes_tags Unexecuted instantiation: gdevpdfp.c:device_encodes_tags Unexecuted instantiation: gdevpdft.c:device_encodes_tags Unexecuted instantiation: gdevpdfr.c:device_encodes_tags Unexecuted instantiation: gdevpdfu.c:device_encodes_tags Unexecuted instantiation: gdevpdfv.c:device_encodes_tags Unexecuted instantiation: gdevpsdi.c:device_encodes_tags Unexecuted instantiation: gdevpsdp.c:device_encodes_tags Unexecuted instantiation: gdevpsds.c:device_encodes_tags Unexecuted instantiation: gdevpsdu.c:device_encodes_tags Unexecuted instantiation: gdevvec.c:device_encodes_tags Unexecuted instantiation: gdevpdt.c:device_encodes_tags Unexecuted instantiation: gdevpdtd.c:device_encodes_tags Unexecuted instantiation: gdevpdtf.c:device_encodes_tags Unexecuted instantiation: gdevpdti.c:device_encodes_tags Unexecuted instantiation: gdevpdts.c:device_encodes_tags Unexecuted instantiation: gdevpdtt.c:device_encodes_tags Unexecuted instantiation: gdevpdtw.c:device_encodes_tags Unexecuted instantiation: gxfcopy.c:device_encodes_tags Unexecuted instantiation: gdevfax.c:device_encodes_tags Unexecuted instantiation: gdevdjet.c:device_encodes_tags Unexecuted instantiation: gdevdljm.c:device_encodes_tags Unexecuted instantiation: gdevpcl.c:device_encodes_tags Unexecuted instantiation: gdevpcl3.c:device_encodes_tags Unexecuted instantiation: pclcap.c:device_encodes_tags Unexecuted instantiation: gdevpbm.c:device_encodes_tags gdevmpla.c:device_encodes_tags Line | Count | Source | 1635 | 2.55M | { | 1636 | 2.55M | return (dev->graphics_type_tag & GS_DEVICE_ENCODES_TAGS) != 0; | 1637 | 2.55M | } |
Unexecuted instantiation: gdevpng.c:device_encodes_tags Unexecuted instantiation: gdevpsd.c:device_encodes_tags Unexecuted instantiation: gdevpx.c:device_encodes_tags Unexecuted instantiation: gdevpxut.c:device_encodes_tags Unexecuted instantiation: gdevtsep.c:device_encodes_tags Unexecuted instantiation: gdevtifs.c:device_encodes_tags Unexecuted instantiation: gdevupd.c:device_encodes_tags Unexecuted instantiation: gdevxps.c:device_encodes_tags Unexecuted instantiation: gdevkrnlsclass.c:device_encodes_tags Unexecuted instantiation: gschar.c:device_encodes_tags Unexecuted instantiation: gscolor.c:device_encodes_tags Unexecuted instantiation: gscoord.c:device_encodes_tags gscspace.c:device_encodes_tags Line | Count | Source | 1635 | 200 | { | 1636 | 200 | return (dev->graphics_type_tag & GS_DEVICE_ENCODES_TAGS) != 0; | 1637 | 200 | } |
gsovrc.c:device_encodes_tags Line | Count | Source | 1635 | 229 | { | 1636 | 229 | return (dev->graphics_type_tag & GS_DEVICE_ENCODES_TAGS) != 0; | 1637 | 229 | } |
Unexecuted instantiation: gxoprect.c:device_encodes_tags Unexecuted instantiation: gsdevice.c:device_encodes_tags Unexecuted instantiation: gsdparam.c:device_encodes_tags Unexecuted instantiation: gsfont.c:device_encodes_tags Unexecuted instantiation: gsht.c:device_encodes_tags Unexecuted instantiation: gshtscr.c:device_encodes_tags gsimage.c:device_encodes_tags Line | Count | Source | 1635 | 1.07M | { | 1636 | 1.07M | return (dev->graphics_type_tag & GS_DEVICE_ENCODES_TAGS) != 0; | 1637 | 1.07M | } |
Unexecuted instantiation: gsgstate.c:device_encodes_tags Unexecuted instantiation: gsline.c:device_encodes_tags gspaint.c:device_encodes_tags Line | Count | Source | 1635 | 15.7M | { | 1636 | 15.7M | return (dev->graphics_type_tag & GS_DEVICE_ENCODES_TAGS) != 0; | 1637 | 15.7M | } |
Unexecuted instantiation: gspath.c:device_encodes_tags Unexecuted instantiation: gsstate.c:device_encodes_tags gstext.c:device_encodes_tags Line | Count | Source | 1635 | 23.6M | { | 1636 | 23.6M | return (dev->graphics_type_tag & GS_DEVICE_ENCODES_TAGS) != 0; | 1637 | 23.6M | } |
gxfapi.c:device_encodes_tags Line | Count | Source | 1635 | 263k | { | 1636 | 263k | return (dev->graphics_type_tag & GS_DEVICE_ENCODES_TAGS) != 0; | 1637 | 263k | } |
Unexecuted instantiation: write_t2.c:device_encodes_tags Unexecuted instantiation: gxccache.c:device_encodes_tags Unexecuted instantiation: gxccman.c:device_encodes_tags Unexecuted instantiation: gxchar.c:device_encodes_tags Unexecuted instantiation: gxcht.c:device_encodes_tags Unexecuted instantiation: gxclip.c:device_encodes_tags gxcmap.c:device_encodes_tags Line | Count | Source | 1635 | 436M | { | 1636 | 436M | return (dev->graphics_type_tag & GS_DEVICE_ENCODES_TAGS) != 0; | 1637 | 436M | } |
Unexecuted instantiation: gxcpath.c:device_encodes_tags Unexecuted instantiation: gxdcconv.c:device_encodes_tags gxdcolor.c:device_encodes_tags Line | Count | Source | 1635 | 435k | { | 1636 | 435k | return (dev->graphics_type_tag & GS_DEVICE_ENCODES_TAGS) != 0; | 1637 | 435k | } |
Unexecuted instantiation: gxhldevc.c:device_encodes_tags Unexecuted instantiation: gxfill.c:device_encodes_tags Unexecuted instantiation: gxht.c:device_encodes_tags Unexecuted instantiation: gxht_thresh.c:device_encodes_tags Unexecuted instantiation: gxidata.c:device_encodes_tags Unexecuted instantiation: gxifast.c:device_encodes_tags Unexecuted instantiation: gximage.c:device_encodes_tags Unexecuted instantiation: gximdecode.c:device_encodes_tags Unexecuted instantiation: gximage1.c:device_encodes_tags Unexecuted instantiation: gximono.c:device_encodes_tags Unexecuted instantiation: gxipixel.c:device_encodes_tags Unexecuted instantiation: gximask.c:device_encodes_tags Unexecuted instantiation: gxi12bit.c:device_encodes_tags Unexecuted instantiation: gxi16bit.c:device_encodes_tags Unexecuted instantiation: gxiscale.c:device_encodes_tags Unexecuted instantiation: gxpaint.c:device_encodes_tags Unexecuted instantiation: gxpcopy.c:device_encodes_tags Unexecuted instantiation: gxsample.c:device_encodes_tags Unexecuted instantiation: gxstroke.c:device_encodes_tags Unexecuted instantiation: gdevabuf.c:device_encodes_tags Unexecuted instantiation: gdevdbit.c:device_encodes_tags Unexecuted instantiation: gdevddrw.c:device_encodes_tags Unexecuted instantiation: gdevdflt.c:device_encodes_tags Unexecuted instantiation: gdevdgbr.c:device_encodes_tags Unexecuted instantiation: gdevnfwd.c:device_encodes_tags Unexecuted instantiation: gdevmem.c:device_encodes_tags Unexecuted instantiation: gdevplnx.c:device_encodes_tags Unexecuted instantiation: gdevm1.c:device_encodes_tags Unexecuted instantiation: gdevm2.c:device_encodes_tags Unexecuted instantiation: gdevm4.c:device_encodes_tags Unexecuted instantiation: gdevm8.c:device_encodes_tags Unexecuted instantiation: gdevm16.c:device_encodes_tags Unexecuted instantiation: gdevm24.c:device_encodes_tags Unexecuted instantiation: gdevm32.c:device_encodes_tags Unexecuted instantiation: gdevm40.c:device_encodes_tags Unexecuted instantiation: gdevm48.c:device_encodes_tags Unexecuted instantiation: gdevm56.c:device_encodes_tags Unexecuted instantiation: gdevm64.c:device_encodes_tags Unexecuted instantiation: gdevmx.c:device_encodes_tags Unexecuted instantiation: gdevdsha.c:device_encodes_tags Unexecuted instantiation: gxscanc.c:device_encodes_tags Unexecuted instantiation: gdevdrop.c:device_encodes_tags Unexecuted instantiation: gdevmr1.c:device_encodes_tags Unexecuted instantiation: gdevmr2n.c:device_encodes_tags Unexecuted instantiation: gdevmr8n.c:device_encodes_tags Unexecuted instantiation: gdevrops.c:device_encodes_tags Unexecuted instantiation: gsrop.c:device_encodes_tags Unexecuted instantiation: zcolor1.c:device_encodes_tags Unexecuted instantiation: zht1.c:device_encodes_tags Unexecuted instantiation: zupath.c:device_encodes_tags Unexecuted instantiation: gdevhit.c:device_encodes_tags Unexecuted instantiation: zdps1.c:device_encodes_tags Unexecuted instantiation: zchar1.c:device_encodes_tags Unexecuted instantiation: zcharout.c:device_encodes_tags Unexecuted instantiation: zfont1.c:device_encodes_tags Unexecuted instantiation: zusparam.c:device_encodes_tags Unexecuted instantiation: zchar42.c:device_encodes_tags Unexecuted instantiation: zfont0.c:device_encodes_tags Unexecuted instantiation: zfdctd.c:device_encodes_tags Unexecuted instantiation: zdevice2.c:device_encodes_tags Unexecuted instantiation: zpcolor.c:device_encodes_tags Unexecuted instantiation: idisp.c:device_encodes_tags Unexecuted instantiation: psapi.c:device_encodes_tags Unexecuted instantiation: zfileio.c:device_encodes_tags Unexecuted instantiation: zbfont.c:device_encodes_tags Unexecuted instantiation: zchar.c:device_encodes_tags Unexecuted instantiation: zcolor.c:device_encodes_tags Unexecuted instantiation: zdevice.c:device_encodes_tags Unexecuted instantiation: zfont.c:device_encodes_tags Unexecuted instantiation: zht.c:device_encodes_tags Unexecuted instantiation: zimage.c:device_encodes_tags Unexecuted instantiation: zfapi.c:device_encodes_tags Unexecuted instantiation: zcsindex.c:device_encodes_tags Unexecuted instantiation: zht2.c:device_encodes_tags Unexecuted instantiation: zcssepr.c:device_encodes_tags Unexecuted instantiation: zfunc4.c:device_encodes_tags Unexecuted instantiation: zform.c:device_encodes_tags Unexecuted instantiation: zimage3.c:device_encodes_tags Unexecuted instantiation: zicc.c:device_encodes_tags Unexecuted instantiation: ztrans.c:device_encodes_tags Unexecuted instantiation: zpdfops.c:device_encodes_tags Unexecuted instantiation: pdf_loop_detect.c:device_encodes_tags Unexecuted instantiation: ghostpdf.c:device_encodes_tags Unexecuted instantiation: pdf_dict.c:device_encodes_tags Unexecuted instantiation: pdf_array.c:device_encodes_tags Unexecuted instantiation: pdf_xref.c:device_encodes_tags Unexecuted instantiation: pdf_int.c:device_encodes_tags Unexecuted instantiation: pdf_file.c:device_encodes_tags Unexecuted instantiation: pdf_path.c:device_encodes_tags Unexecuted instantiation: pdf_colour.c:device_encodes_tags Unexecuted instantiation: pdf_pattern.c:device_encodes_tags Unexecuted instantiation: pdf_gstate.c:device_encodes_tags Unexecuted instantiation: pdf_stack.c:device_encodes_tags Unexecuted instantiation: pdf_image.c:device_encodes_tags Unexecuted instantiation: pdf_page.c:device_encodes_tags Unexecuted instantiation: pdf_annot.c:device_encodes_tags Unexecuted instantiation: pdf_mark.c:device_encodes_tags Unexecuted instantiation: pdf_font.c:device_encodes_tags Unexecuted instantiation: pdf_font0.c:device_encodes_tags Unexecuted instantiation: pdf_ciddec.c:device_encodes_tags Unexecuted instantiation: pdf_font1.c:device_encodes_tags Unexecuted instantiation: pdf_font1C.c:device_encodes_tags Unexecuted instantiation: pdf_fontps.c:device_encodes_tags Unexecuted instantiation: pdf_font3.c:device_encodes_tags Unexecuted instantiation: pdf_fontTT.c:device_encodes_tags Unexecuted instantiation: pdf_font11.c:device_encodes_tags Unexecuted instantiation: pdf_cmap.c:device_encodes_tags Unexecuted instantiation: pdf_fmap.c:device_encodes_tags Unexecuted instantiation: pdf_text.c:device_encodes_tags Unexecuted instantiation: pdf_shading.c:device_encodes_tags Unexecuted instantiation: pdf_func.c:device_encodes_tags Unexecuted instantiation: pdf_trans.c:device_encodes_tags Unexecuted instantiation: pdf_device.c:device_encodes_tags Unexecuted instantiation: pdf_misc.c:device_encodes_tags Unexecuted instantiation: pdf_optcontent.c:device_encodes_tags Unexecuted instantiation: pdf_check.c:device_encodes_tags Unexecuted instantiation: pdf_sec.c:device_encodes_tags Unexecuted instantiation: pdf_utf8.c:device_encodes_tags Unexecuted instantiation: pdf_deref.c:device_encodes_tags Unexecuted instantiation: pdf_repair.c:device_encodes_tags Unexecuted instantiation: pdf_obj.c:device_encodes_tags Unexecuted instantiation: pdf_doc.c:device_encodes_tags Unexecuted instantiation: imainarg.c:device_encodes_tags Unexecuted instantiation: gsclipsr.c:device_encodes_tags Unexecuted instantiation: gscdevn.c:device_encodes_tags Unexecuted instantiation: gxdevndi.c:device_encodes_tags Unexecuted instantiation: gxclipm.c:device_encodes_tags gscolor3.c:device_encodes_tags Line | Count | Source | 1635 | 72.7k | { | 1636 | 72.7k | return (dev->graphics_type_tag & GS_DEVICE_ENCODES_TAGS) != 0; | 1637 | 72.7k | } |
Unexecuted instantiation: gsptype2.c:device_encodes_tags Unexecuted instantiation: gsshade.c:device_encodes_tags Unexecuted instantiation: gxshade.c:device_encodes_tags Unexecuted instantiation: gxshade1.c:device_encodes_tags Unexecuted instantiation: gxshade4.c:device_encodes_tags Unexecuted instantiation: gxshade6.c:device_encodes_tags Unexecuted instantiation: gscolor1.c:device_encodes_tags Unexecuted instantiation: gsht1.c:device_encodes_tags Unexecuted instantiation: gscolor2.c:device_encodes_tags Unexecuted instantiation: gspcolor.c:device_encodes_tags Unexecuted instantiation: gxclip2.c:device_encodes_tags Unexecuted instantiation: gspath1.c:device_encodes_tags Unexecuted instantiation: gstype42.c:device_encodes_tags Unexecuted instantiation: gxchrout.c:device_encodes_tags Unexecuted instantiation: gxttfb.c:device_encodes_tags Unexecuted instantiation: gzspotan.c:device_encodes_tags Unexecuted instantiation: gscie.c:device_encodes_tags Unexecuted instantiation: gscsepr.c:device_encodes_tags Unexecuted instantiation: gxblend1.c:device_encodes_tags Unexecuted instantiation: gxdownscale.c:device_encodes_tags Unexecuted instantiation: gdevepo.c:device_encodes_tags Unexecuted instantiation: gxclbits.c:device_encodes_tags Unexecuted instantiation: gxclrast.c:device_encodes_tags Unexecuted instantiation: gschar0.c:device_encodes_tags Unexecuted instantiation: gsfont0.c:device_encodes_tags Unexecuted instantiation: gstype1.c:device_encodes_tags Unexecuted instantiation: gxtype1.c:device_encodes_tags Unexecuted instantiation: gstype2.c:device_encodes_tags Unexecuted instantiation: gsicc_profilecache.c:device_encodes_tags Unexecuted instantiation: gdevpdtb.c:device_encodes_tags Unexecuted instantiation: gdevpdtc.c:device_encodes_tags Unexecuted instantiation: gdevpdte.c:device_encodes_tags Unexecuted instantiation: gdevpsfx.c:device_encodes_tags Unexecuted instantiation: gstiffio.c:device_encodes_tags Unexecuted instantiation: gdeveprn.c:device_encodes_tags Unexecuted instantiation: eprnparm.c:device_encodes_tags Unexecuted instantiation: eprnrend.c:device_encodes_tags Unexecuted instantiation: eprnfs.c:device_encodes_tags Unexecuted instantiation: gscicach.c:device_encodes_tags Unexecuted instantiation: gsdevmem.c:device_encodes_tags Unexecuted instantiation: gxacpath.c:device_encodes_tags Unexecuted instantiation: gxpdash.c:device_encodes_tags Unexecuted instantiation: pdf_fapi.c:device_encodes_tags Unexecuted instantiation: gscscie.c:device_encodes_tags |
1638 | | |
1639 | | static inline gs_graphics_type_tag_t device_current_tag(const gx_device *dev) |
1640 | 104M | { |
1641 | 104M | gs_graphics_type_tag_t tag = dev->graphics_type_tag; |
1642 | 104M | return (tag & GS_DEVICE_ENCODES_TAGS) ? (tag & ~GS_DEVICE_ENCODES_TAGS) : 0; |
1643 | 104M | } Unexecuted instantiation: imain.c:device_current_tag Unexecuted instantiation: gconfig.c:device_current_tag Unexecuted instantiation: gximage3.c:device_current_tag Unexecuted instantiation: gximage4.c:device_current_tag Unexecuted instantiation: gxmclip.c:device_current_tag Unexecuted instantiation: gsptype1.c:device_current_tag Unexecuted instantiation: gxp1fill.c:device_current_tag Unexecuted instantiation: gxpcmap.c:device_current_tag gxicolor.c:device_current_tag Line | Count | Source | 1640 | 4.06M | { | 1641 | 4.06M | gs_graphics_type_tag_t tag = dev->graphics_type_tag; | 1642 | 4.06M | return (tag & GS_DEVICE_ENCODES_TAGS) ? (tag & ~GS_DEVICE_ENCODES_TAGS) : 0; | 1643 | 4.06M | } |
Unexecuted instantiation: gsdps1.c:device_current_tag Unexecuted instantiation: gsciemap.c:device_current_tag Unexecuted instantiation: gstrans.c:device_current_tag Unexecuted instantiation: gximag3x.c:device_current_tag Unexecuted instantiation: gxblend.c:device_current_tag Unexecuted instantiation: gdevp14.c:device_current_tag Unexecuted instantiation: gdevdevn.c:device_current_tag Unexecuted instantiation: gsequivc.c:device_current_tag Unexecuted instantiation: gdevdcrd.c:device_current_tag Unexecuted instantiation: gscpixel.c:device_current_tag Unexecuted instantiation: gdevbbox.c:device_current_tag Unexecuted instantiation: gdevprn.c:device_current_tag Unexecuted instantiation: gdevppla.c:device_current_tag Unexecuted instantiation: gdevflp.c:device_current_tag Unexecuted instantiation: gdevoflt.c:device_current_tag Unexecuted instantiation: gdevnup.c:device_current_tag Unexecuted instantiation: gdevsclass.c:device_current_tag Unexecuted instantiation: gxclist.c:device_current_tag Unexecuted instantiation: gxclpage.c:device_current_tag Unexecuted instantiation: gxclread.c:device_current_tag Unexecuted instantiation: gxclrect.c:device_current_tag Unexecuted instantiation: gxclutil.c:device_current_tag Unexecuted instantiation: gxclimag.c:device_current_tag Unexecuted instantiation: gxclpath.c:device_current_tag Unexecuted instantiation: gxdhtserial.c:device_current_tag Unexecuted instantiation: gxclthrd.c:device_current_tag Unexecuted instantiation: gsicc.c:device_current_tag Unexecuted instantiation: gsicc_manage.c:device_current_tag Unexecuted instantiation: gsicc_cache.c:device_current_tag Unexecuted instantiation: gsicc_lcms2mt.c:device_current_tag Unexecuted instantiation: gsicc_create.c:device_current_tag Unexecuted instantiation: gsicc_nocm.c:device_current_tag Unexecuted instantiation: gsicc_replacecm.c:device_current_tag Unexecuted instantiation: gsicc_monitorcm.c:device_current_tag Unexecuted instantiation: gsicc_blacktext.c:device_current_tag Unexecuted instantiation: gdevbmp.c:device_current_tag Unexecuted instantiation: gdevbmpc.c:device_current_tag Unexecuted instantiation: gdevpccm.c:device_current_tag Unexecuted instantiation: gdevcups.c:device_current_tag Unexecuted instantiation: gdevpdf.c:device_current_tag Unexecuted instantiation: gdevpdfb.c:device_current_tag Unexecuted instantiation: gdevpdfc.c:device_current_tag Unexecuted instantiation: gdevpdfd.c:device_current_tag Unexecuted instantiation: gdevpdfe.c:device_current_tag Unexecuted instantiation: gdevpdfg.c:device_current_tag Unexecuted instantiation: gdevpdfi.c:device_current_tag Unexecuted instantiation: gdevpdfj.c:device_current_tag Unexecuted instantiation: gdevpdfk.c:device_current_tag Unexecuted instantiation: gdevpdfm.c:device_current_tag Unexecuted instantiation: gdevpdfo.c:device_current_tag Unexecuted instantiation: gdevpdfp.c:device_current_tag Unexecuted instantiation: gdevpdft.c:device_current_tag Unexecuted instantiation: gdevpdfr.c:device_current_tag Unexecuted instantiation: gdevpdfu.c:device_current_tag Unexecuted instantiation: gdevpdfv.c:device_current_tag Unexecuted instantiation: gdevpsdi.c:device_current_tag Unexecuted instantiation: gdevpsdp.c:device_current_tag Unexecuted instantiation: gdevpsds.c:device_current_tag Unexecuted instantiation: gdevpsdu.c:device_current_tag Unexecuted instantiation: gdevvec.c:device_current_tag Unexecuted instantiation: gdevpdt.c:device_current_tag Unexecuted instantiation: gdevpdtd.c:device_current_tag Unexecuted instantiation: gdevpdtf.c:device_current_tag Unexecuted instantiation: gdevpdti.c:device_current_tag Unexecuted instantiation: gdevpdts.c:device_current_tag Unexecuted instantiation: gdevpdtt.c:device_current_tag Unexecuted instantiation: gdevpdtw.c:device_current_tag Unexecuted instantiation: gxfcopy.c:device_current_tag Unexecuted instantiation: gdevfax.c:device_current_tag Unexecuted instantiation: gdevdjet.c:device_current_tag Unexecuted instantiation: gdevdljm.c:device_current_tag Unexecuted instantiation: gdevpcl.c:device_current_tag Unexecuted instantiation: gdevpcl3.c:device_current_tag Unexecuted instantiation: pclcap.c:device_current_tag Unexecuted instantiation: gdevpbm.c:device_current_tag Unexecuted instantiation: gdevmpla.c:device_current_tag Unexecuted instantiation: gdevpng.c:device_current_tag Unexecuted instantiation: gdevpsd.c:device_current_tag Unexecuted instantiation: gdevpx.c:device_current_tag Unexecuted instantiation: gdevpxut.c:device_current_tag Unexecuted instantiation: gdevtsep.c:device_current_tag Unexecuted instantiation: gdevtifs.c:device_current_tag Unexecuted instantiation: gdevupd.c:device_current_tag Unexecuted instantiation: gdevxps.c:device_current_tag Unexecuted instantiation: gdevkrnlsclass.c:device_current_tag Unexecuted instantiation: gschar.c:device_current_tag Unexecuted instantiation: gscolor.c:device_current_tag Unexecuted instantiation: gscoord.c:device_current_tag Unexecuted instantiation: gscspace.c:device_current_tag Unexecuted instantiation: gsovrc.c:device_current_tag Unexecuted instantiation: gxoprect.c:device_current_tag Unexecuted instantiation: gsdevice.c:device_current_tag Unexecuted instantiation: gsdparam.c:device_current_tag Unexecuted instantiation: gsfont.c:device_current_tag Unexecuted instantiation: gsht.c:device_current_tag Unexecuted instantiation: gshtscr.c:device_current_tag Unexecuted instantiation: gsimage.c:device_current_tag Unexecuted instantiation: gsgstate.c:device_current_tag Unexecuted instantiation: gsline.c:device_current_tag Unexecuted instantiation: gspaint.c:device_current_tag Unexecuted instantiation: gspath.c:device_current_tag Unexecuted instantiation: gsstate.c:device_current_tag Unexecuted instantiation: gstext.c:device_current_tag Unexecuted instantiation: gxfapi.c:device_current_tag Unexecuted instantiation: write_t2.c:device_current_tag Unexecuted instantiation: gxccache.c:device_current_tag Unexecuted instantiation: gxccman.c:device_current_tag Unexecuted instantiation: gxchar.c:device_current_tag Unexecuted instantiation: gxcht.c:device_current_tag Unexecuted instantiation: gxclip.c:device_current_tag Unexecuted instantiation: gxcmap.c:device_current_tag Unexecuted instantiation: gxcpath.c:device_current_tag Unexecuted instantiation: gxdcconv.c:device_current_tag gxdcolor.c:device_current_tag Line | Count | Source | 1640 | 42.3M | { | 1641 | 42.3M | gs_graphics_type_tag_t tag = dev->graphics_type_tag; | 1642 | 42.3M | return (tag & GS_DEVICE_ENCODES_TAGS) ? (tag & ~GS_DEVICE_ENCODES_TAGS) : 0; | 1643 | 42.3M | } |
Unexecuted instantiation: gxhldevc.c:device_current_tag Unexecuted instantiation: gxfill.c:device_current_tag Unexecuted instantiation: gxht.c:device_current_tag Unexecuted instantiation: gxht_thresh.c:device_current_tag Unexecuted instantiation: gxidata.c:device_current_tag Unexecuted instantiation: gxifast.c:device_current_tag Unexecuted instantiation: gximage.c:device_current_tag Unexecuted instantiation: gximdecode.c:device_current_tag Unexecuted instantiation: gximage1.c:device_current_tag gximono.c:device_current_tag Line | Count | Source | 1640 | 11.0M | { | 1641 | 11.0M | gs_graphics_type_tag_t tag = dev->graphics_type_tag; | 1642 | 11.0M | return (tag & GS_DEVICE_ENCODES_TAGS) ? (tag & ~GS_DEVICE_ENCODES_TAGS) : 0; | 1643 | 11.0M | } |
gxipixel.c:device_current_tag Line | Count | Source | 1640 | 2.28M | { | 1641 | 2.28M | gs_graphics_type_tag_t tag = dev->graphics_type_tag; | 1642 | 2.28M | return (tag & GS_DEVICE_ENCODES_TAGS) ? (tag & ~GS_DEVICE_ENCODES_TAGS) : 0; | 1643 | 2.28M | } |
Unexecuted instantiation: gximask.c:device_current_tag Unexecuted instantiation: gxi12bit.c:device_current_tag Unexecuted instantiation: gxi16bit.c:device_current_tag Unexecuted instantiation: gxiscale.c:device_current_tag Unexecuted instantiation: gxpaint.c:device_current_tag Unexecuted instantiation: gxpcopy.c:device_current_tag Unexecuted instantiation: gxsample.c:device_current_tag Unexecuted instantiation: gxstroke.c:device_current_tag Unexecuted instantiation: gdevabuf.c:device_current_tag Unexecuted instantiation: gdevdbit.c:device_current_tag Unexecuted instantiation: gdevddrw.c:device_current_tag Unexecuted instantiation: gdevdflt.c:device_current_tag Unexecuted instantiation: gdevdgbr.c:device_current_tag Unexecuted instantiation: gdevnfwd.c:device_current_tag Unexecuted instantiation: gdevmem.c:device_current_tag Unexecuted instantiation: gdevplnx.c:device_current_tag Unexecuted instantiation: gdevm1.c:device_current_tag Unexecuted instantiation: gdevm2.c:device_current_tag Unexecuted instantiation: gdevm4.c:device_current_tag Unexecuted instantiation: gdevm8.c:device_current_tag Unexecuted instantiation: gdevm16.c:device_current_tag Unexecuted instantiation: gdevm24.c:device_current_tag Unexecuted instantiation: gdevm32.c:device_current_tag Unexecuted instantiation: gdevm40.c:device_current_tag Unexecuted instantiation: gdevm48.c:device_current_tag Unexecuted instantiation: gdevm56.c:device_current_tag Unexecuted instantiation: gdevm64.c:device_current_tag Unexecuted instantiation: gdevmx.c:device_current_tag gdevdsha.c:device_current_tag Line | Count | Source | 1640 | 24.1M | { | 1641 | 24.1M | gs_graphics_type_tag_t tag = dev->graphics_type_tag; | 1642 | 24.1M | return (tag & GS_DEVICE_ENCODES_TAGS) ? (tag & ~GS_DEVICE_ENCODES_TAGS) : 0; | 1643 | 24.1M | } |
Unexecuted instantiation: gxscanc.c:device_current_tag Unexecuted instantiation: gdevdrop.c:device_current_tag Unexecuted instantiation: gdevmr1.c:device_current_tag Unexecuted instantiation: gdevmr2n.c:device_current_tag Unexecuted instantiation: gdevmr8n.c:device_current_tag Unexecuted instantiation: gdevrops.c:device_current_tag Unexecuted instantiation: gsrop.c:device_current_tag Unexecuted instantiation: zcolor1.c:device_current_tag Unexecuted instantiation: zht1.c:device_current_tag Unexecuted instantiation: zupath.c:device_current_tag Unexecuted instantiation: gdevhit.c:device_current_tag Unexecuted instantiation: zdps1.c:device_current_tag Unexecuted instantiation: zchar1.c:device_current_tag Unexecuted instantiation: zcharout.c:device_current_tag Unexecuted instantiation: zfont1.c:device_current_tag Unexecuted instantiation: zusparam.c:device_current_tag Unexecuted instantiation: zchar42.c:device_current_tag Unexecuted instantiation: zfont0.c:device_current_tag Unexecuted instantiation: zfdctd.c:device_current_tag Unexecuted instantiation: zdevice2.c:device_current_tag Unexecuted instantiation: zpcolor.c:device_current_tag Unexecuted instantiation: idisp.c:device_current_tag Unexecuted instantiation: psapi.c:device_current_tag Unexecuted instantiation: zfileio.c:device_current_tag Unexecuted instantiation: zbfont.c:device_current_tag Unexecuted instantiation: zchar.c:device_current_tag Unexecuted instantiation: zcolor.c:device_current_tag Unexecuted instantiation: zdevice.c:device_current_tag Unexecuted instantiation: zfont.c:device_current_tag Unexecuted instantiation: zht.c:device_current_tag Unexecuted instantiation: zimage.c:device_current_tag Unexecuted instantiation: zfapi.c:device_current_tag Unexecuted instantiation: zcsindex.c:device_current_tag Unexecuted instantiation: zht2.c:device_current_tag Unexecuted instantiation: zcssepr.c:device_current_tag Unexecuted instantiation: zfunc4.c:device_current_tag Unexecuted instantiation: zform.c:device_current_tag Unexecuted instantiation: zimage3.c:device_current_tag Unexecuted instantiation: zicc.c:device_current_tag Unexecuted instantiation: ztrans.c:device_current_tag Unexecuted instantiation: zpdfops.c:device_current_tag Unexecuted instantiation: pdf_loop_detect.c:device_current_tag Unexecuted instantiation: ghostpdf.c:device_current_tag Unexecuted instantiation: pdf_dict.c:device_current_tag Unexecuted instantiation: pdf_array.c:device_current_tag Unexecuted instantiation: pdf_xref.c:device_current_tag Unexecuted instantiation: pdf_int.c:device_current_tag Unexecuted instantiation: pdf_file.c:device_current_tag Unexecuted instantiation: pdf_path.c:device_current_tag Unexecuted instantiation: pdf_colour.c:device_current_tag Unexecuted instantiation: pdf_pattern.c:device_current_tag Unexecuted instantiation: pdf_gstate.c:device_current_tag Unexecuted instantiation: pdf_stack.c:device_current_tag Unexecuted instantiation: pdf_image.c:device_current_tag Unexecuted instantiation: pdf_page.c:device_current_tag Unexecuted instantiation: pdf_annot.c:device_current_tag Unexecuted instantiation: pdf_mark.c:device_current_tag Unexecuted instantiation: pdf_font.c:device_current_tag Unexecuted instantiation: pdf_font0.c:device_current_tag Unexecuted instantiation: pdf_ciddec.c:device_current_tag Unexecuted instantiation: pdf_font1.c:device_current_tag Unexecuted instantiation: pdf_font1C.c:device_current_tag Unexecuted instantiation: pdf_fontps.c:device_current_tag Unexecuted instantiation: pdf_font3.c:device_current_tag Unexecuted instantiation: pdf_fontTT.c:device_current_tag Unexecuted instantiation: pdf_font11.c:device_current_tag Unexecuted instantiation: pdf_cmap.c:device_current_tag Unexecuted instantiation: pdf_fmap.c:device_current_tag Unexecuted instantiation: pdf_text.c:device_current_tag Unexecuted instantiation: pdf_shading.c:device_current_tag Unexecuted instantiation: pdf_func.c:device_current_tag Unexecuted instantiation: pdf_trans.c:device_current_tag Unexecuted instantiation: pdf_device.c:device_current_tag Unexecuted instantiation: pdf_misc.c:device_current_tag Unexecuted instantiation: pdf_optcontent.c:device_current_tag Unexecuted instantiation: pdf_check.c:device_current_tag Unexecuted instantiation: pdf_sec.c:device_current_tag Unexecuted instantiation: pdf_utf8.c:device_current_tag Unexecuted instantiation: pdf_deref.c:device_current_tag Unexecuted instantiation: pdf_repair.c:device_current_tag Unexecuted instantiation: pdf_obj.c:device_current_tag Unexecuted instantiation: pdf_doc.c:device_current_tag Unexecuted instantiation: imainarg.c:device_current_tag Unexecuted instantiation: gsclipsr.c:device_current_tag Unexecuted instantiation: gscdevn.c:device_current_tag Unexecuted instantiation: gxdevndi.c:device_current_tag Unexecuted instantiation: gxclipm.c:device_current_tag Unexecuted instantiation: gscolor3.c:device_current_tag Unexecuted instantiation: gsptype2.c:device_current_tag Unexecuted instantiation: gsshade.c:device_current_tag Unexecuted instantiation: gxshade.c:device_current_tag Unexecuted instantiation: gxshade1.c:device_current_tag Unexecuted instantiation: gxshade4.c:device_current_tag gxshade6.c:device_current_tag Line | Count | Source | 1640 | 20.5M | { | 1641 | 20.5M | gs_graphics_type_tag_t tag = dev->graphics_type_tag; | 1642 | 20.5M | return (tag & GS_DEVICE_ENCODES_TAGS) ? (tag & ~GS_DEVICE_ENCODES_TAGS) : 0; | 1643 | 20.5M | } |
Unexecuted instantiation: gscolor1.c:device_current_tag Unexecuted instantiation: gsht1.c:device_current_tag Unexecuted instantiation: gscolor2.c:device_current_tag Unexecuted instantiation: gspcolor.c:device_current_tag Unexecuted instantiation: gxclip2.c:device_current_tag Unexecuted instantiation: gspath1.c:device_current_tag Unexecuted instantiation: gstype42.c:device_current_tag Unexecuted instantiation: gxchrout.c:device_current_tag Unexecuted instantiation: gxttfb.c:device_current_tag Unexecuted instantiation: gzspotan.c:device_current_tag Unexecuted instantiation: gscie.c:device_current_tag Unexecuted instantiation: gscsepr.c:device_current_tag Unexecuted instantiation: gxblend1.c:device_current_tag Unexecuted instantiation: gxdownscale.c:device_current_tag Unexecuted instantiation: gdevepo.c:device_current_tag Unexecuted instantiation: gxclbits.c:device_current_tag Unexecuted instantiation: gxclrast.c:device_current_tag Unexecuted instantiation: gschar0.c:device_current_tag Unexecuted instantiation: gsfont0.c:device_current_tag Unexecuted instantiation: gstype1.c:device_current_tag Unexecuted instantiation: gxtype1.c:device_current_tag Unexecuted instantiation: gstype2.c:device_current_tag Unexecuted instantiation: gsicc_profilecache.c:device_current_tag Unexecuted instantiation: gdevpdtb.c:device_current_tag Unexecuted instantiation: gdevpdtc.c:device_current_tag Unexecuted instantiation: gdevpdte.c:device_current_tag Unexecuted instantiation: gdevpsfx.c:device_current_tag Unexecuted instantiation: gstiffio.c:device_current_tag Unexecuted instantiation: gdeveprn.c:device_current_tag Unexecuted instantiation: eprnparm.c:device_current_tag Unexecuted instantiation: eprnrend.c:device_current_tag Unexecuted instantiation: eprnfs.c:device_current_tag Unexecuted instantiation: gscicach.c:device_current_tag Unexecuted instantiation: gsdevmem.c:device_current_tag Unexecuted instantiation: gxacpath.c:device_current_tag Unexecuted instantiation: gxpdash.c:device_current_tag Unexecuted instantiation: pdf_fapi.c:device_current_tag Unexecuted instantiation: gscscie.c:device_current_tag |
1644 | | |
1645 | | static inline bool device_is_deep(const gx_device *dev) |
1646 | 224M | { |
1647 | 224M | int bits_per_comp = (dev->color_info.depth / dev->color_info.num_components); |
1648 | 224M | if (bits_per_comp > 16) |
1649 | 0 | return 1; |
1650 | 224M | if (bits_per_comp == 16 && dev->color_info.num_components > 1) |
1651 | 0 | return 1; |
1652 | 224M | if (bits_per_comp == 8) |
1653 | 104M | return 0; |
1654 | 119M | return (dev->color_info.max_color > 255 || |
1655 | 119M | dev->color_info.max_gray > 255); |
1656 | 224M | } Unexecuted instantiation: imain.c:device_is_deep Unexecuted instantiation: gconfig.c:device_is_deep Unexecuted instantiation: gximage3.c:device_is_deep Unexecuted instantiation: gximage4.c:device_is_deep Unexecuted instantiation: gxmclip.c:device_is_deep gsptype1.c:device_is_deep Line | Count | Source | 1646 | 37.3M | { | 1647 | 37.3M | int bits_per_comp = (dev->color_info.depth / dev->color_info.num_components); | 1648 | 37.3M | if (bits_per_comp > 16) | 1649 | 0 | return 1; | 1650 | 37.3M | if (bits_per_comp == 16 && dev->color_info.num_components > 1) | 1651 | 0 | return 1; | 1652 | 37.3M | if (bits_per_comp == 8) | 1653 | 34.2M | return 0; | 1654 | 3.01M | return (dev->color_info.max_color > 255 || | 1655 | 3.01M | dev->color_info.max_gray > 255); | 1656 | 37.3M | } |
Unexecuted instantiation: gxp1fill.c:device_is_deep Unexecuted instantiation: gxpcmap.c:device_is_deep Unexecuted instantiation: gxicolor.c:device_is_deep Unexecuted instantiation: gsdps1.c:device_is_deep Unexecuted instantiation: gsciemap.c:device_is_deep Line | Count | Source | 1646 | 98.8k | { | 1647 | 98.8k | int bits_per_comp = (dev->color_info.depth / dev->color_info.num_components); | 1648 | 98.8k | if (bits_per_comp > 16) | 1649 | 0 | return 1; | 1650 | 98.8k | if (bits_per_comp == 16 && dev->color_info.num_components > 1) | 1651 | 0 | return 1; | 1652 | 98.8k | if (bits_per_comp == 8) | 1653 | 98.8k | return 0; | 1654 | 0 | return (dev->color_info.max_color > 255 || | 1655 | 0 | dev->color_info.max_gray > 255); | 1656 | 98.8k | } |
Unexecuted instantiation: gximag3x.c:device_is_deep Unexecuted instantiation: gxblend.c:device_is_deep Line | Count | Source | 1646 | 21.1M | { | 1647 | 21.1M | int bits_per_comp = (dev->color_info.depth / dev->color_info.num_components); | 1648 | 21.1M | if (bits_per_comp > 16) | 1649 | 0 | return 1; | 1650 | 21.1M | if (bits_per_comp == 16 && dev->color_info.num_components > 1) | 1651 | 0 | return 1; | 1652 | 21.1M | if (bits_per_comp == 8) | 1653 | 17.7M | return 0; | 1654 | 3.42M | return (dev->color_info.max_color > 255 || | 1655 | 3.42M | dev->color_info.max_gray > 255); | 1656 | 21.1M | } |
Unexecuted instantiation: gdevdevn.c:device_is_deep Unexecuted instantiation: gsequivc.c:device_is_deep Unexecuted instantiation: gdevdcrd.c:device_is_deep Unexecuted instantiation: gscpixel.c:device_is_deep Unexecuted instantiation: gdevbbox.c:device_is_deep Line | Count | Source | 1646 | 250k | { | 1647 | 250k | int bits_per_comp = (dev->color_info.depth / dev->color_info.num_components); | 1648 | 250k | if (bits_per_comp > 16) | 1649 | 0 | return 1; | 1650 | 250k | if (bits_per_comp == 16 && dev->color_info.num_components > 1) | 1651 | 0 | return 1; | 1652 | 250k | if (bits_per_comp == 8) | 1653 | 107k | return 0; | 1654 | 142k | return (dev->color_info.max_color > 255 || | 1655 | 142k | dev->color_info.max_gray > 255); | 1656 | 250k | } |
Unexecuted instantiation: gdevppla.c:device_is_deep Unexecuted instantiation: gdevflp.c:device_is_deep Unexecuted instantiation: gdevoflt.c:device_is_deep Unexecuted instantiation: gdevnup.c:device_is_deep Unexecuted instantiation: gdevsclass.c:device_is_deep Unexecuted instantiation: gxclist.c:device_is_deep Unexecuted instantiation: gxclpage.c:device_is_deep Unexecuted instantiation: gxclread.c:device_is_deep Unexecuted instantiation: gxclrect.c:device_is_deep Unexecuted instantiation: gxclutil.c:device_is_deep Unexecuted instantiation: gxclimag.c:device_is_deep Unexecuted instantiation: gxclpath.c:device_is_deep Unexecuted instantiation: gxdhtserial.c:device_is_deep Unexecuted instantiation: gxclthrd.c:device_is_deep Unexecuted instantiation: gsicc.c:device_is_deep Unexecuted instantiation: gsicc_manage.c:device_is_deep Unexecuted instantiation: gsicc_cache.c:device_is_deep Unexecuted instantiation: gsicc_lcms2mt.c:device_is_deep Unexecuted instantiation: gsicc_create.c:device_is_deep Unexecuted instantiation: gsicc_nocm.c:device_is_deep Unexecuted instantiation: gsicc_replacecm.c:device_is_deep Unexecuted instantiation: gsicc_monitorcm.c:device_is_deep Unexecuted instantiation: gsicc_blacktext.c:device_is_deep Unexecuted instantiation: gdevbmp.c:device_is_deep Unexecuted instantiation: gdevbmpc.c:device_is_deep Unexecuted instantiation: gdevpccm.c:device_is_deep Unexecuted instantiation: gdevcups.c:device_is_deep Unexecuted instantiation: gdevpdf.c:device_is_deep Unexecuted instantiation: gdevpdfb.c:device_is_deep Unexecuted instantiation: gdevpdfc.c:device_is_deep Unexecuted instantiation: gdevpdfd.c:device_is_deep Unexecuted instantiation: gdevpdfe.c:device_is_deep Unexecuted instantiation: gdevpdfg.c:device_is_deep Unexecuted instantiation: gdevpdfi.c:device_is_deep Unexecuted instantiation: gdevpdfj.c:device_is_deep Unexecuted instantiation: gdevpdfk.c:device_is_deep Unexecuted instantiation: gdevpdfm.c:device_is_deep Unexecuted instantiation: gdevpdfo.c:device_is_deep Unexecuted instantiation: gdevpdfp.c:device_is_deep Unexecuted instantiation: gdevpdft.c:device_is_deep Unexecuted instantiation: gdevpdfr.c:device_is_deep Unexecuted instantiation: gdevpdfu.c:device_is_deep Unexecuted instantiation: gdevpdfv.c:device_is_deep Unexecuted instantiation: gdevpsdi.c:device_is_deep Unexecuted instantiation: gdevpsdp.c:device_is_deep Unexecuted instantiation: gdevpsds.c:device_is_deep Unexecuted instantiation: gdevpsdu.c:device_is_deep Unexecuted instantiation: gdevvec.c:device_is_deep Unexecuted instantiation: gdevpdt.c:device_is_deep Unexecuted instantiation: gdevpdtd.c:device_is_deep Unexecuted instantiation: gdevpdtf.c:device_is_deep Unexecuted instantiation: gdevpdti.c:device_is_deep Unexecuted instantiation: gdevpdts.c:device_is_deep Unexecuted instantiation: gdevpdtt.c:device_is_deep Unexecuted instantiation: gdevpdtw.c:device_is_deep Unexecuted instantiation: gxfcopy.c:device_is_deep Unexecuted instantiation: gdevfax.c:device_is_deep Unexecuted instantiation: gdevdjet.c:device_is_deep Unexecuted instantiation: gdevdljm.c:device_is_deep Unexecuted instantiation: gdevpcl.c:device_is_deep Unexecuted instantiation: gdevpcl3.c:device_is_deep Unexecuted instantiation: pclcap.c:device_is_deep Unexecuted instantiation: gdevpbm.c:device_is_deep Unexecuted instantiation: gdevmpla.c:device_is_deep Unexecuted instantiation: gdevpng.c:device_is_deep Unexecuted instantiation: gdevpsd.c:device_is_deep Unexecuted instantiation: gdevpx.c:device_is_deep Unexecuted instantiation: gdevpxut.c:device_is_deep Unexecuted instantiation: gdevtsep.c:device_is_deep Unexecuted instantiation: gdevtifs.c:device_is_deep Unexecuted instantiation: gdevupd.c:device_is_deep Unexecuted instantiation: gdevxps.c:device_is_deep Unexecuted instantiation: gdevkrnlsclass.c:device_is_deep Unexecuted instantiation: gschar.c:device_is_deep Unexecuted instantiation: gscolor.c:device_is_deep Unexecuted instantiation: gscoord.c:device_is_deep Unexecuted instantiation: gscspace.c:device_is_deep Unexecuted instantiation: gsovrc.c:device_is_deep Unexecuted instantiation: gxoprect.c:device_is_deep Unexecuted instantiation: gsdevice.c:device_is_deep Unexecuted instantiation: gsdparam.c:device_is_deep Unexecuted instantiation: gsfont.c:device_is_deep Unexecuted instantiation: gsht.c:device_is_deep Unexecuted instantiation: gshtscr.c:device_is_deep Unexecuted instantiation: gsimage.c:device_is_deep Unexecuted instantiation: gsgstate.c:device_is_deep Unexecuted instantiation: gsline.c:device_is_deep Unexecuted instantiation: gspaint.c:device_is_deep Unexecuted instantiation: gspath.c:device_is_deep Unexecuted instantiation: gsstate.c:device_is_deep Unexecuted instantiation: gstext.c:device_is_deep Unexecuted instantiation: gxfapi.c:device_is_deep Unexecuted instantiation: write_t2.c:device_is_deep Unexecuted instantiation: gxccache.c:device_is_deep Unexecuted instantiation: gxccman.c:device_is_deep Unexecuted instantiation: gxchar.c:device_is_deep Unexecuted instantiation: gxcht.c:device_is_deep Unexecuted instantiation: gxclip.c:device_is_deep Unexecuted instantiation: gxcmap.c:device_is_deep Unexecuted instantiation: gxcpath.c:device_is_deep Unexecuted instantiation: gxdcconv.c:device_is_deep Unexecuted instantiation: gxdcolor.c:device_is_deep Unexecuted instantiation: gxhldevc.c:device_is_deep Unexecuted instantiation: gxfill.c:device_is_deep Unexecuted instantiation: gxht.c:device_is_deep Unexecuted instantiation: gxht_thresh.c:device_is_deep Unexecuted instantiation: gxidata.c:device_is_deep Unexecuted instantiation: gxifast.c:device_is_deep Unexecuted instantiation: gximage.c:device_is_deep Unexecuted instantiation: gximdecode.c:device_is_deep Unexecuted instantiation: gximage1.c:device_is_deep Unexecuted instantiation: gximono.c:device_is_deep Unexecuted instantiation: gxipixel.c:device_is_deep Unexecuted instantiation: gximask.c:device_is_deep Unexecuted instantiation: gxi12bit.c:device_is_deep Unexecuted instantiation: gxi16bit.c:device_is_deep Unexecuted instantiation: gxiscale.c:device_is_deep Unexecuted instantiation: gxpaint.c:device_is_deep Unexecuted instantiation: gxpcopy.c:device_is_deep Unexecuted instantiation: gxsample.c:device_is_deep Unexecuted instantiation: gxstroke.c:device_is_deep Unexecuted instantiation: gdevabuf.c:device_is_deep Unexecuted instantiation: gdevdbit.c:device_is_deep Unexecuted instantiation: gdevddrw.c:device_is_deep gdevdflt.c:device_is_deep Line | Count | Source | 1646 | 163M | { | 1647 | 163M | int bits_per_comp = (dev->color_info.depth / dev->color_info.num_components); | 1648 | 163M | if (bits_per_comp > 16) | 1649 | 0 | return 1; | 1650 | 163M | if (bits_per_comp == 16 && dev->color_info.num_components > 1) | 1651 | 0 | return 1; | 1652 | 163M | if (bits_per_comp == 8) | 1653 | 51.8M | return 0; | 1654 | 112M | return (dev->color_info.max_color > 255 || | 1655 | 112M | dev->color_info.max_gray > 255); | 1656 | 163M | } |
Unexecuted instantiation: gdevdgbr.c:device_is_deep Unexecuted instantiation: gdevnfwd.c:device_is_deep Line | Count | Source | 1646 | 1.35M | { | 1647 | 1.35M | int bits_per_comp = (dev->color_info.depth / dev->color_info.num_components); | 1648 | 1.35M | if (bits_per_comp > 16) | 1649 | 0 | return 1; | 1650 | 1.35M | if (bits_per_comp == 16 && dev->color_info.num_components > 1) | 1651 | 0 | return 1; | 1652 | 1.35M | if (bits_per_comp == 8) | 1653 | 590k | return 0; | 1654 | 759k | return (dev->color_info.max_color > 255 || | 1655 | 759k | dev->color_info.max_gray > 255); | 1656 | 1.35M | } |
Unexecuted instantiation: gdevplnx.c:device_is_deep Unexecuted instantiation: gdevm1.c:device_is_deep Unexecuted instantiation: gdevm2.c:device_is_deep Unexecuted instantiation: gdevm4.c:device_is_deep Unexecuted instantiation: gdevm8.c:device_is_deep Unexecuted instantiation: gdevm16.c:device_is_deep Unexecuted instantiation: gdevm24.c:device_is_deep Unexecuted instantiation: gdevm32.c:device_is_deep Unexecuted instantiation: gdevm40.c:device_is_deep Unexecuted instantiation: gdevm48.c:device_is_deep Unexecuted instantiation: gdevm56.c:device_is_deep Unexecuted instantiation: gdevm64.c:device_is_deep Unexecuted instantiation: gdevmx.c:device_is_deep Unexecuted instantiation: gdevdsha.c:device_is_deep Unexecuted instantiation: gxscanc.c:device_is_deep Unexecuted instantiation: gdevdrop.c:device_is_deep Unexecuted instantiation: gdevmr1.c:device_is_deep Unexecuted instantiation: gdevmr2n.c:device_is_deep Unexecuted instantiation: gdevmr8n.c:device_is_deep Unexecuted instantiation: gdevrops.c:device_is_deep Unexecuted instantiation: gsrop.c:device_is_deep Unexecuted instantiation: zcolor1.c:device_is_deep Unexecuted instantiation: zht1.c:device_is_deep Unexecuted instantiation: zupath.c:device_is_deep Unexecuted instantiation: gdevhit.c:device_is_deep Unexecuted instantiation: zdps1.c:device_is_deep Unexecuted instantiation: zchar1.c:device_is_deep Unexecuted instantiation: zcharout.c:device_is_deep Unexecuted instantiation: zfont1.c:device_is_deep Unexecuted instantiation: zusparam.c:device_is_deep Unexecuted instantiation: zchar42.c:device_is_deep Unexecuted instantiation: zfont0.c:device_is_deep Unexecuted instantiation: zfdctd.c:device_is_deep Unexecuted instantiation: zdevice2.c:device_is_deep Unexecuted instantiation: zpcolor.c:device_is_deep Unexecuted instantiation: idisp.c:device_is_deep Unexecuted instantiation: psapi.c:device_is_deep Unexecuted instantiation: zfileio.c:device_is_deep Unexecuted instantiation: zbfont.c:device_is_deep Unexecuted instantiation: zchar.c:device_is_deep Unexecuted instantiation: zcolor.c:device_is_deep Unexecuted instantiation: zdevice.c:device_is_deep Unexecuted instantiation: zfont.c:device_is_deep Unexecuted instantiation: zht.c:device_is_deep Unexecuted instantiation: zimage.c:device_is_deep Unexecuted instantiation: zfapi.c:device_is_deep Unexecuted instantiation: zcsindex.c:device_is_deep Unexecuted instantiation: zht2.c:device_is_deep Unexecuted instantiation: zcssepr.c:device_is_deep Unexecuted instantiation: zfunc4.c:device_is_deep Unexecuted instantiation: zform.c:device_is_deep Unexecuted instantiation: zimage3.c:device_is_deep Unexecuted instantiation: zicc.c:device_is_deep Unexecuted instantiation: ztrans.c:device_is_deep Unexecuted instantiation: zpdfops.c:device_is_deep Unexecuted instantiation: pdf_loop_detect.c:device_is_deep Unexecuted instantiation: ghostpdf.c:device_is_deep Unexecuted instantiation: pdf_dict.c:device_is_deep Unexecuted instantiation: pdf_array.c:device_is_deep Unexecuted instantiation: pdf_xref.c:device_is_deep Unexecuted instantiation: pdf_int.c:device_is_deep Unexecuted instantiation: pdf_file.c:device_is_deep Unexecuted instantiation: pdf_path.c:device_is_deep Unexecuted instantiation: pdf_colour.c:device_is_deep Unexecuted instantiation: pdf_pattern.c:device_is_deep Unexecuted instantiation: pdf_gstate.c:device_is_deep Unexecuted instantiation: pdf_stack.c:device_is_deep Unexecuted instantiation: pdf_image.c:device_is_deep Unexecuted instantiation: pdf_page.c:device_is_deep Unexecuted instantiation: pdf_annot.c:device_is_deep Unexecuted instantiation: pdf_mark.c:device_is_deep Unexecuted instantiation: pdf_font.c:device_is_deep Unexecuted instantiation: pdf_font0.c:device_is_deep Unexecuted instantiation: pdf_ciddec.c:device_is_deep Unexecuted instantiation: pdf_font1.c:device_is_deep Unexecuted instantiation: pdf_font1C.c:device_is_deep Unexecuted instantiation: pdf_fontps.c:device_is_deep Unexecuted instantiation: pdf_font3.c:device_is_deep Unexecuted instantiation: pdf_fontTT.c:device_is_deep Unexecuted instantiation: pdf_font11.c:device_is_deep Unexecuted instantiation: pdf_cmap.c:device_is_deep Unexecuted instantiation: pdf_fmap.c:device_is_deep Unexecuted instantiation: pdf_text.c:device_is_deep Unexecuted instantiation: pdf_shading.c:device_is_deep Unexecuted instantiation: pdf_func.c:device_is_deep Unexecuted instantiation: pdf_trans.c:device_is_deep Unexecuted instantiation: pdf_device.c:device_is_deep Unexecuted instantiation: pdf_misc.c:device_is_deep Unexecuted instantiation: pdf_optcontent.c:device_is_deep Unexecuted instantiation: pdf_check.c:device_is_deep Unexecuted instantiation: pdf_sec.c:device_is_deep Unexecuted instantiation: pdf_utf8.c:device_is_deep Unexecuted instantiation: pdf_deref.c:device_is_deep Unexecuted instantiation: pdf_repair.c:device_is_deep Unexecuted instantiation: pdf_obj.c:device_is_deep Unexecuted instantiation: pdf_doc.c:device_is_deep Unexecuted instantiation: imainarg.c:device_is_deep Unexecuted instantiation: gsclipsr.c:device_is_deep Unexecuted instantiation: gscdevn.c:device_is_deep Unexecuted instantiation: gxdevndi.c:device_is_deep Unexecuted instantiation: gxclipm.c:device_is_deep Unexecuted instantiation: gscolor3.c:device_is_deep Unexecuted instantiation: gsptype2.c:device_is_deep Unexecuted instantiation: gsshade.c:device_is_deep Unexecuted instantiation: gxshade.c:device_is_deep Unexecuted instantiation: gxshade1.c:device_is_deep Unexecuted instantiation: gxshade4.c:device_is_deep Unexecuted instantiation: gxshade6.c:device_is_deep Unexecuted instantiation: gscolor1.c:device_is_deep Unexecuted instantiation: gsht1.c:device_is_deep Unexecuted instantiation: gscolor2.c:device_is_deep Unexecuted instantiation: gspcolor.c:device_is_deep Unexecuted instantiation: gxclip2.c:device_is_deep Unexecuted instantiation: gspath1.c:device_is_deep Unexecuted instantiation: gstype42.c:device_is_deep Unexecuted instantiation: gxchrout.c:device_is_deep Unexecuted instantiation: gxttfb.c:device_is_deep Unexecuted instantiation: gzspotan.c:device_is_deep Unexecuted instantiation: gscie.c:device_is_deep Unexecuted instantiation: gscsepr.c:device_is_deep Unexecuted instantiation: gxblend1.c:device_is_deep Unexecuted instantiation: gxdownscale.c:device_is_deep Unexecuted instantiation: gdevepo.c:device_is_deep Unexecuted instantiation: gxclbits.c:device_is_deep Unexecuted instantiation: gxclrast.c:device_is_deep Unexecuted instantiation: gschar0.c:device_is_deep Unexecuted instantiation: gsfont0.c:device_is_deep Unexecuted instantiation: gstype1.c:device_is_deep Unexecuted instantiation: gxtype1.c:device_is_deep Unexecuted instantiation: gstype2.c:device_is_deep Unexecuted instantiation: gsicc_profilecache.c:device_is_deep Unexecuted instantiation: gdevpdtb.c:device_is_deep Unexecuted instantiation: gdevpdtc.c:device_is_deep Unexecuted instantiation: gdevpdte.c:device_is_deep Unexecuted instantiation: gdevpsfx.c:device_is_deep Unexecuted instantiation: gstiffio.c:device_is_deep Unexecuted instantiation: gdeveprn.c:device_is_deep Unexecuted instantiation: eprnparm.c:device_is_deep Unexecuted instantiation: eprnrend.c:device_is_deep Unexecuted instantiation: eprnfs.c:device_is_deep Unexecuted instantiation: gscicach.c:device_is_deep Unexecuted instantiation: gsdevmem.c:device_is_deep Unexecuted instantiation: gxacpath.c:device_is_deep Unexecuted instantiation: gxpdash.c:device_is_deep Unexecuted instantiation: pdf_fapi.c:device_is_deep Unexecuted instantiation: gscscie.c:device_is_deep |
1657 | | |
1658 | | /* A null device. This is used to temporarily disable output. */ |
1659 | | struct gx_device_null_s { |
1660 | | gx_device_forward_common; |
1661 | | }; |
1662 | | extern const gx_device_null gs_null_device; |
1663 | | |
1664 | | #define gx_device_is_null(dev)\ |
1665 | 419k | ((dev)->dname == gs_null_device.dname) |
1666 | | extern_st(st_device_null); |
1667 | | #define public_st_device_null() /* in gsdevice.c */\ |
1668 | | gs_public_st_complex_only(st_device_null, gx_device_null,\ |
1669 | | "gx_device_null", 0, device_forward_enum_ptrs,\ |
1670 | | device_forward_reloc_ptrs, gx_device_finalize) |
1671 | | #define st_device_null_max_ptrs st_device_forward_max_ptrs |
1672 | | |
1673 | | /* |
1674 | | * Initialize a just-allocated device from a prototype. If internal = |
1675 | | * false, the device is marked retained; if internal = true, the device is |
1676 | | * not marked retained. See the beginning of this file for more information |
1677 | | * about what this means. Normally, devices created for temporary use have |
1678 | | * internal = true (retained = false). |
1679 | | */ |
1680 | | int gx_device_init(gx_device * dev, const gx_device * proto, |
1681 | | gs_memory_t * mem, bool internal); |
1682 | | |
1683 | | /* |
1684 | | * Identical to gx_device_init, except that the reference counting is set |
1685 | | * up so that it doesn't attempt to free the device structure when the last |
1686 | | * instance is removed, and the device is always internal (never retained). |
1687 | | * |
1688 | | * If the device uses an initialize proc (and it should!) it can never |
1689 | | * fail. |
1690 | | */ |
1691 | | void gx_device_init_on_stack(gx_device * dev, const gx_device * proto, |
1692 | | gs_memory_t * mem); |
1693 | | |
1694 | | /* Make a null device. */ |
1695 | | /* The gs_memory_t argument is 0 if the device is temporary and local, */ |
1696 | | /* or the allocator that was used to allocate it if it is a real object. */ |
1697 | | void gs_make_null_device(gx_device_null *dev_null, gx_device *target, |
1698 | | gs_memory_t *mem); |
1699 | | /* Is a null device ? */ |
1700 | | bool gs_is_null_device(gx_device *dev); |
1701 | | |
1702 | | /* Set the target of a (forwarding) device. */ |
1703 | | void gx_device_set_target(gx_device_forward *fdev, gx_device *target); |
1704 | | |
1705 | | /* Mark a device as retained or not retained. */ |
1706 | | void gx_device_retain(gx_device *dev, bool retained); |
1707 | | |
1708 | | /* Calculate the raster (number of bytes in a scan line), */ |
1709 | | /* with byte or device padding. */ |
1710 | | uint gx_device_raster(const gx_device * dev, bool pad_to_word); |
1711 | | |
1712 | | /* Calculate the raster (number of bytes in a scan line), */ |
1713 | | /* with byte or device padding forcing chunky format. */ |
1714 | | uint gx_device_raster_chunky(const gx_device * dev, bool pad); |
1715 | | |
1716 | | /* Calculate the raster (with device padding) optionally for a given |
1717 | | * render_plane (may be NULL). */ |
1718 | | uint gx_device_raster_plane(const gx_device * dev, const gx_render_plane_t *render_plane); |
1719 | | |
1720 | | /* Adjust the resolution for devices that only have a fixed set of */ |
1721 | | /* geometries, so that the apparent size in inches remains constant. */ |
1722 | | /* If fit=1, the resolution is adjusted so that the entire image fits; */ |
1723 | | /* if fit=0, one dimension fits, but the other one is clipped. */ |
1724 | | int gx_device_adjust_resolution(gx_device * dev, int actual_width, int actual_height, int fit); |
1725 | | |
1726 | | /* Set the HWMargins to values defined in inches. */ |
1727 | | /* If move_origin is true, also reset the Margins. */ |
1728 | | void gx_device_set_margins(gx_device * dev, const float *margins /*[4] */ , |
1729 | | bool move_origin); |
1730 | | |
1731 | | /* Set the width and height (in pixels), updating MediaSize. */ |
1732 | | void gx_device_set_width_height(gx_device * dev, int width, int height); |
1733 | | |
1734 | | /* Set the resolution (in pixels per inch), updating width and height. */ |
1735 | | void gx_device_set_resolution(gx_device * dev, double x_dpi, double y_dpi); |
1736 | | |
1737 | | /* Set the MediaSize (in 1/72" units), updating width and height. */ |
1738 | | void gx_device_set_media_size(gx_device * dev, double media_width, double media_height); |
1739 | | |
1740 | | /****** BACKWARD COMPATIBILITY ******/ |
1741 | | #define gx_device_set_page_size(dev, w, h)\ |
1742 | 150k | gx_device_set_media_size(dev, w, h) |
1743 | | |
1744 | | /* |
1745 | | * Temporarily install a null device, or a special device such as |
1746 | | * a clipping or cache device. |
1747 | | */ |
1748 | | void gx_set_device_only(gs_gstate *, gx_device *); |
1749 | | |
1750 | | /* Close a device. */ |
1751 | | int gs_closedevice(gx_device *); |
1752 | | |
1753 | | /* "Free" a device locally allocated on the stack, by finalizing it. */ |
1754 | | void gx_device_free_local(gx_device *); |
1755 | | |
1756 | | /* ------ Device types (an unused concept right now) ------ */ |
1757 | | |
1758 | | #define dev_type_proc_initialize(proc)\ |
1759 | | int proc(gx_device *) |
1760 | | |
1761 | | typedef struct gx_device_type_s { |
1762 | | gs_memory_type_ptr_t stype; |
1763 | | dev_type_proc_initialize((*initialize)); |
1764 | | } gx_device_type; |
1765 | | |
1766 | | #define device_type(dtname, stype, initproc)\ |
1767 | | static dev_type_proc_initialize(initproc);\ |
1768 | | const gx_device_type dtname = { &stype, initproc } |
1769 | | |
1770 | | /*dev_type_proc_initialize(gdev_initialize); */ |
1771 | | |
1772 | | #ifdef DEBUG |
1773 | | void gx_device_dump(gx_device *dev, const char *text); |
1774 | | #endif |
1775 | | |
1776 | | /* Compare color information structures */ |
1777 | | bool gx_color_info_equal(const gx_device_color_info *p1, const gx_device_color_info *p2); |
1778 | | |
1779 | | /* Perform a callout to registered handlers from the device. */ |
1780 | | int gx_callout(gx_device *dev, int id, int size, void *data); |
1781 | | |
1782 | | static inline |
1783 | | gx_cm_opmsupported_t gx_get_opmsupported(gx_device *dev) |
1784 | 646k | { |
1785 | 646k | if (dev->color_info.opmsupported != GX_CINFO_OPMSUPPORTED_UNKNOWN) |
1786 | 639k | return dev->color_info.opmsupported; |
1787 | | |
1788 | 6.53k | check_opmsupported(dev); |
1789 | | |
1790 | 6.53k | return dev->color_info.opmsupported; |
1791 | 646k | } Unexecuted instantiation: imain.c:gx_get_opmsupported Unexecuted instantiation: gconfig.c:gx_get_opmsupported Unexecuted instantiation: gximage3.c:gx_get_opmsupported Unexecuted instantiation: gximage4.c:gx_get_opmsupported Unexecuted instantiation: gxmclip.c:gx_get_opmsupported Unexecuted instantiation: gsptype1.c:gx_get_opmsupported Unexecuted instantiation: gxp1fill.c:gx_get_opmsupported Unexecuted instantiation: gxpcmap.c:gx_get_opmsupported Unexecuted instantiation: gxicolor.c:gx_get_opmsupported Unexecuted instantiation: gsdps1.c:gx_get_opmsupported Unexecuted instantiation: gsciemap.c:gx_get_opmsupported Unexecuted instantiation: gstrans.c:gx_get_opmsupported Unexecuted instantiation: gximag3x.c:gx_get_opmsupported Unexecuted instantiation: gxblend.c:gx_get_opmsupported Unexecuted instantiation: gdevp14.c:gx_get_opmsupported Unexecuted instantiation: gdevdevn.c:gx_get_opmsupported Unexecuted instantiation: gsequivc.c:gx_get_opmsupported Unexecuted instantiation: gdevdcrd.c:gx_get_opmsupported Unexecuted instantiation: gscpixel.c:gx_get_opmsupported Unexecuted instantiation: gdevbbox.c:gx_get_opmsupported Unexecuted instantiation: gdevprn.c:gx_get_opmsupported Unexecuted instantiation: gdevppla.c:gx_get_opmsupported Unexecuted instantiation: gdevflp.c:gx_get_opmsupported Unexecuted instantiation: gdevoflt.c:gx_get_opmsupported Unexecuted instantiation: gdevnup.c:gx_get_opmsupported Unexecuted instantiation: gdevsclass.c:gx_get_opmsupported Unexecuted instantiation: gxclist.c:gx_get_opmsupported Unexecuted instantiation: gxclpage.c:gx_get_opmsupported Unexecuted instantiation: gxclread.c:gx_get_opmsupported Unexecuted instantiation: gxclrect.c:gx_get_opmsupported Unexecuted instantiation: gxclutil.c:gx_get_opmsupported Unexecuted instantiation: gxclimag.c:gx_get_opmsupported Unexecuted instantiation: gxclpath.c:gx_get_opmsupported Unexecuted instantiation: gxdhtserial.c:gx_get_opmsupported Unexecuted instantiation: gxclthrd.c:gx_get_opmsupported gsicc.c:gx_get_opmsupported Line | Count | Source | 1784 | 609k | { | 1785 | 609k | if (dev->color_info.opmsupported != GX_CINFO_OPMSUPPORTED_UNKNOWN) | 1786 | 604k | return dev->color_info.opmsupported; | 1787 | | | 1788 | 5.45k | check_opmsupported(dev); | 1789 | | | 1790 | 5.45k | return dev->color_info.opmsupported; | 1791 | 609k | } |
Unexecuted instantiation: gsicc_manage.c:gx_get_opmsupported Unexecuted instantiation: gsicc_cache.c:gx_get_opmsupported Unexecuted instantiation: gsicc_lcms2mt.c:gx_get_opmsupported Unexecuted instantiation: gsicc_create.c:gx_get_opmsupported Unexecuted instantiation: gsicc_nocm.c:gx_get_opmsupported Unexecuted instantiation: gsicc_replacecm.c:gx_get_opmsupported Unexecuted instantiation: gsicc_monitorcm.c:gx_get_opmsupported Unexecuted instantiation: gsicc_blacktext.c:gx_get_opmsupported Unexecuted instantiation: gdevbmp.c:gx_get_opmsupported Unexecuted instantiation: gdevbmpc.c:gx_get_opmsupported Unexecuted instantiation: gdevpccm.c:gx_get_opmsupported Unexecuted instantiation: gdevcups.c:gx_get_opmsupported Unexecuted instantiation: gdevpdf.c:gx_get_opmsupported Unexecuted instantiation: gdevpdfb.c:gx_get_opmsupported Unexecuted instantiation: gdevpdfc.c:gx_get_opmsupported Unexecuted instantiation: gdevpdfd.c:gx_get_opmsupported Unexecuted instantiation: gdevpdfe.c:gx_get_opmsupported Unexecuted instantiation: gdevpdfg.c:gx_get_opmsupported Unexecuted instantiation: gdevpdfi.c:gx_get_opmsupported Unexecuted instantiation: gdevpdfj.c:gx_get_opmsupported Unexecuted instantiation: gdevpdfk.c:gx_get_opmsupported Unexecuted instantiation: gdevpdfm.c:gx_get_opmsupported Unexecuted instantiation: gdevpdfo.c:gx_get_opmsupported Unexecuted instantiation: gdevpdfp.c:gx_get_opmsupported Unexecuted instantiation: gdevpdft.c:gx_get_opmsupported Unexecuted instantiation: gdevpdfr.c:gx_get_opmsupported Unexecuted instantiation: gdevpdfu.c:gx_get_opmsupported Unexecuted instantiation: gdevpdfv.c:gx_get_opmsupported Unexecuted instantiation: gdevpsdi.c:gx_get_opmsupported Unexecuted instantiation: gdevpsdp.c:gx_get_opmsupported Unexecuted instantiation: gdevpsds.c:gx_get_opmsupported Unexecuted instantiation: gdevpsdu.c:gx_get_opmsupported Unexecuted instantiation: gdevvec.c:gx_get_opmsupported Unexecuted instantiation: gdevpdt.c:gx_get_opmsupported Unexecuted instantiation: gdevpdtd.c:gx_get_opmsupported Unexecuted instantiation: gdevpdtf.c:gx_get_opmsupported Unexecuted instantiation: gdevpdti.c:gx_get_opmsupported Unexecuted instantiation: gdevpdts.c:gx_get_opmsupported Unexecuted instantiation: gdevpdtt.c:gx_get_opmsupported Unexecuted instantiation: gdevpdtw.c:gx_get_opmsupported Unexecuted instantiation: gxfcopy.c:gx_get_opmsupported Unexecuted instantiation: gdevfax.c:gx_get_opmsupported Unexecuted instantiation: gdevdjet.c:gx_get_opmsupported Unexecuted instantiation: gdevdljm.c:gx_get_opmsupported Unexecuted instantiation: gdevpcl.c:gx_get_opmsupported Unexecuted instantiation: gdevpcl3.c:gx_get_opmsupported Unexecuted instantiation: pclcap.c:gx_get_opmsupported Unexecuted instantiation: gdevpbm.c:gx_get_opmsupported Unexecuted instantiation: gdevmpla.c:gx_get_opmsupported Unexecuted instantiation: gdevpng.c:gx_get_opmsupported Unexecuted instantiation: gdevpsd.c:gx_get_opmsupported Unexecuted instantiation: gdevpx.c:gx_get_opmsupported Unexecuted instantiation: gdevpxut.c:gx_get_opmsupported Unexecuted instantiation: gdevtsep.c:gx_get_opmsupported Unexecuted instantiation: gdevtifs.c:gx_get_opmsupported Unexecuted instantiation: gdevupd.c:gx_get_opmsupported Unexecuted instantiation: gdevxps.c:gx_get_opmsupported Unexecuted instantiation: gdevkrnlsclass.c:gx_get_opmsupported Unexecuted instantiation: gschar.c:gx_get_opmsupported Unexecuted instantiation: gscolor.c:gx_get_opmsupported Unexecuted instantiation: gscoord.c:gx_get_opmsupported Unexecuted instantiation: gscspace.c:gx_get_opmsupported Unexecuted instantiation: gsovrc.c:gx_get_opmsupported Unexecuted instantiation: gxoprect.c:gx_get_opmsupported Unexecuted instantiation: gsdevice.c:gx_get_opmsupported Unexecuted instantiation: gsdparam.c:gx_get_opmsupported Unexecuted instantiation: gsfont.c:gx_get_opmsupported Unexecuted instantiation: gsht.c:gx_get_opmsupported Unexecuted instantiation: gshtscr.c:gx_get_opmsupported Unexecuted instantiation: gsimage.c:gx_get_opmsupported Unexecuted instantiation: gsgstate.c:gx_get_opmsupported Unexecuted instantiation: gsline.c:gx_get_opmsupported Unexecuted instantiation: gspaint.c:gx_get_opmsupported Unexecuted instantiation: gspath.c:gx_get_opmsupported Unexecuted instantiation: gsstate.c:gx_get_opmsupported Unexecuted instantiation: gstext.c:gx_get_opmsupported Unexecuted instantiation: gxfapi.c:gx_get_opmsupported Unexecuted instantiation: write_t2.c:gx_get_opmsupported Unexecuted instantiation: gxccache.c:gx_get_opmsupported Unexecuted instantiation: gxccman.c:gx_get_opmsupported Unexecuted instantiation: gxchar.c:gx_get_opmsupported Unexecuted instantiation: gxcht.c:gx_get_opmsupported Unexecuted instantiation: gxclip.c:gx_get_opmsupported gxcmap.c:gx_get_opmsupported Line | Count | Source | 1784 | 36.3k | { | 1785 | 36.3k | if (dev->color_info.opmsupported != GX_CINFO_OPMSUPPORTED_UNKNOWN) | 1786 | 35.2k | return dev->color_info.opmsupported; | 1787 | | | 1788 | 1.07k | check_opmsupported(dev); | 1789 | | | 1790 | 1.07k | return dev->color_info.opmsupported; | 1791 | 36.3k | } |
Unexecuted instantiation: gxcpath.c:gx_get_opmsupported Unexecuted instantiation: gxdcconv.c:gx_get_opmsupported Unexecuted instantiation: gxdcolor.c:gx_get_opmsupported Unexecuted instantiation: gxhldevc.c:gx_get_opmsupported Unexecuted instantiation: gxfill.c:gx_get_opmsupported Unexecuted instantiation: gxht.c:gx_get_opmsupported Unexecuted instantiation: gxht_thresh.c:gx_get_opmsupported Unexecuted instantiation: gxidata.c:gx_get_opmsupported Unexecuted instantiation: gxifast.c:gx_get_opmsupported Unexecuted instantiation: gximage.c:gx_get_opmsupported Unexecuted instantiation: gximdecode.c:gx_get_opmsupported Unexecuted instantiation: gximage1.c:gx_get_opmsupported Unexecuted instantiation: gximono.c:gx_get_opmsupported Unexecuted instantiation: gxipixel.c:gx_get_opmsupported Unexecuted instantiation: gximask.c:gx_get_opmsupported Unexecuted instantiation: gxi12bit.c:gx_get_opmsupported Unexecuted instantiation: gxi16bit.c:gx_get_opmsupported Unexecuted instantiation: gxiscale.c:gx_get_opmsupported Unexecuted instantiation: gxpaint.c:gx_get_opmsupported Unexecuted instantiation: gxpcopy.c:gx_get_opmsupported Unexecuted instantiation: gxsample.c:gx_get_opmsupported Unexecuted instantiation: gxstroke.c:gx_get_opmsupported Unexecuted instantiation: gdevabuf.c:gx_get_opmsupported Unexecuted instantiation: gdevdbit.c:gx_get_opmsupported Unexecuted instantiation: gdevddrw.c:gx_get_opmsupported Unexecuted instantiation: gdevdflt.c:gx_get_opmsupported Unexecuted instantiation: gdevdgbr.c:gx_get_opmsupported Unexecuted instantiation: gdevnfwd.c:gx_get_opmsupported Unexecuted instantiation: gdevmem.c:gx_get_opmsupported Unexecuted instantiation: gdevplnx.c:gx_get_opmsupported Unexecuted instantiation: gdevm1.c:gx_get_opmsupported Unexecuted instantiation: gdevm2.c:gx_get_opmsupported Unexecuted instantiation: gdevm4.c:gx_get_opmsupported Unexecuted instantiation: gdevm8.c:gx_get_opmsupported Unexecuted instantiation: gdevm16.c:gx_get_opmsupported Unexecuted instantiation: gdevm24.c:gx_get_opmsupported Unexecuted instantiation: gdevm32.c:gx_get_opmsupported Unexecuted instantiation: gdevm40.c:gx_get_opmsupported Unexecuted instantiation: gdevm48.c:gx_get_opmsupported Unexecuted instantiation: gdevm56.c:gx_get_opmsupported Unexecuted instantiation: gdevm64.c:gx_get_opmsupported Unexecuted instantiation: gdevmx.c:gx_get_opmsupported Unexecuted instantiation: gdevdsha.c:gx_get_opmsupported Unexecuted instantiation: gxscanc.c:gx_get_opmsupported Unexecuted instantiation: gdevdrop.c:gx_get_opmsupported Unexecuted instantiation: gdevmr1.c:gx_get_opmsupported Unexecuted instantiation: gdevmr2n.c:gx_get_opmsupported Unexecuted instantiation: gdevmr8n.c:gx_get_opmsupported Unexecuted instantiation: gdevrops.c:gx_get_opmsupported Unexecuted instantiation: gsrop.c:gx_get_opmsupported Unexecuted instantiation: zcolor1.c:gx_get_opmsupported Unexecuted instantiation: zht1.c:gx_get_opmsupported Unexecuted instantiation: zupath.c:gx_get_opmsupported Unexecuted instantiation: gdevhit.c:gx_get_opmsupported Unexecuted instantiation: zdps1.c:gx_get_opmsupported Unexecuted instantiation: zchar1.c:gx_get_opmsupported Unexecuted instantiation: zcharout.c:gx_get_opmsupported Unexecuted instantiation: zfont1.c:gx_get_opmsupported Unexecuted instantiation: zusparam.c:gx_get_opmsupported Unexecuted instantiation: zchar42.c:gx_get_opmsupported Unexecuted instantiation: zfont0.c:gx_get_opmsupported Unexecuted instantiation: zfdctd.c:gx_get_opmsupported Unexecuted instantiation: zdevice2.c:gx_get_opmsupported Unexecuted instantiation: zpcolor.c:gx_get_opmsupported Unexecuted instantiation: idisp.c:gx_get_opmsupported Unexecuted instantiation: psapi.c:gx_get_opmsupported Unexecuted instantiation: zfileio.c:gx_get_opmsupported Unexecuted instantiation: zbfont.c:gx_get_opmsupported Unexecuted instantiation: zchar.c:gx_get_opmsupported Unexecuted instantiation: zcolor.c:gx_get_opmsupported Unexecuted instantiation: zdevice.c:gx_get_opmsupported Unexecuted instantiation: zfont.c:gx_get_opmsupported Unexecuted instantiation: zht.c:gx_get_opmsupported Unexecuted instantiation: zimage.c:gx_get_opmsupported Unexecuted instantiation: zfapi.c:gx_get_opmsupported Unexecuted instantiation: zcsindex.c:gx_get_opmsupported Unexecuted instantiation: zht2.c:gx_get_opmsupported Unexecuted instantiation: zcssepr.c:gx_get_opmsupported Unexecuted instantiation: zfunc4.c:gx_get_opmsupported Unexecuted instantiation: zform.c:gx_get_opmsupported Unexecuted instantiation: zimage3.c:gx_get_opmsupported Unexecuted instantiation: zicc.c:gx_get_opmsupported Unexecuted instantiation: ztrans.c:gx_get_opmsupported Unexecuted instantiation: zpdfops.c:gx_get_opmsupported Unexecuted instantiation: pdf_loop_detect.c:gx_get_opmsupported Unexecuted instantiation: ghostpdf.c:gx_get_opmsupported Unexecuted instantiation: pdf_dict.c:gx_get_opmsupported Unexecuted instantiation: pdf_array.c:gx_get_opmsupported Unexecuted instantiation: pdf_xref.c:gx_get_opmsupported Unexecuted instantiation: pdf_int.c:gx_get_opmsupported Unexecuted instantiation: pdf_file.c:gx_get_opmsupported Unexecuted instantiation: pdf_path.c:gx_get_opmsupported Unexecuted instantiation: pdf_colour.c:gx_get_opmsupported Unexecuted instantiation: pdf_pattern.c:gx_get_opmsupported Unexecuted instantiation: pdf_gstate.c:gx_get_opmsupported Unexecuted instantiation: pdf_stack.c:gx_get_opmsupported Unexecuted instantiation: pdf_image.c:gx_get_opmsupported Unexecuted instantiation: pdf_page.c:gx_get_opmsupported Unexecuted instantiation: pdf_annot.c:gx_get_opmsupported Unexecuted instantiation: pdf_mark.c:gx_get_opmsupported Unexecuted instantiation: pdf_font.c:gx_get_opmsupported Unexecuted instantiation: pdf_font0.c:gx_get_opmsupported Unexecuted instantiation: pdf_ciddec.c:gx_get_opmsupported Unexecuted instantiation: pdf_font1.c:gx_get_opmsupported Unexecuted instantiation: pdf_font1C.c:gx_get_opmsupported Unexecuted instantiation: pdf_fontps.c:gx_get_opmsupported Unexecuted instantiation: pdf_font3.c:gx_get_opmsupported Unexecuted instantiation: pdf_fontTT.c:gx_get_opmsupported Unexecuted instantiation: pdf_font11.c:gx_get_opmsupported Unexecuted instantiation: pdf_cmap.c:gx_get_opmsupported Unexecuted instantiation: pdf_fmap.c:gx_get_opmsupported Unexecuted instantiation: pdf_text.c:gx_get_opmsupported Unexecuted instantiation: pdf_shading.c:gx_get_opmsupported Unexecuted instantiation: pdf_func.c:gx_get_opmsupported Unexecuted instantiation: pdf_trans.c:gx_get_opmsupported Unexecuted instantiation: pdf_device.c:gx_get_opmsupported Unexecuted instantiation: pdf_misc.c:gx_get_opmsupported Unexecuted instantiation: pdf_optcontent.c:gx_get_opmsupported Unexecuted instantiation: pdf_check.c:gx_get_opmsupported Unexecuted instantiation: pdf_sec.c:gx_get_opmsupported Unexecuted instantiation: pdf_utf8.c:gx_get_opmsupported Unexecuted instantiation: pdf_deref.c:gx_get_opmsupported Unexecuted instantiation: pdf_repair.c:gx_get_opmsupported Unexecuted instantiation: pdf_obj.c:gx_get_opmsupported Unexecuted instantiation: pdf_doc.c:gx_get_opmsupported Unexecuted instantiation: imainarg.c:gx_get_opmsupported Unexecuted instantiation: gsclipsr.c:gx_get_opmsupported Unexecuted instantiation: gscdevn.c:gx_get_opmsupported Unexecuted instantiation: gxdevndi.c:gx_get_opmsupported Unexecuted instantiation: gxclipm.c:gx_get_opmsupported Unexecuted instantiation: gscolor3.c:gx_get_opmsupported Unexecuted instantiation: gsptype2.c:gx_get_opmsupported Unexecuted instantiation: gsshade.c:gx_get_opmsupported Unexecuted instantiation: gxshade.c:gx_get_opmsupported Unexecuted instantiation: gxshade1.c:gx_get_opmsupported Unexecuted instantiation: gxshade4.c:gx_get_opmsupported Unexecuted instantiation: gxshade6.c:gx_get_opmsupported Unexecuted instantiation: gscolor1.c:gx_get_opmsupported Unexecuted instantiation: gsht1.c:gx_get_opmsupported Unexecuted instantiation: gscolor2.c:gx_get_opmsupported Unexecuted instantiation: gspcolor.c:gx_get_opmsupported Unexecuted instantiation: gxclip2.c:gx_get_opmsupported Unexecuted instantiation: gspath1.c:gx_get_opmsupported Unexecuted instantiation: gstype42.c:gx_get_opmsupported Unexecuted instantiation: gxchrout.c:gx_get_opmsupported Unexecuted instantiation: gxttfb.c:gx_get_opmsupported Unexecuted instantiation: gzspotan.c:gx_get_opmsupported Unexecuted instantiation: gscie.c:gx_get_opmsupported Unexecuted instantiation: gscsepr.c:gx_get_opmsupported Unexecuted instantiation: gxblend1.c:gx_get_opmsupported Unexecuted instantiation: gxdownscale.c:gx_get_opmsupported Unexecuted instantiation: gdevepo.c:gx_get_opmsupported Unexecuted instantiation: gxclbits.c:gx_get_opmsupported Unexecuted instantiation: gxclrast.c:gx_get_opmsupported Unexecuted instantiation: gschar0.c:gx_get_opmsupported Unexecuted instantiation: gsfont0.c:gx_get_opmsupported Unexecuted instantiation: gstype1.c:gx_get_opmsupported Unexecuted instantiation: gxtype1.c:gx_get_opmsupported Unexecuted instantiation: gstype2.c:gx_get_opmsupported Unexecuted instantiation: gsicc_profilecache.c:gx_get_opmsupported Unexecuted instantiation: gdevpdtb.c:gx_get_opmsupported Unexecuted instantiation: gdevpdtc.c:gx_get_opmsupported Unexecuted instantiation: gdevpdte.c:gx_get_opmsupported Unexecuted instantiation: gdevpsfx.c:gx_get_opmsupported Unexecuted instantiation: gstiffio.c:gx_get_opmsupported Unexecuted instantiation: gdeveprn.c:gx_get_opmsupported Unexecuted instantiation: eprnparm.c:gx_get_opmsupported Unexecuted instantiation: eprnrend.c:gx_get_opmsupported Unexecuted instantiation: eprnfs.c:gx_get_opmsupported Unexecuted instantiation: gscicach.c:gx_get_opmsupported Unexecuted instantiation: gsdevmem.c:gx_get_opmsupported Unexecuted instantiation: gxacpath.c:gx_get_opmsupported Unexecuted instantiation: gxpdash.c:gx_get_opmsupported Unexecuted instantiation: pdf_fapi.c:gx_get_opmsupported Unexecuted instantiation: gscscie.c:gx_get_opmsupported |
1792 | | |
1793 | | static inline |
1794 | | gx_color_index gx_get_process_comps(gx_device *dev) |
1795 | 4.16k | { |
1796 | 4.16k | if (dev->color_info.opmsupported != GX_CINFO_OPMSUPPORTED_UNKNOWN) |
1797 | 4.16k | return dev->color_info.process_comps; |
1798 | | |
1799 | 0 | return check_cmyk_color_model_comps(dev); |
1800 | 4.16k | } Unexecuted instantiation: imain.c:gx_get_process_comps Unexecuted instantiation: gconfig.c:gx_get_process_comps Unexecuted instantiation: gximage3.c:gx_get_process_comps Unexecuted instantiation: gximage4.c:gx_get_process_comps Unexecuted instantiation: gxmclip.c:gx_get_process_comps Unexecuted instantiation: gsptype1.c:gx_get_process_comps Unexecuted instantiation: gxp1fill.c:gx_get_process_comps Unexecuted instantiation: gxpcmap.c:gx_get_process_comps Unexecuted instantiation: gxicolor.c:gx_get_process_comps Unexecuted instantiation: gsdps1.c:gx_get_process_comps Unexecuted instantiation: gsciemap.c:gx_get_process_comps Unexecuted instantiation: gstrans.c:gx_get_process_comps Unexecuted instantiation: gximag3x.c:gx_get_process_comps Unexecuted instantiation: gxblend.c:gx_get_process_comps Unexecuted instantiation: gdevp14.c:gx_get_process_comps Unexecuted instantiation: gdevdevn.c:gx_get_process_comps Unexecuted instantiation: gsequivc.c:gx_get_process_comps Unexecuted instantiation: gdevdcrd.c:gx_get_process_comps Unexecuted instantiation: gscpixel.c:gx_get_process_comps Unexecuted instantiation: gdevbbox.c:gx_get_process_comps Unexecuted instantiation: gdevprn.c:gx_get_process_comps Unexecuted instantiation: gdevppla.c:gx_get_process_comps Unexecuted instantiation: gdevflp.c:gx_get_process_comps Unexecuted instantiation: gdevoflt.c:gx_get_process_comps Unexecuted instantiation: gdevnup.c:gx_get_process_comps Unexecuted instantiation: gdevsclass.c:gx_get_process_comps Unexecuted instantiation: gxclist.c:gx_get_process_comps Unexecuted instantiation: gxclpage.c:gx_get_process_comps Unexecuted instantiation: gxclread.c:gx_get_process_comps Unexecuted instantiation: gxclrect.c:gx_get_process_comps Unexecuted instantiation: gxclutil.c:gx_get_process_comps Unexecuted instantiation: gxclimag.c:gx_get_process_comps Unexecuted instantiation: gxclpath.c:gx_get_process_comps Unexecuted instantiation: gxdhtserial.c:gx_get_process_comps Unexecuted instantiation: gxclthrd.c:gx_get_process_comps Unexecuted instantiation: gsicc.c:gx_get_process_comps Unexecuted instantiation: gsicc_manage.c:gx_get_process_comps Unexecuted instantiation: gsicc_cache.c:gx_get_process_comps Unexecuted instantiation: gsicc_lcms2mt.c:gx_get_process_comps Unexecuted instantiation: gsicc_create.c:gx_get_process_comps Unexecuted instantiation: gsicc_nocm.c:gx_get_process_comps Unexecuted instantiation: gsicc_replacecm.c:gx_get_process_comps Unexecuted instantiation: gsicc_monitorcm.c:gx_get_process_comps Unexecuted instantiation: gsicc_blacktext.c:gx_get_process_comps Unexecuted instantiation: gdevbmp.c:gx_get_process_comps Unexecuted instantiation: gdevbmpc.c:gx_get_process_comps Unexecuted instantiation: gdevpccm.c:gx_get_process_comps Unexecuted instantiation: gdevcups.c:gx_get_process_comps Unexecuted instantiation: gdevpdf.c:gx_get_process_comps Unexecuted instantiation: gdevpdfb.c:gx_get_process_comps Unexecuted instantiation: gdevpdfc.c:gx_get_process_comps Unexecuted instantiation: gdevpdfd.c:gx_get_process_comps Unexecuted instantiation: gdevpdfe.c:gx_get_process_comps Unexecuted instantiation: gdevpdfg.c:gx_get_process_comps Unexecuted instantiation: gdevpdfi.c:gx_get_process_comps Unexecuted instantiation: gdevpdfj.c:gx_get_process_comps Unexecuted instantiation: gdevpdfk.c:gx_get_process_comps Unexecuted instantiation: gdevpdfm.c:gx_get_process_comps Unexecuted instantiation: gdevpdfo.c:gx_get_process_comps Unexecuted instantiation: gdevpdfp.c:gx_get_process_comps Unexecuted instantiation: gdevpdft.c:gx_get_process_comps Unexecuted instantiation: gdevpdfr.c:gx_get_process_comps Unexecuted instantiation: gdevpdfu.c:gx_get_process_comps Unexecuted instantiation: gdevpdfv.c:gx_get_process_comps Unexecuted instantiation: gdevpsdi.c:gx_get_process_comps Unexecuted instantiation: gdevpsdp.c:gx_get_process_comps Unexecuted instantiation: gdevpsds.c:gx_get_process_comps Unexecuted instantiation: gdevpsdu.c:gx_get_process_comps Unexecuted instantiation: gdevvec.c:gx_get_process_comps Unexecuted instantiation: gdevpdt.c:gx_get_process_comps Unexecuted instantiation: gdevpdtd.c:gx_get_process_comps Unexecuted instantiation: gdevpdtf.c:gx_get_process_comps Unexecuted instantiation: gdevpdti.c:gx_get_process_comps Unexecuted instantiation: gdevpdts.c:gx_get_process_comps Unexecuted instantiation: gdevpdtt.c:gx_get_process_comps Unexecuted instantiation: gdevpdtw.c:gx_get_process_comps Unexecuted instantiation: gxfcopy.c:gx_get_process_comps Unexecuted instantiation: gdevfax.c:gx_get_process_comps Unexecuted instantiation: gdevdjet.c:gx_get_process_comps Unexecuted instantiation: gdevdljm.c:gx_get_process_comps Unexecuted instantiation: gdevpcl.c:gx_get_process_comps Unexecuted instantiation: gdevpcl3.c:gx_get_process_comps Unexecuted instantiation: pclcap.c:gx_get_process_comps Unexecuted instantiation: gdevpbm.c:gx_get_process_comps Unexecuted instantiation: gdevmpla.c:gx_get_process_comps Unexecuted instantiation: gdevpng.c:gx_get_process_comps Unexecuted instantiation: gdevpsd.c:gx_get_process_comps Unexecuted instantiation: gdevpx.c:gx_get_process_comps Unexecuted instantiation: gdevpxut.c:gx_get_process_comps Unexecuted instantiation: gdevtsep.c:gx_get_process_comps Unexecuted instantiation: gdevtifs.c:gx_get_process_comps Unexecuted instantiation: gdevupd.c:gx_get_process_comps Unexecuted instantiation: gdevxps.c:gx_get_process_comps Unexecuted instantiation: gdevkrnlsclass.c:gx_get_process_comps Unexecuted instantiation: gschar.c:gx_get_process_comps Unexecuted instantiation: gscolor.c:gx_get_process_comps Unexecuted instantiation: gscoord.c:gx_get_process_comps gscspace.c:gx_get_process_comps Line | Count | Source | 1795 | 4.16k | { | 1796 | 4.16k | if (dev->color_info.opmsupported != GX_CINFO_OPMSUPPORTED_UNKNOWN) | 1797 | 4.16k | return dev->color_info.process_comps; | 1798 | | | 1799 | 0 | return check_cmyk_color_model_comps(dev); | 1800 | 4.16k | } |
Unexecuted instantiation: gsovrc.c:gx_get_process_comps Unexecuted instantiation: gxoprect.c:gx_get_process_comps Unexecuted instantiation: gsdevice.c:gx_get_process_comps Unexecuted instantiation: gsdparam.c:gx_get_process_comps Unexecuted instantiation: gsfont.c:gx_get_process_comps Unexecuted instantiation: gsht.c:gx_get_process_comps Unexecuted instantiation: gshtscr.c:gx_get_process_comps Unexecuted instantiation: gsimage.c:gx_get_process_comps Unexecuted instantiation: gsgstate.c:gx_get_process_comps Unexecuted instantiation: gsline.c:gx_get_process_comps Unexecuted instantiation: gspaint.c:gx_get_process_comps Unexecuted instantiation: gspath.c:gx_get_process_comps Unexecuted instantiation: gsstate.c:gx_get_process_comps Unexecuted instantiation: gstext.c:gx_get_process_comps Unexecuted instantiation: gxfapi.c:gx_get_process_comps Unexecuted instantiation: write_t2.c:gx_get_process_comps Unexecuted instantiation: gxccache.c:gx_get_process_comps Unexecuted instantiation: gxccman.c:gx_get_process_comps Unexecuted instantiation: gxchar.c:gx_get_process_comps Unexecuted instantiation: gxcht.c:gx_get_process_comps Unexecuted instantiation: gxclip.c:gx_get_process_comps Unexecuted instantiation: gxcmap.c:gx_get_process_comps Unexecuted instantiation: gxcpath.c:gx_get_process_comps Unexecuted instantiation: gxdcconv.c:gx_get_process_comps Unexecuted instantiation: gxdcolor.c:gx_get_process_comps Unexecuted instantiation: gxhldevc.c:gx_get_process_comps Unexecuted instantiation: gxfill.c:gx_get_process_comps Unexecuted instantiation: gxht.c:gx_get_process_comps Unexecuted instantiation: gxht_thresh.c:gx_get_process_comps Unexecuted instantiation: gxidata.c:gx_get_process_comps Unexecuted instantiation: gxifast.c:gx_get_process_comps Unexecuted instantiation: gximage.c:gx_get_process_comps Unexecuted instantiation: gximdecode.c:gx_get_process_comps Unexecuted instantiation: gximage1.c:gx_get_process_comps Unexecuted instantiation: gximono.c:gx_get_process_comps Unexecuted instantiation: gxipixel.c:gx_get_process_comps Unexecuted instantiation: gximask.c:gx_get_process_comps Unexecuted instantiation: gxi12bit.c:gx_get_process_comps Unexecuted instantiation: gxi16bit.c:gx_get_process_comps Unexecuted instantiation: gxiscale.c:gx_get_process_comps Unexecuted instantiation: gxpaint.c:gx_get_process_comps Unexecuted instantiation: gxpcopy.c:gx_get_process_comps Unexecuted instantiation: gxsample.c:gx_get_process_comps Unexecuted instantiation: gxstroke.c:gx_get_process_comps Unexecuted instantiation: gdevabuf.c:gx_get_process_comps Unexecuted instantiation: gdevdbit.c:gx_get_process_comps Unexecuted instantiation: gdevddrw.c:gx_get_process_comps Unexecuted instantiation: gdevdflt.c:gx_get_process_comps Unexecuted instantiation: gdevdgbr.c:gx_get_process_comps Unexecuted instantiation: gdevnfwd.c:gx_get_process_comps Unexecuted instantiation: gdevmem.c:gx_get_process_comps Unexecuted instantiation: gdevplnx.c:gx_get_process_comps Unexecuted instantiation: gdevm1.c:gx_get_process_comps Unexecuted instantiation: gdevm2.c:gx_get_process_comps Unexecuted instantiation: gdevm4.c:gx_get_process_comps Unexecuted instantiation: gdevm8.c:gx_get_process_comps Unexecuted instantiation: gdevm16.c:gx_get_process_comps Unexecuted instantiation: gdevm24.c:gx_get_process_comps Unexecuted instantiation: gdevm32.c:gx_get_process_comps Unexecuted instantiation: gdevm40.c:gx_get_process_comps Unexecuted instantiation: gdevm48.c:gx_get_process_comps Unexecuted instantiation: gdevm56.c:gx_get_process_comps Unexecuted instantiation: gdevm64.c:gx_get_process_comps Unexecuted instantiation: gdevmx.c:gx_get_process_comps Unexecuted instantiation: gdevdsha.c:gx_get_process_comps Unexecuted instantiation: gxscanc.c:gx_get_process_comps Unexecuted instantiation: gdevdrop.c:gx_get_process_comps Unexecuted instantiation: gdevmr1.c:gx_get_process_comps Unexecuted instantiation: gdevmr2n.c:gx_get_process_comps Unexecuted instantiation: gdevmr8n.c:gx_get_process_comps Unexecuted instantiation: gdevrops.c:gx_get_process_comps Unexecuted instantiation: gsrop.c:gx_get_process_comps Unexecuted instantiation: zcolor1.c:gx_get_process_comps Unexecuted instantiation: zht1.c:gx_get_process_comps Unexecuted instantiation: zupath.c:gx_get_process_comps Unexecuted instantiation: gdevhit.c:gx_get_process_comps Unexecuted instantiation: zdps1.c:gx_get_process_comps Unexecuted instantiation: zchar1.c:gx_get_process_comps Unexecuted instantiation: zcharout.c:gx_get_process_comps Unexecuted instantiation: zfont1.c:gx_get_process_comps Unexecuted instantiation: zusparam.c:gx_get_process_comps Unexecuted instantiation: zchar42.c:gx_get_process_comps Unexecuted instantiation: zfont0.c:gx_get_process_comps Unexecuted instantiation: zfdctd.c:gx_get_process_comps Unexecuted instantiation: zdevice2.c:gx_get_process_comps Unexecuted instantiation: zpcolor.c:gx_get_process_comps Unexecuted instantiation: idisp.c:gx_get_process_comps Unexecuted instantiation: psapi.c:gx_get_process_comps Unexecuted instantiation: zfileio.c:gx_get_process_comps Unexecuted instantiation: zbfont.c:gx_get_process_comps Unexecuted instantiation: zchar.c:gx_get_process_comps Unexecuted instantiation: zcolor.c:gx_get_process_comps Unexecuted instantiation: zdevice.c:gx_get_process_comps Unexecuted instantiation: zfont.c:gx_get_process_comps Unexecuted instantiation: zht.c:gx_get_process_comps Unexecuted instantiation: zimage.c:gx_get_process_comps Unexecuted instantiation: zfapi.c:gx_get_process_comps Unexecuted instantiation: zcsindex.c:gx_get_process_comps Unexecuted instantiation: zht2.c:gx_get_process_comps Unexecuted instantiation: zcssepr.c:gx_get_process_comps Unexecuted instantiation: zfunc4.c:gx_get_process_comps Unexecuted instantiation: zform.c:gx_get_process_comps Unexecuted instantiation: zimage3.c:gx_get_process_comps Unexecuted instantiation: zicc.c:gx_get_process_comps Unexecuted instantiation: ztrans.c:gx_get_process_comps Unexecuted instantiation: zpdfops.c:gx_get_process_comps Unexecuted instantiation: pdf_loop_detect.c:gx_get_process_comps Unexecuted instantiation: ghostpdf.c:gx_get_process_comps Unexecuted instantiation: pdf_dict.c:gx_get_process_comps Unexecuted instantiation: pdf_array.c:gx_get_process_comps Unexecuted instantiation: pdf_xref.c:gx_get_process_comps Unexecuted instantiation: pdf_int.c:gx_get_process_comps Unexecuted instantiation: pdf_file.c:gx_get_process_comps Unexecuted instantiation: pdf_path.c:gx_get_process_comps Unexecuted instantiation: pdf_colour.c:gx_get_process_comps Unexecuted instantiation: pdf_pattern.c:gx_get_process_comps Unexecuted instantiation: pdf_gstate.c:gx_get_process_comps Unexecuted instantiation: pdf_stack.c:gx_get_process_comps Unexecuted instantiation: pdf_image.c:gx_get_process_comps Unexecuted instantiation: pdf_page.c:gx_get_process_comps Unexecuted instantiation: pdf_annot.c:gx_get_process_comps Unexecuted instantiation: pdf_mark.c:gx_get_process_comps Unexecuted instantiation: pdf_font.c:gx_get_process_comps Unexecuted instantiation: pdf_font0.c:gx_get_process_comps Unexecuted instantiation: pdf_ciddec.c:gx_get_process_comps Unexecuted instantiation: pdf_font1.c:gx_get_process_comps Unexecuted instantiation: pdf_font1C.c:gx_get_process_comps Unexecuted instantiation: pdf_fontps.c:gx_get_process_comps Unexecuted instantiation: pdf_font3.c:gx_get_process_comps Unexecuted instantiation: pdf_fontTT.c:gx_get_process_comps Unexecuted instantiation: pdf_font11.c:gx_get_process_comps Unexecuted instantiation: pdf_cmap.c:gx_get_process_comps Unexecuted instantiation: pdf_fmap.c:gx_get_process_comps Unexecuted instantiation: pdf_text.c:gx_get_process_comps Unexecuted instantiation: pdf_shading.c:gx_get_process_comps Unexecuted instantiation: pdf_func.c:gx_get_process_comps Unexecuted instantiation: pdf_trans.c:gx_get_process_comps Unexecuted instantiation: pdf_device.c:gx_get_process_comps Unexecuted instantiation: pdf_misc.c:gx_get_process_comps Unexecuted instantiation: pdf_optcontent.c:gx_get_process_comps Unexecuted instantiation: pdf_check.c:gx_get_process_comps Unexecuted instantiation: pdf_sec.c:gx_get_process_comps Unexecuted instantiation: pdf_utf8.c:gx_get_process_comps Unexecuted instantiation: pdf_deref.c:gx_get_process_comps Unexecuted instantiation: pdf_repair.c:gx_get_process_comps Unexecuted instantiation: pdf_obj.c:gx_get_process_comps Unexecuted instantiation: pdf_doc.c:gx_get_process_comps Unexecuted instantiation: imainarg.c:gx_get_process_comps Unexecuted instantiation: gsclipsr.c:gx_get_process_comps Unexecuted instantiation: gscdevn.c:gx_get_process_comps Unexecuted instantiation: gxdevndi.c:gx_get_process_comps Unexecuted instantiation: gxclipm.c:gx_get_process_comps Unexecuted instantiation: gscolor3.c:gx_get_process_comps Unexecuted instantiation: gsptype2.c:gx_get_process_comps Unexecuted instantiation: gsshade.c:gx_get_process_comps Unexecuted instantiation: gxshade.c:gx_get_process_comps Unexecuted instantiation: gxshade1.c:gx_get_process_comps Unexecuted instantiation: gxshade4.c:gx_get_process_comps Unexecuted instantiation: gxshade6.c:gx_get_process_comps Unexecuted instantiation: gscolor1.c:gx_get_process_comps Unexecuted instantiation: gsht1.c:gx_get_process_comps Unexecuted instantiation: gscolor2.c:gx_get_process_comps Unexecuted instantiation: gspcolor.c:gx_get_process_comps Unexecuted instantiation: gxclip2.c:gx_get_process_comps Unexecuted instantiation: gspath1.c:gx_get_process_comps Unexecuted instantiation: gstype42.c:gx_get_process_comps Unexecuted instantiation: gxchrout.c:gx_get_process_comps Unexecuted instantiation: gxttfb.c:gx_get_process_comps Unexecuted instantiation: gzspotan.c:gx_get_process_comps Unexecuted instantiation: gscie.c:gx_get_process_comps Unexecuted instantiation: gscsepr.c:gx_get_process_comps Unexecuted instantiation: gxblend1.c:gx_get_process_comps Unexecuted instantiation: gxdownscale.c:gx_get_process_comps Unexecuted instantiation: gdevepo.c:gx_get_process_comps Unexecuted instantiation: gxclbits.c:gx_get_process_comps Unexecuted instantiation: gxclrast.c:gx_get_process_comps Unexecuted instantiation: gschar0.c:gx_get_process_comps Unexecuted instantiation: gsfont0.c:gx_get_process_comps Unexecuted instantiation: gstype1.c:gx_get_process_comps Unexecuted instantiation: gxtype1.c:gx_get_process_comps Unexecuted instantiation: gstype2.c:gx_get_process_comps Unexecuted instantiation: gsicc_profilecache.c:gx_get_process_comps Unexecuted instantiation: gdevpdtb.c:gx_get_process_comps Unexecuted instantiation: gdevpdtc.c:gx_get_process_comps Unexecuted instantiation: gdevpdte.c:gx_get_process_comps Unexecuted instantiation: gdevpsfx.c:gx_get_process_comps Unexecuted instantiation: gstiffio.c:gx_get_process_comps Unexecuted instantiation: gdeveprn.c:gx_get_process_comps Unexecuted instantiation: eprnparm.c:gx_get_process_comps Unexecuted instantiation: eprnrend.c:gx_get_process_comps Unexecuted instantiation: eprnfs.c:gx_get_process_comps Unexecuted instantiation: gscicach.c:gx_get_process_comps Unexecuted instantiation: gsdevmem.c:gx_get_process_comps Unexecuted instantiation: gxacpath.c:gx_get_process_comps Unexecuted instantiation: gxpdash.c:gx_get_process_comps Unexecuted instantiation: pdf_fapi.c:gx_get_process_comps Unexecuted instantiation: gscscie.c:gx_get_process_comps |
1801 | | |
1802 | | |
1803 | | #endif /* gxdevcli_INCLUDED */ |