From http://www.jwz.org/xscreensaver/xscreensaver-5.35.tar.gz
[xscreensaver] / OSX / iosgrabimage.m
index faf234804744d1476efe3afa1bc87e4c13378c69..c861d73681e772526b8abe1f0d0d3990affa1d10 100644 (file)
@@ -1,4 +1,4 @@
-/* xscreensaver, Copyright (c) 1992-2012 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 1992-2014 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -42,7 +42,8 @@
  */
 
 typedef struct {
-  void (*callback) (void *uiimage, const char *fn, void *closure);
+  void (*callback) (void *uiimage, const char *fn, int width, int height,
+                    void *closure);
   void *closure;
 
   ALAssetsLibrary *library;
@@ -56,7 +57,7 @@ ios_random_image_done (ios_loader_data *d, BOOL ok)
 {
   UIImage *img = 0;
   const char *fn = 0;
-  int n = ok ? [d->assets count] : 0;
+  NSUInteger n = ok ? [d->assets count] : 0;
   if (n > 0) {
     ALAsset *asset = [d->assets objectAtIndex: random() % n];
     ALAssetRepresentation *rep = [asset defaultRepresentation];
@@ -72,20 +73,21 @@ ios_random_image_done (ios_loader_data *d, BOOL ok)
                      scale: 1
                      orientation: orient];
       if (img)
-        fn = [[rep filename] cStringUsingEncoding:NSISOLatin1StringEncoding];
+        fn = [[rep filename] cStringUsingEncoding:NSUTF8StringEncoding];
     }
   }
 
   [d->assets release];
   [d->library release];
 
-  d->callback (img, fn, d->closure);
+  d->callback (img, fn, [img size].width, [img size].height, d->closure);
   free (d);
 }
 
 
 void
 ios_load_random_image (void (*callback) (void *uiimage, const char *fn,
+                                         int width, int height,
                                          void *closure),
                        void *closure)
 {