74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/*
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * $XConsortium: scrnsaver.h,v 1.6 94/04/17 20:59:34 keith Exp $
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync *
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncCopyright (c) 1992 X Consortium
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncPermission is hereby granted, free of charge, to any person obtaining a copy
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncof this software and associated documentation files (the "Software"), to deal
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncin the Software without restriction, including without limitation the rights
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncto use, copy, modify, merge, publish, distribute, sublicense, and/or sell
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynccopies of the Software, and to permit persons to whom the Software is
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncfurnished to do so, subject to the following conditions:
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncThe above copyright notice and this permission notice shall be included in
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncall copies or substantial portions of the Software.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncX CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncExcept as contained in this notice, the name of the X Consortium shall not be
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncused in advertising or otherwise to promote the sale, use or other dealings
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncin this Software without prior written authorization from the X Consortium.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync *
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * Author: Keith Packard, MIT X Consortium
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#ifndef _SCRNSAVER_H_
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _SCRNSAVER_H_
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#include <X11/Xfuncproto.h>
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#include <X11/extensions/saver.h>
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int type; /* of event */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned long serial; /* # of last request processed by server */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool send_event; /* true if this came frome a SendEvent request */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display; /* Display the event was read from */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Window window; /* screen saver window */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Window root; /* root window of event screen */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int state; /* ScreenSaverOff, ScreenSaverOn, ScreenSaverCycle*/
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int kind; /* ScreenSaverBlanked, ...Internal, ...External */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool forced; /* extents of new region */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Time time; /* event timestamp */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} XScreenSaverNotifyEvent;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Window window; /* screen saver window - may not exist */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int state; /* ScreenSaverOff, ScreenSaverOn, ScreenSaverDisabled*/
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int kind; /* ScreenSaverBlanked, ...Internal, ...External */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned long til_or_since; /* time til or since screen saver */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned long idle; /* total time since last user input */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned long eventMask; /* currently selected events for this client */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} XScreenSaverInfo;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync_XFUNCPROTOBEGIN
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool XScreenSaverQueryExtension (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display* /* display */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int* /* event_base */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int* /* error_base */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Status XScreenSaverQueryVersion (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display* /* display */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int* /* major_version */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int* /* minor_version */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern XScreenSaverInfo *XScreenSaverAllocInfo (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync void
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Status XScreenSaverQueryInfo (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display* /* display */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Drawable /* drawable */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XScreenSaverInfo* /* info */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XScreenSaverSelectInput (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display* /* display */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Drawable /* drawable */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned long /* eventMask */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XScreenSaverSetAttributes (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display* /* display */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Drawable /* drawable */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* x */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* y */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* width */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* height */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* border_width */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* depth */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* class */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Visual * /* visual */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned long /* valuemask */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XSetWindowAttributes * /* attributes */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XScreenSaverUnsetAttributes (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display* /* display */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Drawable /* drawable */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Status XScreenSaverRegister (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display* /* display */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* screen */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XID /* xid */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Atom /* type */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Status XScreenSaverUnregister (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display* /* display */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* screen */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Status XScreenSaverGetRegistered (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display* /* display */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* screen */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XID* /* xid */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Atom* /* type */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync_XFUNCPROTOEND
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif /* _SCRNSAVER_H_ */