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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
include "import.h"
# Define the builtin format names. We also define the aliases in case the
# user specifies one of these instead, the 'sensed' format name is the
# proper name.
define IP_BUILTINS "|gif|giff\
|sunras|ras\
|xwd|x11|"
define IP_GIF 1 # CompuServe GIF format
define IP_GIFF 2 # CompuServe GIF format
define IP_SUNRAS 3 # Sun Rasterfile
define IP_RAS 4 # Sun Rasterfile
define IP_XWD 5 # X11 Window Dump
define IP_X11 6 # X11 Window Dump
# IP_PRBUILTIN -- Process a 'builtin' format.
procedure ip_prbuiltin (ip, fname)
pointer ip #i task struct pointer
char fname[ARB] #i file name
begin
# Branch off to the particular format.
switch (IP_FCODE(ip)) {
case IP_GIF, IP_GIFF:
call ip_gif (ip, fname, NO, NO)
case IP_SUNRAS, IP_RAS:
call ip_ras (ip, fname, NO, NO)
case IP_XWD, IP_X11:
call ip_xwd (ip, fname, NO, NO)
default:
return
}
end
# IP_BLTIN_INFO -- Process a 'builtin' format file information request. These
# are done separately because in a builtin we can print information such as
# colormap information, compression schemes, etc.
procedure ip_bltin_info (ip, fname, verbose)
pointer ip #i task struct pointer
char fname[ARB] #i file name
int verbose #i verbosity flag
begin
# Branch off to the particular format.
switch (IP_FCODE(ip)) {
case IP_GIF, IP_GIFF:
call ip_gif (ip, fname, YES, verbose)
case IP_SUNRAS, IP_RAS:
call ip_ras (ip, fname, YES, verbose)
case IP_XWD, IP_X11:
call ip_xwd (ip, fname, YES, verbose)
default:
return
}
end
# IP_IS_BUILTIN -- See if this is a 'builtin' format.
int procedure ip_is_builtin (format)
char format[ARB] #i format to check
int btoi(), strdic()
begin
return (btoi(strdic(format,format,SZ_FNAME,IP_BUILTINS) != 0))
end
# IP_FCODE -- Get the format code for a builtin format.
int procedure ip_fcode (format)
char format[ARB] #i format to check
int strdic()
begin
return (strdic (format, format, SZ_FNAME, IP_BUILTINS))
end
|