All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.xmlgraphics.java2d.TransformType Maven / Gradle / Ivy

There is a newer version: 1.2.2.1-jre17
Show newest version
/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/* $Id: TransformType.java 1732018 2016-02-24 04:51:06Z gadams $ */

package org.apache.xmlgraphics.java2d;

// CSOFF: WhitespaceAround

/**
 * Enumeration for transformation types.
 *
 * @version $Id: TransformType.java 1732018 2016-02-24 04:51:06Z gadams $
 * Originally authored by Vincent Hardy.
 */
public final class TransformType {
    /*
     * Transform type constants
     */
    public static final int TRANSFORM_TRANSLATE = 0;
    public static final int TRANSFORM_ROTATE = 1;
    public static final int TRANSFORM_SCALE = 2;
    public static final int TRANSFORM_SHEAR = 3;
    public static final int TRANSFORM_GENERAL = 4;

    /**
     * Strings describing the elementary transforms
     */
    public static final String TRANSLATE_STRING = "translate";
    public static final String ROTATE_STRING = "rotate";
    public static final String SCALE_STRING = "scale";
    public static final String SHEAR_STRING = "shear";
    public static final String GENERAL_STRING = "general";

    /**
     * TransformType values
     */
    public static final TransformType TRANSLATE = new TransformType(TRANSFORM_TRANSLATE, TRANSLATE_STRING);
    public static final TransformType ROTATE = new TransformType(TRANSFORM_ROTATE, ROTATE_STRING);
    public static final TransformType SCALE = new TransformType(TRANSFORM_SCALE, SCALE_STRING);
    public static final TransformType SHEAR = new TransformType(TRANSFORM_SHEAR, SHEAR_STRING);
    public static final TransformType GENERAL = new TransformType(TRANSFORM_GENERAL, GENERAL_STRING);

    private String desc;
    private int val;

    /**
     * Constructor is private so that no instances other than
     * the ones in the enumeration can be created.
     * @see #readResolve
     */
    private TransformType(int val, String desc) {
        this.desc = desc;
        this.val = val;
    }

    /**
     * @return description
     */
    public String toString() {
        return desc;
    }

    /**
     * Convenience for enumeration switching.
     * That is,
     * 
     *   switch(transformType.toInt()){
     *       case TransformType.TRANSFORM_TRANSLATE:
     *        ....
     *       case TransformType.TRANSFORM_ROTATE:
     * 
*/ public int toInt() { return val; } /** * This is called by the serialization code before it returns an unserialized * object. To provide for unicity of instances, the instance that was read * is replaced by its static equivalent */ public Object readResolve() { switch(val) { case TRANSFORM_TRANSLATE: return TransformType.TRANSLATE; case TRANSFORM_ROTATE: return TransformType.ROTATE; case TRANSFORM_SCALE: return TransformType.SCALE; case TRANSFORM_SHEAR: return TransformType.SHEAR; case TRANSFORM_GENERAL: return TransformType.GENERAL; default: throw new RuntimeException("Unknown TransformType value"); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy