http://packetstormsecurity.org/UNIX/admin/xscreensaver-3.29.tar.gz
[xscreensaver] / hacks / xlockmoreI.h
index 20df035263c98a9df50674482e34412ad1c82427..ef7b51d8a5d6d9d32ef639005bad0db3b67c2c47 100644 (file)
@@ -1,5 +1,5 @@
 /* xlockmore.h --- xscreensaver compatibility layer for xlockmore modules.
- * xscreensaver, Copyright (c) 1997 Jamie Zawinski <jwz@netscape.com>
+ * xscreensaver, Copyright (c) 1997, 1998, 2001 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
 
 #include "screenhack.h"
 
+#ifdef HAVE_XSHM_EXTENSION
+# include "xshm.h"
+#endif /* HAVE_XSHM_EXTENSION */
+
+
+/* I'm told that the Sun version of OpenGL needs to have the constant
+   SUN_OGL_NO_VERTEX_MACROS defined in order for morph3d to compile
+   (the number of arguments to the glNormal3f macro changes...)
+   Verified with gcc 2.7.2.2 and Sun cc 4.2 with OpenGL 1.1.1 dev 4
+   on Solaris 2.5.1.
+ */
+#ifndef HAVE_MESA_GL
+# if defined(__sun) && defined(__SVR4) /* Solaris */
+#  define SUN_OGL_NO_VERTEX_MACROS 1
+# endif /* Solaris */
+#endif /* !HAVE_MESA_GL */
+
+
 /* Compatibility with the xlockmore RNG API
    (note that the xlockmore hacks never expect negative numbers.)
  */
@@ -50,6 +68,15 @@ typedef struct ModeInfo {
   long threed_none_color;
   long threed_delta;
   Bool wireframe_p;
+  Bool is_drawn;
+
+  Bool fps_p;
+
+#ifdef HAVE_XSHM_EXTENSION
+  Bool use_shm;
+  XShmSegmentInfo shm_info;
+#endif
+
 } ModeInfo;
 
 typedef enum {  t_String, t_Float, t_Int, t_Bool } xlockmore_type;
@@ -82,10 +109,7 @@ extern void xlockmore_screenhack (Display *dpy, Window window,
                                  Bool want_bright_colors,
                                  void (*hack_init) (ModeInfo *),
                                  void (*hack_draw) (ModeInfo *),
+                                 void (*hack_reshape) (ModeInfo *, int, int),
                                  void (*hack_free) (ModeInfo *));
 
-#ifdef USE_GL
-extern Visual *get_gl_visual (Screen *screen, char *name, char *class);
-#endif
-
 #endif /* __XLOCKMORE_INTERNAL_H__ */