001    /*
002     * Copyright 2002 - 2007 JEuclid, http://jeuclid.sf.net
003     * 
004     * Licensed under the Apache License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may obtain a copy of the License at
007     *
008     *      http://www.apache.org/licenses/LICENSE-2.0
009     *
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     * See the License for the specific language governing permissions and
014     * limitations under the License.
015     */
016    
017    /* $Id: ParameterKey.java 310 2007-05-18 20:26:36Z maxberger $ */
018    
019    package net.sourceforge.jeuclid;
020    
021    /**
022     * A class to hold parameters for the rendering process.
023     * <p>
024     * Each parameter is passed using the String datatype, and then converted back
025     * into the internal dataype. The following assumptions are made for the given
026     * datatypes:
027     * <dl>
028     * <dt>float</dt>
029     * <dd>must be a valid integer or floating point number, parsable with
030     * {@link Float#parseFloat(String)}.</dd>
031     * <dt>boolean</dt>
032     * <dd>must be "true" or "false", parsable with
033     * {@link Boolean#parseBoolean(String)}.</dd>
034     * <dt>font list</dt>
035     * <dd>is a comma separated lists of font families which should be used when
036     * a font of this type is selected. When selecting the actual font, the list
037     * is followed in the order given, and the first font which is installed on
038     * the system and contains the needed character is used. It is therefore
039     * suggested to add "complete" unicode fonts to the end of the list to support
040     * all characters.</dd>
041     * <dt>colors</dt>
042     * <dd>are passed using the standard html colornames or the #rrggbb or
043     * #rrggbbaa notation.</dd>
044     * </dl>
045     * 
046     * @author Erik Putrycz, Max Berger
047     * @version $Revision: 310 $
048     */
049    public enum ParameterKey {
050        /**
051         * File type (String) for the output used by converter functions. Must be
052         * a valid mime-type.
053         */
054        OutFileType,
055        /**
056         * Font size (float) used for the output. Defaults to 12.0pt.
057         */
058        FontSize,
059        /**
060         * Debug mode (boolean). If true, elements will have borders drawn around
061         * them.
062         */
063        DebugMode,
064        /**
065         * Anti-Alias mode (boolean) for rendering.
066         */
067        AntiAlias,
068        /**
069         * Default foreground color (String). See 3.2.2.2
070         */
071        ForegroundColor,
072        /**
073         * Default background color (String). See 3.2.2.2
074         */
075        BackgroundColor,
076        /**
077         * Comma separated list of font families for sans-serif.
078         * 
079         * @see ParameterKey
080         */
081        FontsSanserif,
082        /**
083         * Comma separated list of font families for serif.
084         * 
085         * @see ParameterKey
086         */
087        FontsSerif,
088        /**
089         * Comma separated list of font families for monospaced.
090         * 
091         * @see ParameterKey
092         */
093        FontsMonospaced,
094        /**
095         * Comma separated list of font families for script.
096         * 
097         * @see ParameterKey
098         */
099        FontsScript,
100        /**
101         * Comma separated list of font families for fraktur.
102         * 
103         * @see ParameterKey
104         */
105        FontsFraktur,
106        /**
107         * Comma separated list of font families for double-struck.
108         * 
109         * @see ParameterKey
110         */
111        FontsDoublestruck,
112    }