Package flash.swf.tags

Source Code of flash.swf.tags.DefineMorphShape

/*
*
*  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.
*
*/

package flash.swf.tags;

import flash.swf.Tag;
import flash.swf.TagHandler;
import flash.swf.types.Rect;
import flash.swf.types.Shape;
import flash.swf.types.MorphFillStyle;
import flash.swf.types.MorphLineStyle;

import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

/**
* Represents a DefineMorphShape SWF tag.
*
* @author Clement Wong
*/
public class DefineMorphShape extends DefineTag
{
  public DefineMorphShape(int code)
  {
    super(code);
  }

    public void visit(TagHandler h)
  {
      if (code == stagDefineMorphShape)
        h.defineMorphShape(this);
      else // if (code == stagDefineMorphShape2)
        h.defineMorphShape2(this);
  }

  public Iterator<Tag> getReferences()
    {
        // This is yucky.
        List<Tag> refs = new LinkedList<Tag>();

        if (startEdges != null)
            startEdges.getReferenceList(refs);
       
        if (endEdges != null)
            endEdges.getReferenceList(refs);

        if (fillStyles != null)
        {
            for (int i = 0; i < fillStyles.length; i++)
            {
                MorphFillStyle style = fillStyles[i];
                if (style != null && style.hasBitmapId() && style.bitmap != null)
                {
                    refs.add(style.bitmap);
                }
            }
        }

        return refs.iterator();
    }

  public Rect startBounds;
  public Rect endBounds;
  public Rect startEdgeBounds;
  public Rect endEdgeBounds;
  public int reserved;
  public boolean usesNonScalingStrokes;
  public boolean usesScalingStrokes;
  public MorphFillStyle[] fillStyles;
  public MorphLineStyle[] lineStyles;
  public Shape startEdges;
  public Shape endEdges;

    public boolean equals(Object object)
    {
        boolean isEqual = false;

        if (super.equals(object) && (object instanceof DefineMorphShape))
        {
            DefineMorphShape defineMorphShape = (DefineMorphShape) object;

            if ( defineMorphShape.code == this.code &&
               equals(defineMorphShape.startBounds, this.startBounds) &&
                 equals(defineMorphShape.endBounds, this.endBounds) &&
                 equals(defineMorphShape.fillStyles, this.fillStyles) &&
                 equals(defineMorphShape.lineStyles,  this.lineStyles) &&
                 equals(defineMorphShape.startEdges, this.startEdges) &&
                 equals(defineMorphShape.endEdges, this.endEdges) )
            {
                isEqual = true;
              if (this.code == stagDefineMorphShape2)
              {
                isEqual = equals(defineMorphShape.startEdgeBounds, this.startEdgeBounds) &&
                      equals(defineMorphShape.endEdgeBounds, this.endEdgeBounds) &&
                      defineMorphShape.usesNonScalingStrokes == this.usesNonScalingStrokes &&
                      defineMorphShape.usesScalingStrokes == this.usesScalingStrokes;
              }
            }
        }

        return isEqual;
    }
}
TOP

Related Classes of flash.swf.tags.DefineMorphShape

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.