From http://www.jwz.org/xscreensaver/xscreensaver-5.38.tar.gz
[xscreensaver] / hacks / glx / lament.c
index 214aaf6208a5d455addf242f15224249f1370441..777a5c648722f1c75c59b469efa5fca6df3d330f 100644 (file)
 
 #define DEFAULTS       "*delay:        20000   \n"     \
                        "*showFPS:      False   \n"     \
-                       "*wireframe:    False   \n"
-# define refresh_lament 0
+                       "*wireframe:    False   \n"     \
+                       "*suppressRotationAnimation: True\n" \
+
+# define free_lament 0
 # define release_lament 0
 #include "xlockmore.h"
 
@@ -323,9 +325,12 @@ scale_for_window (ModeInfo *mi)
   if (MI_WIDTH(mi) > MI_HEIGHT(mi))
     scale /= MI_WIDTH(mi) / (GLfloat) MI_HEIGHT(mi);
 
+  /* If the window is super wide, make it bigger. */
+  if (scale < 8) scale = 8;
+
   /* Constrain it to roughly life-sized on the screen, not huge.
    */
-# ifdef USE_IPHONE
+# ifdef HAVE_MOBILE
   if (size > 768)  /* iPad retina / iPhone 6 */
     target_size *= 1.5;
   else
@@ -453,8 +458,8 @@ leviathan (ModeInfo *mi, GLfloat ratio, GLfloat alpha, Bool top_p)
       int j = (i + 1) % countof(p);
 /*      if (top_p)*/
         do_normal (z, 0, 0,
-                   0, p[i].y, p[i].z,
-                   0, p[j].y, p[j].z);
+                   0, p[i].x, p[i].y,
+                   0, p[j].x, p[j].y);
 /*
       else
         do_normal (z, 0, 0,
@@ -1703,16 +1708,7 @@ init_lament (ModeInfo *mi)
 {
   lament_configuration *lc;
   int i;
-  if (!lcs)
-    {
-      lcs = (lament_configuration *)
-       calloc(MI_NUM_SCREENS(mi), sizeof (lament_configuration));
-      if (!lcs)
-       {
-         fprintf(stderr, "%s: out of memory\n", progname);
-         exit(1);
-       }
-    }
+  MI_INIT (mi, lcs);
 
   lc = &lcs[MI_SCREEN(mi)];