X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fxlockmore.h;h=84e63f698ec881387bf39148d9103e3032a3ac8d;hb=96bdd7cf6ea60c418a76921acaf0e34d6f5be930;hp=23f350e995d76c4eb04910e8155554290cc6559d;hpb=5b7bc6e70fb439cf4c4bf771ae9f94077fe4fe08;p=xscreensaver diff --git a/hacks/xlockmore.h b/hacks/xlockmore.h index 23f350e9..84e63f69 100644 --- a/hacks/xlockmore.h +++ b/hacks/xlockmore.h @@ -1,5 +1,5 @@ /* xlockmore.h --- xscreensaver compatibility layer for xlockmore modules. - * xscreensaver, Copyright (c) 1997 Jamie Zawinski + * xscreensaver, Copyright (c) 1997-2003 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -11,7 +11,7 @@ * * The definitions in this file make it possible to compile an xlockmore * module into a standalone program, and thus use it with xscreensaver. - * By Jamie Zawinski on 10-May-97; based on the ideas + * By Jamie Zawinski on 10-May-97; based on the ideas * in the older xlock.h by Charles Hannum . (I had * to redo it, since xlockmore has diverged so far from xlock...) */ @@ -34,9 +34,16 @@ ERROR! Sorry, xlockmore.h requires ANSI C (gcc, for example.) #ifdef USE_GL # include - extern GLXContext init_GL (ModeInfo *); + extern GLXContext *init_GL (ModeInfo *); + extern void clear_gl_error (void); + extern void check_gl_error (const char *type); + + extern void do_fps (ModeInfo *); + extern GLfloat fps_1 (ModeInfo *); + extern void fps_2 (ModeInfo *); + # define FreeAllGL(dpy) /* */ -#endif +#endif /* !USE_GL */ /* Accessor macros for the ModeInfo structure */ @@ -73,6 +80,27 @@ ERROR! Sorry, xlockmore.h requires ANSI C (gcc, for example.) #define MI_CYCLES(MI) ((MI)->cycles) #define MI_BATCHCOUNT(MI) ((MI)->batchcount) #define MI_SIZE(MI) ((MI)->size) +#define MI_IS_DRAWN(MI) ((MI)->is_drawn) +#define MI_IS_FPS(MI) ((MI)->fps_p) +#define MI_NCOLORS(MI) ((MI)->npixels) +#define MI_NAME(MI) (progname) + +#define MI_COLORMAP(MI) (MI_WIN_COLORMAP((MI))) +#define MI_WIDTH(MI) (MI_WIN_WIDTH((MI))) +#define MI_HEIGHT(MI) (MI_WIN_HEIGHT((MI))) +#define MI_IS_ICONIC(MI) (MI_WIN_IS_ICONIC((MI))) +#define MI_IS_WIREFRAME(MI) (MI_WIN_IS_WIREFRAME((MI))) +#define MI_IS_MONO(MI) (MI_WIN_IS_MONO((MI))) +#define MI_COUNT(MI) (MI_BATCHCOUNT((MI))) +#define MI_BLACK_PIXEL(MI) (MI_WIN_BLACK_PIXEL(MI)) +#define MI_WHITE_PIXEL(MI) (MI_WIN_WHITE_PIXEL(MI)) +#define MI_IS_FULLRANDOM(MI) (MI_WIN_IS_FULLRANDOM(MI)) +#define MI_IS_VERBOSE(MI) (MI_WIN_IS_VERBOSE(MI)) +#define MI_IS_INSTALL(MI) (MI_WIN_IS_INSTALL(MI)) +#define MI_IS_DEBUG(MI) (False) +#define MI_IS_MOUSE(MI) (False) + +#define MI_CLEARWINDOW(mi) XClearWindow(MI_DISPLAY(mi), MI_WINDOW(mi)) /* Some other utility macros. */ @@ -106,6 +134,18 @@ extern void HACK_DRAW(ModeInfo *); # define HACK_FREE 0 #endif +#ifdef HACK_RESHAPE + extern void HACK_RESHAPE(ModeInfo *, int width, int height); +#else +# define HACK_RESHAPE 0 +#endif + +#ifdef HACK_HANDLE_EVENT + extern Bool HACK_HANDLE_EVENT(ModeInfo *, XEvent *e); +#else +# define HACK_HANDLE_EVENT 0 +#endif + /* Emit code for the entrypoint used by screenhack.c, and pass control down into xlockmore.c with the appropriate parameters. @@ -141,8 +181,16 @@ void screenhack (Display *dpy, Window window) False, #endif +#ifdef EVENT_MASK + EVENT_MASK, +#else + 0, +#endif + HACK_INIT, HACK_DRAW, + HACK_RESHAPE, + HACK_HANDLE_EVENT, HACK_FREE); }