SpriteReferenceReplacement.java

/*
 * SmartSprites Project
 *
 * Copyright (C) 2007-2009, Stanisław Osiński.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without modification,
 * are permitted provided that the following conditions are met:
 *
 * - Redistributions of  source code must  retain the above  copyright notice, this
 *   list of conditions and the following disclaimer.
 *
 * - Redistributions in binary form must reproduce the above copyright notice, this
 *   list of conditions and the following  disclaimer in  the documentation  and/or
 *   other materials provided with the distribution.
 *
 * - Neither the name of the SmartSprites Project nor the names of its contributors
 *   may  be used  to endorse  or  promote  products derived   from  this  software
 *   without specific prior written permission.
 *
 * - We kindly request that you include in the end-user documentation provided with
 *   the redistribution and/or in the software itself an acknowledgement equivalent
 *   to  the  following: "This product includes software developed by the SmartSprites
 *   Project."
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"  AND
 * ANY EXPRESS OR  IMPLIED WARRANTIES, INCLUDING,  BUT NOT LIMITED  TO, THE IMPLIED
 * WARRANTIES  OF  MERCHANTABILITY  AND  FITNESS  FOR  A  PARTICULAR  PURPOSE   ARE
 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE  FOR
 * ANY DIRECT, INDIRECT, INCIDENTAL,  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  DAMAGES
 * (INCLUDING, BUT  NOT LIMITED  TO, PROCUREMENT  OF SUBSTITUTE  GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS;  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND  ON
 * ANY  THEORY  OF  LIABILITY,  WHETHER  IN  CONTRACT,  STRICT  LIABILITY,  OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE)  ARISING IN ANY WAY  OUT OF THE USE  OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
package org.carrot2.labs.smartsprites;

/**
 * Represents the replacement that will be made for an individual {@link SpriteReferenceOccurrence}.
 */
public class SpriteReferenceReplacement {

    /** Properties of the sprite image this replacement refers to. */
    public SpriteImage spriteImage;

    /** The {@link SpriteReferenceOccurrence} this instance refers to. */
    public final SpriteReferenceOccurrence spriteReferenceOccurrence;

    /** String representation of the horizontal position of this sprite replacement. */
    public final String horizontalPositionString;

    /** Numeric representation of the horizontal position of this sprite replacement. */
    public final int horizontalPosition;

    /** String representation of the vertical position of this sprite replacement. */
    public final String verticalPositionString;

    /** Numeric representation of the vertical position of this sprite replacement. */
    public final int verticalPosition;

    /**
     * Instantiates a new sprite reference replacement.
     *
     * @param spriteReferenceOccurrence
     *            the sprite reference occurrence
     * @param verticalPosition
     *            the vertical position
     * @param horizontalPosition
     *            the horizontal position
     */
    public SpriteReferenceReplacement(SpriteReferenceOccurrence spriteReferenceOccurrence, int verticalPosition,
            String horizontalPosition) {
        this.spriteReferenceOccurrence = spriteReferenceOccurrence;
        this.horizontalPosition = -1;
        this.horizontalPositionString = horizontalPosition;
        this.verticalPosition = verticalPosition;
        this.verticalPositionString = "-" + verticalPosition + "px";
    }

    /**
     * Instantiates a new sprite reference replacement.
     *
     * @param spriteReferenceOccurrence
     *            the sprite reference occurrence
     * @param verticalPosition
     *            the vertical position
     * @param horizontalPosition
     *            the horizontal position
     */
    public SpriteReferenceReplacement(SpriteReferenceOccurrence spriteReferenceOccurrence, String verticalPosition,
            int horizontalPosition) {
        this.spriteReferenceOccurrence = spriteReferenceOccurrence;
        this.horizontalPosition = horizontalPosition;
        this.horizontalPositionString = "-" + horizontalPosition + "px";
        this.verticalPosition = -1;
        this.verticalPositionString = verticalPosition;
    }
}