http://packetstorm.tacticalflex.com/UNIX/admin/xscreensaver-3.27.tar.gz
[xscreensaver] / hacks / screenhack.h
index 9be436724f35c94f344a7d37996debbb4e89c05a..158a251fa8afa006bc3d9e52a704487fbadee3bb 100644 (file)
@@ -1,4 +1,4 @@
-/* xscreensaver, Copyright (c) 1992-1995 Jamie Zawinski <jwz@netscape.com>
+/* xscreensaver, Copyright (c) 1992-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
  *   AAAAUUUGGGHHH!!!! (server dumps core & falls into the chasm)
  */
 
-#ifndef _SCREENHACK_H_
-#define _SCREENHACK_H_
+#ifndef __SCREENHACK_H__
+#define __SCREENHACK_H__
 
-#if __STDC__
 #include <stdlib.h>
-#endif
+
+#include "config.h"
 
 #ifdef __hpux
  /* Which of the ten billion standards does values.h belong to?
 # include <values.h>
 #endif
 
+#include <stdio.h>
+
 #include <X11/Xlib.h>
 #include <X11/Xresource.h>
 #include <X11/Xos.h>
-#include "vroot.h"
+
+/* M_PI ought to have been defined in math.h, but... */
+#ifndef M_PI
+# define M_PI 3.1415926535
+#endif
+
+#ifndef M_PI_2
+# define M_PI_2 1.5707963267
+#endif
+
+#include "yarandom.h"
+#include "usleep.h"
+#include "resources.h"
+#include "hsv.h"
+#include "colors.h"
+#include "grabscreen.h"
+#include "visual.h"
 
 extern Bool mono_p;
 extern char *progname;
 extern char *progclass;
 extern XrmDatabase db;
 extern XrmOptionDescRec options [];
-extern int options_size;
 extern char *defaults [];
 
-/* Screw it, we'll just use our own RNG.  See xscreensaver/utils/yarandom.c. */
-#include "yarandom.h"
-
-
-#undef P
-#if __STDC__
-# define P(x)x
-#else
-# define P(x)()
-#endif
-
-extern void screenhack P((Display*,Window));
-
-#define usleep screenhack_usleep
-
-extern void screenhack_usleep P((unsigned long));
-extern char *get_string_resource P((char*,char*));
-extern Bool get_boolean_resource P((char*,char*));
-extern int get_integer_resource P((char*,char*));
-extern double get_float_resource P((char*,char*));
-extern unsigned int get_pixel_resource P((char*,char*,Display*,Colormap));
-extern unsigned int get_minutes_resource P((char*,char*));
-extern unsigned int get_seconds_resource P((char*,char*));
-
-extern Visual *get_visual_resource P((Display *, char *, char *));
-extern int get_visual_depth P((Display *, Visual *));
-
-extern void hsv_to_rgb P((int,double,double,unsigned short*,
-                         unsigned short*,unsigned short*));
-extern void rgb_to_hsv P((unsigned short,unsigned short,unsigned short,
-                         int*,double*,double*));
-extern void cycle_hue P((XColor*,int));
-
-extern void make_color_ramp P((int h1, double s1, double v1,
-                              int h2, double s2, double v2,
-                              XColor *pixels, int npixels));
-
-extern Pixmap grab_screen_image P((Display *dpy, Window window, int root_p));
-extern void copy_default_colormap_contents P((Display *dpy, Colormap to_cmap,
-                                             Visual *to_visual));
-
-#if defined (__GNUC__) && (__GNUC__ >= 2)
- /* Implement frand using GCC's statement-expression extension. */
-
-# define frand(f)                                                      \
-  ({ double tmp = (((double) random()) /                               \
-                  (((double) ((unsigned int)~0)) / ((double) (f+f)))); \
-     tmp < 0 ? (-tmp) : tmp; })
-
-#else /* not GCC2 - implement frand using a global variable.*/
-
-static double _frand_tmp_;
-# define frand(f)                                                      \
-  (_frand_tmp_ = (((double) random()) /                                \
-                 (((double) ((unsigned int)~0)) / ((double) (f+f)))),  \
-   _frand_tmp_ < 0 ? (-_frand_tmp_) : _frand_tmp_)
+extern void screenhack (Display*,Window);
+extern void screenhack_handle_event (Display*, XEvent*);
+extern void screenhack_handle_events (Display*);
 
-#endif /* not GCC2 */
+/* Be Posixly correct */
+#undef  bzero
+#define bzero  __ERROR_use_memset_not_bzero_in_xscreensaver__
+#undef  bcopy
+#define bcopy  __ERROR_use_memcpy_not_bcopy_in_xscreensaver__
 
-#undef P
-#endif /* _SCREENHACK_H_ */
+#endif /* __SCREENHACK_H__ */