ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/CV/CV.xs
(Generate patch)

Comparing CV/CV.xs (file contents):
Revision 1.41 by root, Sat Mar 1 04:11:26 2008 UTC vs.
Revision 1.45 by root, Fri Aug 29 18:35:25 2014 UTC

14#include <gdk-pixbuf/gdk-pixbuf.h> 14#include <gdk-pixbuf/gdk-pixbuf.h>
15 15
16#include <gperl.h> 16#include <gperl.h>
17#include <gtk2perl.h> 17#include <gtk2perl.h>
18 18
19#include <assert.h>
20
19#define IW 80 /* MUST match Schnauzer.pm! */ 21#define IW 80 /* MUST match Schnauzer.pm! */
20#define IH 60 /* MUST match Schnauzer.pm! */ 22#define IH 60 /* MUST match Schnauzer.pm! */
21 23
22#define RAND (seed = (seed + 7141) * 54773 % 134456) 24#define RAND (seed = (seed + 7141) * 54773 % 134456)
23 25
24#define LINELENGTH 240 26#define LINELENGTH 240
25 27
26#define ELLIPSIS "\xe2\x80\xa6" 28#define ELLIPSIS "\xe2\x80\xa6"
29
30typedef char *octet_string;
27 31
28struct jpg_err_mgr 32struct jpg_err_mgr
29{ 33{
30 struct jpeg_error_mgr err; 34 struct jpeg_error_mgr err;
31 jmp_buf setjmp_buffer; 35 jmp_buf setjmp_buffer;
202 206
203 OUTPUT: 207 OUTPUT:
204 RETVAL 208 RETVAL
205 209
206const char * 210const char *
207magic (const char *path) 211magic (octet_string path)
208 CODE: 212 CODE:
209{ 213{
210 static magic_t cookie; 214 static magic_t cookie;
211 215
212 if (!cookie) 216 if (!cookie)
213 { 217 {
214 cookie = magic_open (MAGIC_NONE); 218 cookie = magic_open (MAGIC_SYMLINK);
215 219
216 if (cookie) 220 if (cookie)
217 magic_load (cookie, 0); 221 magic_load (cookie, 0);
218 else 222 else
219 XSRETURN_UNDEF; 223 XSRETURN_UNDEF;
223} 227}
224 OUTPUT: 228 OUTPUT:
225 RETVAL 229 RETVAL
226 230
227const char * 231const char *
228magic_mime (const char *path) 232magic_mime (octet_string path)
229 CODE: 233 CODE:
230{ 234{
231 static magic_t cookie; 235 static magic_t cookie;
232 236
233 if (!cookie) 237 if (!cookie)
234 { 238 {
235 cookie = magic_open (MAGIC_MIME); 239 cookie = magic_open (MAGIC_MIME | MAGIC_SYMLINK);
236 240
237 if (cookie) 241 if (cookie)
238 magic_load (cookie, 0); 242 magic_load (cookie, 0);
239 else 243 else
240 XSRETURN_UNDEF; 244 XSRETURN_UNDEF;
288 RETVAL 292 RETVAL
289 293
290GdkPixbuf_noinc * 294GdkPixbuf_noinc *
291rotate (GdkPixbuf *pb, int angle) 295rotate (GdkPixbuf *pb, int angle)
292 CODE: 296 CODE:
297 if (angle < 0)
298 angle += 360;
293 RETVAL = gdk_pixbuf_rotate_simple (pb, angle == 0 ? GDK_PIXBUF_ROTATE_NONE 299 RETVAL = gdk_pixbuf_rotate_simple (pb, angle == 0 ? GDK_PIXBUF_ROTATE_NONE
294 : angle == 90 ? GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE 300 : angle == 90 ? GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE
295 : angle == 180 ? GDK_PIXBUF_ROTATE_UPSIDEDOWN 301 : angle == 180 ? GDK_PIXBUF_ROTATE_UPSIDEDOWN
296 : angle == 270 ? GDK_PIXBUF_ROTATE_CLOCKWISE 302 : angle == 270 ? GDK_PIXBUF_ROTATE_CLOCKWISE
297 : angle); 303 : angle);
398compare (GdkPixbuf *a, GdkPixbuf *b) 404compare (GdkPixbuf *a, GdkPixbuf *b)
399 PPCODE: 405 PPCODE:
400{ 406{
401 int w = gdk_pixbuf_get_width (a); 407 int w = gdk_pixbuf_get_width (a);
402 int h = gdk_pixbuf_get_height (a); 408 int h = gdk_pixbuf_get_height (a);
409
403 int sa = gdk_pixbuf_get_rowstride (a); 410 int sa = gdk_pixbuf_get_rowstride (a);
404 int sb = gdk_pixbuf_get_rowstride (b); 411 int sb = gdk_pixbuf_get_rowstride (b);
405 412
406 guchar *pa = gdk_pixbuf_get_pixels (a); 413 guchar *pa = gdk_pixbuf_get_pixels (a);
407 guchar *pb = gdk_pixbuf_get_pixels (b); 414 guchar *pb = gdk_pixbuf_get_pixels (b);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines