270 lines
		
	
	
		
			8.6 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			270 lines
		
	
	
		
			8.6 KiB
		
	
	
	
		
			C
		
	
	
	
| /* $Xorg: RasterAttVal.c,v 1.4 2001/03/14 18:46:34 pookie Exp $ */
 | |
| /*
 | |
| (c) Copyright 1996 Hewlett-Packard Company
 | |
| (c) Copyright 1996 International Business Machines Corp.
 | |
| (c) Copyright 1996 Sun Microsystems, Inc.
 | |
| (c) Copyright 1996 Novell, Inc.
 | |
| (c) Copyright 1996 Digital Equipment Corp.
 | |
| (c) Copyright 1996 Fujitsu Limited
 | |
| (c) Copyright 1996 Hitachi, Ltd.
 | |
| 
 | |
| Permission is hereby granted, free of charge, to any person obtaining a copy
 | |
| of this software and associated documentation files (the "Software"), to deal
 | |
| in the Software without restriction, including without limitation the rights
 | |
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | |
| copies of the Software, and to permit persons to whom the Software is
 | |
| furnished to do so, subject to the following conditions:
 | |
| 
 | |
| The above copyright notice and this permission notice shall be included in
 | |
| all copies or substantial portions of the Software.
 | |
| 
 | |
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | |
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | |
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 | |
| COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
 | |
| IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 | |
| CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | |
| 
 | |
| Except as contained in this notice, the names of the copyright holders shall
 | |
| not be used in advertising or otherwise to promote the sale, use or other
 | |
| dealings in this Software without prior written authorization from said
 | |
| copyright holders.
 | |
| */
 | |
| /* $XFree86: xc/programs/Xserver/Xprint/raster/RasterAttVal.c,v 1.3 2001/10/31 22:50:29 tsi Exp $ */
 | |
| 
 | |
| #ifdef HAVE_DIX_CONFIG_H
 | |
| #include <dix-config.h>
 | |
| #endif
 | |
| 
 | |
| #include <stdio.h>
 | |
| #include <X11/X.h>
 | |
| #include "misc.h"
 | |
| #include "dixstruct.h"
 | |
| #include "scrnintstr.h"
 | |
| #include "screenint.h"
 | |
| #include <X11/extensions/Print.h>
 | |
| #include "Raster.h"
 | |
| 
 | |
| #include "attributes.h"
 | |
| #include "AttrValid.h"
 | |
| 
 | |
| /*
 | |
|  * define valid values and defaults for Printer pool
 | |
|  */
 | |
| static XpOid ValidContentOrientationsOids[] = {
 | |
|     xpoid_val_content_orientation_portrait,
 | |
|     xpoid_val_content_orientation_landscape
 | |
| };
 | |
| static XpOidList ValidContentOrientations = {
 | |
|     ValidContentOrientationsOids, XpNumber(ValidContentOrientationsOids)
 | |
| };
 | |
| 
 | |
| static XpOid DefaultContentOrientationsOids[] = {
 | |
|     xpoid_val_content_orientation_portrait,
 | |
|     xpoid_val_content_orientation_landscape
 | |
| };
 | |
| static XpOidList DefaultContentOrientations = {
 | |
|     DefaultContentOrientationsOids, XpNumber(DefaultContentOrientationsOids)
 | |
| };
 | |
| 
 | |
| static XpOid ValidPlexesOids[] = {
 | |
|     xpoid_val_plex_simplex
 | |
| };
 | |
| static XpOidList ValidPlexes = {
 | |
|     ValidPlexesOids, XpNumber(ValidPlexesOids)
 | |
| };
 | |
| 
 | |
| static XpOid DefaultPlexesOids[] = {
 | |
|     xpoid_val_plex_simplex
 | |
| };
 | |
| static XpOidList DefaultPlexes = {
 | |
|     DefaultPlexesOids, XpNumber(DefaultPlexesOids)
 | |
| };
 | |
| 
 | |
| static unsigned long ValidPrinterResolutionsCards[] = {
 | |
|     150, 300, 600
 | |
| };
 | |
| static XpOidCardList ValidPrinterResolutions = {
 | |
|     ValidPrinterResolutionsCards, XpNumber(ValidPrinterResolutionsCards)
 | |
| };
 | |
| 
 | |
| static unsigned long DefaultPrinterResolutionsCards[] = {
 | |
|     300
 | |
| };
 | |
| static XpOidCardList DefaultPrinterResolutions = {
 | |
|     DefaultPrinterResolutionsCards, XpNumber(DefaultPrinterResolutionsCards)
 | |
| };
 | |
| 
 | |
| static XpOid ValidListfontsModesOids[] = {
 | |
|     xpoid_val_xp_list_glyph_fonts
 | |
| };
 | |
| static XpOidList ValidListfontsModes = {
 | |
|     ValidListfontsModesOids, XpNumber(ValidListfontsModesOids)
 | |
| };
 | |
| 
 | |
| static XpOid DefaultListfontsModesOids[] = {
 | |
|     xpoid_val_xp_list_glyph_fonts
 | |
| };
 | |
| static XpOidList DefaultListfontsModes = {
 | |
|     DefaultListfontsModesOids, XpNumber(DefaultListfontsModesOids)
 | |
| };
 | |
| 
 | |
| static XpOid ValidSetupProvisoOids[] = {
 | |
|     xpoid_val_xp_setup_mandatory, xpoid_val_xp_setup_optional
 | |
| };
 | |
| static XpOidList ValidSetupProviso = {
 | |
|     ValidSetupProvisoOids, XpNumber(ValidSetupProvisoOids)
 | |
| };
 | |
| 
 | |
| static XpOidDocFmt ValidDocFormatsSupportedFmts[] = {
 | |
|     { "Postscript", "2", NULL },
 | |
|     { "PCL", "3", NULL }
 | |
| };
 | |
| static XpOidDocFmtList ValidDocFormatsSupported = {
 | |
|     ValidDocFormatsSupportedFmts, XpNumber(ValidDocFormatsSupportedFmts)
 | |
| };
 | |
| 
 | |
| static XpOidDocFmt DefaultDocFormatsSupportedFmts[] = {
 | |
|     { "Postscript", "2", NULL }
 | |
| };
 | |
| static XpOidDocFmtList DefaultDocFormatsSupported = {
 | |
|     DefaultDocFormatsSupportedFmts, XpNumber(DefaultDocFormatsSupportedFmts)
 | |
| };
 | |
| 
 | |
| static XpOidDocFmtList ValidEmbeddedFormatsSupported = {
 | |
|     (XpOidDocFmt *)NULL, 0
 | |
| };
 | |
| 
 | |
| static XpOidDocFmtList DefaultEmbeddedFormatsSupported = {
 | |
|     (XpOidDocFmt *)NULL, 0
 | |
| };
 | |
| 
 | |
| static XpOidDocFmt ValidRawFormatsSupportedFmts[] = {
 | |
|     { "Postscript", "2", NULL },
 | |
|     { "PCL", "3", NULL }
 | |
| };
 | |
| static XpOidDocFmtList ValidRawFormatsSupported = {
 | |
|     ValidRawFormatsSupportedFmts, XpNumber(ValidRawFormatsSupportedFmts)
 | |
| };
 | |
| 
 | |
| static XpOidDocFmt DefaultRawFormatsSupportedFmts[] = {
 | |
|     { "Postscript", "2", NULL }
 | |
| };
 | |
| static XpOidDocFmtList DefaultRawFormatsSupported = {
 | |
|     DefaultRawFormatsSupportedFmts, XpNumber(DefaultRawFormatsSupportedFmts)
 | |
| };
 | |
| 
 | |
| static XpOidList ValidInputTrays = {
 | |
|     (XpOid *)NULL, 0
 | |
| };
 | |
| 
 | |
