Raster.h revision b8e299dddd091ae24e0c08c45d91b8f937bd14d2
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk/* $Xorg: Raster.h,v 1.3 2000/08/17 19:48:12 cpqbld Exp $ */
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk/*
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk(c) Copyright 1996 Hewlett-Packard Company
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk(c) Copyright 1996 International Business Machines Corp.
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk(c) Copyright 1996 Sun Microsystems, Inc.
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk(c) Copyright 1996 Novell, Inc.
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk(c) Copyright 1996 Digital Equipment Corp.
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk(c) Copyright 1996 Fujitsu Limited
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk(c) Copyright 1996 Hitachi, Ltd.
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenkPermission is hereby granted, free of charge, to any person obtaining a copy
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenkof this software and associated documentation files (the "Software"), to deal
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenkin the Software without restriction, including without limitation the rights
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenkto use, copy, modify, merge, publish, distribute, sublicense, and/or sell
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenkcopies of the Software, and to permit persons to whom the Software is
dbcf55756e293292dfbfbb75fe317dd094b0585fjeff.schenkfurnished to do so, subject to the following conditions:
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenkThe above copyright notice and this permission notice shall be included in
dbcf55756e293292dfbfbb75fe317dd094b0585fjeff.schenkall copies or substantial portions of the Software.
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenkTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenkIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
dbcf55756e293292dfbfbb75fe317dd094b0585fjeff.schenkFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenkCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenkIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenkCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
dbcf55756e293292dfbfbb75fe317dd094b0585fjeff.schenk
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenkExcept as contained in this notice, the names of the copyright holders shall
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenknot be used in advertising or otherwise to promote the sale, use or other
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenkdealings in this Software without prior written authorization from said
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenkcopyright holders.
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk*/
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk/*******************************************************************
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk**
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk** *********************************************************
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk** *
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk** * File: printer/Raster.h
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk** *
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk** * Contents: defines and includes for the raster layer
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk** * for a printing X server.
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk** *
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk** * Copyright: Copyright 1993 Hewlett-Packard Company
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk** *
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk** *********************************************************
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk**
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk********************************************************************/
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk#ifdef HAVE_DIX_CONFIG_H
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk#include <dix-config.h>
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk#endif
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk#ifndef _RASTER_H_
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk#define _RASTER_H_
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk/*
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk * Some sleazes to force the XrmDB stuff into the server
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk */
dbcf55756e293292dfbfbb75fe317dd094b0585fjeff.schenk#ifndef HAVE_XPointer
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk#define HAVE_XPointer 1
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenktypedef char *XPointer;
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk#endif
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk#define Status int
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk#define True 1
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk#define False 0
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk#include "misc.h"
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk#include <X11/Xfuncproto.h>
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk#include <X11/Xresource.h>
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk#include "attributes.h"
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk#include <X11/extensions/Printstr.h>
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk#define MAX_TOKEN_LEN 512
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk#define RASTER_PRINT_PAGE_COMMAND "_XP_RASTER_PAGE_PROC_COMMAND"
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk#define RASTER_IN_FILE_STRING "%(InFile)%"
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk#define RASTER_OUT_FILE_STRING "%(OutFile)%"
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk#define RASTER_ALLOWED_COMMANDS_FILE "printCommands"
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk/*
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk * Defines for the "options" in DtPrintDocumentData.
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk */
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk#define PRE_RASTER "PRE-RASTER"
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk#define POST_RASTER "POST-RASTER"
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk#define NO_RASTER "NO-RASTER"
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenktypedef struct {
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk char *pBits;
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk CreateWindowProcPtr CreateWindow;
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk ChangeWindowAttributesProcPtr ChangeWindowAttributes;
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk DestroyWindowProcPtr DestroyWindow;
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk CloseScreenProcPtr CloseScreen;
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk} RasterScreenPrivRec, *RasterScreenPrivPtr;
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenktypedef struct {
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk XrmDatabase config;
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk char *jobFileName;
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk FILE *pJobFile;
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk char *pageFileName;
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk FILE *pPageFile;
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk char *preRasterFileName; /* Pre-raster document data */
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk FILE *pPreRasterFile;
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk char *noRasterFileName; /* Raster replacement document data */
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk FILE *pNoRasterFile;
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk char *postRasterFileName; /* Post-raster document data */
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk FILE *pPostRasterFile;
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk ClientPtr getDocClient;
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk int getDocBufSize;
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk} RasterContextPrivRec, *RasterContextPrivPtr;
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenkextern XpValidatePoolsRec RasterValidatePoolsRec;
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenkextern Bool InitializeRasterDriver(int ndx, ScreenPtr pScreen, int argc,
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk char **argv);
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk#endif /* _RASTER_H_ */
faaa489e1cc905efd364e01fe09111173c95db68jeff.schenk