03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync/*
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncCopyright 1991, 1998 The Open Group
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncPermission to use, copy, modify, distribute, and sell this software and its
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncdocumentation for any purpose is hereby granted without fee, provided that
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncthe above copyright notice appear in all copies and that both that
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynccopyright notice and this permission notice appear in supporting
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncdocumentation.
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncThe above copyright notice and this permission notice shall be included
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncin all copies or substantial portions of the Software.
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncOR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncIN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncOTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncOTHER DEALINGS IN THE SOFTWARE.
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncExcept as contained in this notice, the name of The Open Group shall
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncnot be used in advertising or otherwise to promote the sale, use or
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncother dealings in this Software without prior written authorization
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncfrom The Open Group.
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync*/
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#ifndef CLOSESTR_H
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define CLOSESTR_H
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#include <X11/Xproto.h>
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#include "closure.h"
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#include "dix.h"
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#include "misc.h"
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#include "gcstruct.h"
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync/* closure structures */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync/* OpenFont */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _OFclosure {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync ClientPtr client;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short current_fpe;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short num_fpes;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync FontPathElementPtr *fpe_list;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Mask flags;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync/* XXX -- get these from request buffer instead? */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync char *origFontName;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int origFontNameLen;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XID fontid;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync char *fontname;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int fnamelen;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync FontPtr non_cachable_font;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} OFclosureRec;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync/* ListFontsWithInfo */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XLFDMAXFONTNAMELEN 256
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _LFWIstate {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync char pattern[XLFDMAXFONTNAMELEN];
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int patlen;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int current_fpe;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int max_names;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Bool list_started;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync pointer private;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} LFWIstateRec, *LFWIstatePtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _LFWIclosure {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync ClientPtr client;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int num_fpes;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync FontPathElementPtr *fpe_list;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync xListFontsWithInfoReply *reply;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int length;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync LFWIstateRec current;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync LFWIstateRec saved;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int savedNumFonts;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Bool haveSaved;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync char *savedName;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} LFWIclosureRec;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync/* ListFonts */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _LFclosure {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync ClientPtr client;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int num_fpes;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync FontPathElementPtr *fpe_list;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync FontNamesPtr names;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync LFWIstateRec current;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync LFWIstateRec saved;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Bool haveSaved;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync char *savedName;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int savedNameLen;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} LFclosureRec;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync/* PolyText */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _PTclosure {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync ClientPtr client;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync DrawablePtr pDraw;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync GC *pGC;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned char *pElt;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned char *endReq;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned char *data;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int xorg;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int yorg;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync CARD8 reqType;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XID did;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int err;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} PTclosureRec;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync/* ImageText */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _ITclosure {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync ClientPtr client;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync DrawablePtr pDraw;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync GC *pGC;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync BYTE nChars;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned char *data;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int xorg;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int yorg;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync CARD8 reqType;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XID did;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} ITclosureRec;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#endif /* CLOSESTR_H */