| static XpOid ValidMediumSizesOids[] = {
 | |
|     xpoid_val_medium_size_iso_a0,
 | |
|     xpoid_val_medium_size_iso_a1,
 | |
|     xpoid_val_medium_size_iso_a2,
 | |
|     xpoid_val_medium_size_iso_a3,
 | |
|     xpoid_val_medium_size_iso_a4,
 | |
|     xpoid_val_medium_size_iso_a5,
 | |
|     xpoid_val_medium_size_iso_a6,
 | |
|     xpoid_val_medium_size_iso_a7,
 | |
|     xpoid_val_medium_size_iso_a8,
 | |
|     xpoid_val_medium_size_iso_a9,
 | |
|     xpoid_val_medium_size_iso_a10,
 | |
|     xpoid_val_medium_size_iso_b0,
 | |
|     xpoid_val_medium_size_iso_b1,
 | |
|     xpoid_val_medium_size_iso_b2,
 | |
|     xpoid_val_medium_size_iso_b3,
 | |
|     xpoid_val_medium_size_iso_b4,
 | |
|     xpoid_val_medium_size_iso_b5,
 | |
|     xpoid_val_medium_size_iso_b6,
 | |
|     xpoid_val_medium_size_iso_b7,
 | |
|     xpoid_val_medium_size_iso_b8,
 | |
|     xpoid_val_medium_size_iso_b9,
 | |
|     xpoid_val_medium_size_iso_b10,
 | |
|     xpoid_val_medium_size_na_letter,
 | |
|     xpoid_val_medium_size_na_legal,
 | |
|     xpoid_val_medium_size_executive,
 | |
|     xpoid_val_medium_size_folio,
 | |
|     xpoid_val_medium_size_invoice,
 | |
|     xpoid_val_medium_size_ledger,
 | |
|     xpoid_val_medium_size_quarto,
 | |
|     xpoid_val_medium_size_iso_c3,
 | |
|     xpoid_val_medium_size_iso_c4,
 | |
|     xpoid_val_medium_size_iso_c5,
 | |
|     xpoid_val_medium_size_iso_c6,
 | |
|     xpoid_val_medium_size_iso_designated_long,
 | |
|     xpoid_val_medium_size_na_10x13_envelope,
 | |
|     xpoid_val_medium_size_na_9x12_envelope,
 | |
|     xpoid_val_medium_size_na_number_10_envelope,
 | |
|     xpoid_val_medium_size_na_7x9_envelope,
 | |
|     xpoid_val_medium_size_na_9x11_envelope,
 | |
|     xpoid_val_medium_size_na_10x14_envelope,
 | |
|     xpoid_val_medium_size_na_number_9_envelope,
 | |
|     xpoid_val_medium_size_monarch_envelope,
 | |
|     xpoid_val_medium_size_a,
 | |
|     xpoid_val_medium_size_b,
 | |
|     xpoid_val_medium_size_c,
 | |
|     xpoid_val_medium_size_d,
 | |
|     xpoid_val_medium_size_e,
 | |
|     xpoid_val_medium_size_jis_b0,
 | |
|     xpoid_val_medium_size_jis_b1,
 | |
|     xpoid_val_medium_size_jis_b2,
 | |
|     xpoid_val_medium_size_jis_b3,
 | |
|     xpoid_val_medium_size_jis_b4,
 | |
|     xpoid_val_medium_size_jis_b5,
 | |
|     xpoid_val_medium_size_jis_b6,
 | |
|     xpoid_val_medium_size_jis_b7,
 | |
|     xpoid_val_medium_size_jis_b8,
 | |
|     xpoid_val_medium_size_jis_b9,
 | |
|     xpoid_val_medium_size_jis_b10
 | |
| };
 | |
| static XpOidList ValidMediumSizes = {
 | |
|     ValidMediumSizesOids, XpNumber(ValidMediumSizesOids)
 | |
| };
 | |
| 
 | |
| static XpOidDocFmt DefaultDocumentFormat = {
 | |
|     "Postscript", "2", NULL
 | |
| };
 | |
| 
 | |
| static XpOid ValidAvailableCompressionsOids[] = {
 | |
|     xpoid_val_available_compressions_0,
 | |
|     xpoid_val_available_compressions_01,
 | |
|     xpoid_val_available_compressions_02,
 | |
|     xpoid_val_available_compressions_03,
 | |
|     xpoid_val_available_compressions_012,
 | |
|     xpoid_val_available_compressions_013,
 | |
|     xpoid_val_available_compressions_023,
 | |
|     xpoid_val_available_compressions_0123
 | |
| };
 | |
| 
 | |
| static XpOidList ValidAvailableCompressions = {
 | |
|     ValidAvailableCompressionsOids, XpNumber(ValidAvailableCompressionsOids)
 | |
| };
 | |
| 
 | |
| static XpOid DefaultAvailableCompressionsOids[] = {
 | |
|     xpoid_val_available_compressions_0123,
 | |
|     xpoid_val_available_compressions_0
 | |
| };
 | |
| 
 | |
| static XpOidList DefaultAvailableCompressions = {
 | |
|     DefaultAvailableCompressionsOids, XpNumber(DefaultAvailableCompressionsOids)
 | |
| };
 | |
| 
 | |
| 
 | |
| /*
 | |
|  * init struct for XpValidate*Pool
 | |
|  */
 | |
| XpValidatePoolsRec RasterValidatePoolsRec = {
 | |
|     &ValidContentOrientations, &DefaultContentOrientations,
 | |
|     &ValidDocFormatsSupported, &DefaultDocFormatsSupported,
 | |
|     &ValidInputTrays, &ValidMediumSizes,
 | |
|     &ValidPlexes, &DefaultPlexes,
 | |
|     &ValidPrinterResolutions, &DefaultPrinterResolutions,
 | |
|     &ValidEmbeddedFormatsSupported, &DefaultEmbeddedFormatsSupported,
 | |
|     &ValidListfontsModes, &DefaultListfontsModes,
 | |
|     &ValidRawFormatsSupported, &DefaultRawFormatsSupported,
 | |
|     &ValidSetupProviso,
 | |
|     &DefaultDocumentFormat,
 | |
|     &ValidAvailableCompressions, &DefaultAvailableCompressions
 | |
| };
 |