http://packetstormsecurity.org/UNIX/admin/xscreensaver-4.04.2.tar.gz
[xscreensaver] / hacks / xlockmoreI.h
index 48279640b7d074448807cf9a9ea61a782272d94f..500de7a4c1ff970e528c653001ca65b240a163ec 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-2002 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...)
@@ -63,6 +68,16 @@ typedef struct ModeInfo {
   long threed_none_color;
   long threed_delta;
   Bool wireframe_p;
+  Bool is_drawn;
+
+  Bool fps_p;
+  unsigned long polygon_count;  /* used only by FPS display */
+
+#ifdef HAVE_XSHM_EXTENSION
+  Bool use_shm;
+  XShmSegmentInfo shm_info;
+#endif
+
 } ModeInfo;
 
 typedef enum {  t_String, t_Float, t_Int, t_Bool } xlockmore_type;
@@ -93,12 +108,12 @@ extern void xlockmore_screenhack (Display *dpy, Window window,
                                  Bool want_uniform_colors,
                                  Bool want_smooth_colors,
                                  Bool want_bright_colors,
+                                  unsigned long event_mask,
                                  void (*hack_init) (ModeInfo *),
                                  void (*hack_draw) (ModeInfo *),
+                                 void (*hack_reshape) (ModeInfo *, int, int),
+                                  Bool (*hack_handle_events) (ModeInfo *,
+                                                              XEvent *),
                                  void (*hack_free) (ModeInfo *));
 
-#ifdef USE_GL
-extern Visual *get_gl_visual (Screen *screen, char *name, char *class);
-#endif
-
 #endif /* __XLOCKMORE_INTERNAL_H__ */