source: libpipi/trunk/src/pipi.c @ 2839

Last change on this file since 2839 was 2790, checked in by Sam Hocevar, 14 years ago
  • Add pipi_order, to transform any image into an ordered dithering matrix.
File size: 7.5 KB
Line 
1#include "config.h"
2#include "common.h"
3
4#include <stdio.h>
5#include <stdlib.h>
6#include <string.h>
7
8#include <pipi.h>
9
10int main(int argc, char *argv[])
11{
12    pipi_context_t *ctx;
13
14    ctx = pipi_create_context();
15
16    while(*++argv)
17    {
18        if(!strcmp(argv[0], "--dup"))
19        {
20            if(pipi_command(ctx, "dup") != 0)
21                return EXIT_FAILURE;
22        }
23        else if(!strcmp(argv[0], "--swap"))
24        {
25            if(pipi_command(ctx, "swap") != 0)
26                return EXIT_FAILURE;
27        }
28        else if(!strcmp(argv[0], "--roll"))
29        {
30            if(argv[1] == NULL)
31                return EXIT_FAILURE;
32            if(pipi_command(ctx, "roll", argv[1]) != 0)
33                return EXIT_FAILURE;
34            argv++;
35        }
36        else if(!strcmp(argv[0], "--scale"))
37        {
38            if(argv[1] == NULL)
39                return EXIT_FAILURE;
40            if(pipi_command(ctx, "scale", argv[1]) != 0)
41                return EXIT_FAILURE;
42            argv++;
43        }
44        else if(!strcmp(argv[0], "--geometry"))
45        {
46            if(argv[1] == NULL)
47                return EXIT_FAILURE;
48            if(pipi_command(ctx, "geometry", argv[1]) != 0)
49                return EXIT_FAILURE;
50            argv++;
51        }
52        else if(!strcmp(argv[0], "--tile"))
53        {
54            if(argv[1] == NULL)
55                return EXIT_FAILURE;
56            if(pipi_command(ctx, "tile", argv[1]) != 0)
57                return EXIT_FAILURE;
58            argv++;
59        }
60        else if(!strcmp(argv[0], "--dither"))
61        {
62            if(argv[1] == NULL)
63                return EXIT_FAILURE;
64            if(pipi_command(ctx, "dither", argv[1]) != 0)
65                return EXIT_FAILURE;
66            argv++;
67        }
68        else if(!strcmp(argv[0], "--blur"))
69        {
70            if(argv[1] == NULL)
71                return EXIT_FAILURE;
72            if(pipi_command(ctx, "blur", argv[1]) != 0)
73                return EXIT_FAILURE;
74            argv++;
75        }
76        else if(!strcmp(argv[0], "--boxblur"))
77        {
78            if(argv[1] == NULL)
79                return EXIT_FAILURE;
80            if(pipi_command(ctx, "boxblur", argv[1]) != 0)
81                return EXIT_FAILURE;
82            argv++;
83        }
84        else if(!strcmp(argv[0], "--median"))
85        {
86            if(argv[1] == NULL)
87                return EXIT_FAILURE;
88            if(pipi_command(ctx, "median", argv[1]) != 0)
89                return EXIT_FAILURE;
90            argv++;
91        }
92        else if(!strcmp(argv[0], "--gray"))
93        {
94            if(pipi_command(ctx, "gray") != 0)
95                return EXIT_FAILURE;
96        }
97        else if(!strcmp(argv[0], "--brightness"))
98        {
99            if(argv[1] == NULL)
100                return EXIT_FAILURE;
101            if(pipi_command(ctx, "brightness", argv[1]) != 0)
102                return EXIT_FAILURE;
103            argv++;
104        }
105        else if(!strcmp(argv[0], "--contrast"))
106        {
107            if(argv[1] == NULL)
108                return EXIT_FAILURE;
109            if(pipi_command(ctx, "contrast", argv[1]) != 0)
110                return EXIT_FAILURE;
111            argv++;
112        }
113        else if(!strcmp(argv[0], "--autocontrast"))
114        {
115            if(pipi_command(ctx, "autocontrast") != 0)
116                return EXIT_FAILURE;
117        }
118        else if(!strcmp(argv[0], "--order"))
119        {
120            if(pipi_command(ctx, "order") != 0)
121                return EXIT_FAILURE;
122        }
123        else if(!strcmp(argv[0], "--hflip"))
124        {
125            if(pipi_command(ctx, "hflip") != 0)
126                return EXIT_FAILURE;
127        }
128        else if(!strcmp(argv[0], "--vflip"))
129        {
130            if(pipi_command(ctx, "vflip") != 0)
131                return EXIT_FAILURE;
132        }
133        else if(!strcmp(argv[0], "--rotate90"))
134        {
135            if(pipi_command(ctx, "rotate90") != 0)
136                return EXIT_FAILURE;
137        }
138        else if(!strcmp(argv[0], "--rotate180"))
139        {
140            if(pipi_command(ctx, "rotate180") != 0)
141                return EXIT_FAILURE;
142        }
143        else if(!strcmp(argv[0], "--rotate270"))
144        {
145            if(pipi_command(ctx, "rotate270") != 0)
146                return EXIT_FAILURE;
147        }
148        else if(!strcmp(argv[0], "--invert"))
149        {
150            if(pipi_command(ctx, "invert") != 0)
151                return EXIT_FAILURE;
152        }
153        else if(!strcmp(argv[0], "--threshold"))
154        {
155            if(argv[1] == NULL)
156                return EXIT_FAILURE;
157            if(pipi_command(ctx, "threshold", argv[1]) != 0)
158                return EXIT_FAILURE;
159            argv++;
160        }
161        else if(!strcmp(argv[0], "--dilate"))
162        {
163            if(pipi_command(ctx, "dilate") != 0)
164                return EXIT_FAILURE;
165        }
166        else if(!strcmp(argv[0], "--erode"))
167        {
168            if(pipi_command(ctx, "erode") != 0)
169                return EXIT_FAILURE;
170        }
171        else if(!strcmp(argv[0], "--wrap"))
172        {
173            if(pipi_command(ctx, "wrap") != 0)
174                return EXIT_FAILURE;
175        }
176        else if(!strcmp(argv[0], "--combine"))
177        {
178            if(pipi_command(ctx, "combine") != 0)
179                return EXIT_FAILURE;
180        }
181        else if(!strcmp(argv[0], "--split"))
182        {
183            if(pipi_command(ctx, "split") != 0)
184                return EXIT_FAILURE;
185        }
186        else if(!strcmp(argv[0], "--mean"))
187        {
188            if(pipi_command(ctx, "mean") != 0)
189                return EXIT_FAILURE;
190        }
191        else if(!strcmp(argv[0], "--min"))
192        {
193            if(pipi_command(ctx, "min") != 0)
194                return EXIT_FAILURE;
195        }
196        else if(!strcmp(argv[0], "--max"))
197        {
198            if(pipi_command(ctx, "max") != 0)
199                return EXIT_FAILURE;
200        }
201        else if(!strcmp(argv[0], "--add"))
202        {
203            if(pipi_command(ctx, "add") != 0)
204                return EXIT_FAILURE;
205        }
206        else if(!strcmp(argv[0], "--sub"))
207        {
208            if(pipi_command(ctx, "sub") != 0)
209                return EXIT_FAILURE;
210        }
211        else if(!strcmp(argv[0], "--difference"))
212        {
213            if(pipi_command(ctx, "difference") != 0)
214                return EXIT_FAILURE;
215        }
216        else if(!strcmp(argv[0], "--multiply"))
217        {
218            if(pipi_command(ctx, "multiply") != 0)
219                return EXIT_FAILURE;
220        }
221        else if(!strcmp(argv[0], "--divide"))
222        {
223            if(pipi_command(ctx, "divide") != 0)
224                return EXIT_FAILURE;
225        }
226        else if(!strcmp(argv[0], "--screen"))
227        {
228            if(pipi_command(ctx, "screen") != 0)
229                return EXIT_FAILURE;
230        }
231        else if(!strcmp(argv[0], "--overlay"))
232        {
233            if(pipi_command(ctx, "overlay") != 0)
234                return EXIT_FAILURE;
235        }
236        else if(!strcmp(argv[0], "--line"))
237        {
238            if(argv[6] == NULL)
239                return EXIT_FAILURE;
240            if(pipi_command(ctx, "line", argv[1]) != 0)
241                return EXIT_FAILURE;
242            argv++;
243        }
244        else if(!strcmp(argv[0], "--output") || !strcmp(argv[0], "-o"))
245        {
246            if(argv[1] == NULL)
247                return EXIT_FAILURE;
248            if(pipi_command(ctx, "save", argv[1]) != 0)
249                return EXIT_FAILURE;
250            argv++;
251        }
252        else
253        {
254            if(pipi_command(ctx, "load", argv[0]) != 0)
255                return EXIT_FAILURE;
256        }
257    }
258
259    pipi_destroy_context(ctx);
260
261    return EXIT_SUCCESS;
262}
263
Note: See TracBrowser for help on using the repository browser.