+++ /dev/null
-/* xlockmore.h --- xscreensaver compatibility layer for xlockmore modules.
- * xscreensaver, Copyright (c) 1997, 1998 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
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation. No representations are made about the suitability of this
- * software for any purpose. It is provided "as is" without express or
- * implied warranty.
- *
- * See xlockmore.h and xlockmore.c.
- */
-
-#ifndef __XLOCKMORE_INTERNAL_H__
-#define __XLOCKMORE_INTERNAL_H__
-
-#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.)
- */
-#define LRAND() ((long) (random() & 0x7fffffff))
-#define NRAND(n) ((int) (LRAND() % (n)))
-#define MAXRAND (2147483648.0) /* unsigned 1<<31 as a float */
-#define SRAND(n) /* already seeded by screenhack.c */
-
-
-typedef struct ModeInfo {
- Display *dpy;
- Window window;
- Bool root_p;
- int npixels;
- unsigned long *pixels;
- XColor *colors;
- Bool writable_p;
- unsigned long white;
- unsigned long black;
- XWindowAttributes xgwa;
- GC gc;
- long pause;
- Bool fullrandom;
- long cycles;
- long batchcount;
- long size;
- Bool threed;
- long threed_left_color;
- long threed_right_color;
- long threed_both_color;
- long threed_none_color;
- long threed_delta;
- Bool wireframe_p;
- Bool is_drawn;
-
-#ifdef HAVE_XSHM_EXTENSION
- Bool use_shm;
- XShmSegmentInfo shm_info;
-#endif
-
-} ModeInfo;
-
-typedef enum { t_String, t_Float, t_Int, t_Bool } xlockmore_type;
-
-typedef struct {
- void *var;
- char *name;
- char *classname;
- char *def;
- xlockmore_type type;
-} argtype;
-
-typedef struct {
- char *opt;
- char *desc;
-} OptionStruct;
-
-typedef struct {
- int numopts;
- XrmOptionDescRec *opts;
- int numvarsdesc;
- argtype *vars;
- OptionStruct *desc;
-} ModeSpecOpt;
-
-extern void xlockmore_screenhack (Display *dpy, Window window,
- Bool want_writable_colors,
- Bool want_uniform_colors,
- Bool want_smooth_colors,
- Bool want_bright_colors,
- void (*hack_init) (ModeInfo *),
- void (*hack_draw) (ModeInfo *),
- void (*hack_free) (ModeInfo *));
-
-#endif /* __XLOCKMORE_INTERNAL_H__ */