File: urffilter.c

package info (click to toggle)
ghostscript 10.06.0~dfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 96,296 kB
  • sloc: ansic: 944,438; python: 7,917; cpp: 6,534; cs: 6,457; sh: 6,168; java: 4,028; perl: 2,373; tcl: 1,639; makefile: 538; awk: 66; yacc: 18
file content (31 lines) | stat: -rw-r--r-- 940 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/* #included from psi/zfilter.c */

#include "surfx.h"

static int
urf_setup(os_ptr dop, int *width, int *bpp, byte *white)
{
    if (r_has_type(dop, t_dictionary)) {
        int code;
        bool cmyk;

        check_dict_read(*dop);
        if ((code = dict_int_param(dop, "Width", 1, max_int, URF_default_width, width)) < 0)
            return code;
        if ((code = dict_int_param(dop, "BPP", 8, 32, URF_default_bpp, bpp)) < 0)
            return code;
        if (*bpp != 8 && *bpp != 24 && *bpp != 32)
            return_error(gs_error_rangecheck);
        if ((code = dict_bool_param(dop, "CMYK", true, &cmyk)) < 0)
            return code;
        if ((cmyk && *bpp != 32) || (!cmyk && *bpp == 32))
            return_error(gs_error_rangecheck);
        *white = cmyk ? 0 : 0xFF;
        return 1;
    } else {
        *width = URF_default_width;
        *bpp = URF_default_bpp;
        *white = 0xFF;
        return 0;
    }
}