blob: 923436012ecd0d46f021c0c9a67262e8ffa723fb [file] [log] [blame]
/*
*
* 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 org.apache.flex.swf.tags;
import org.apache.flex.swf.TagType;
import org.apache.flex.swf.types.Filter;
/**
* Represents a <code>PlaceObject3</code> tag in a SWF file.
* <p>
* The PlaceObject3 tag extends the functionality of the PlaceObject2 tag.
* PlaceObject3 adds the following new features:
* <ul>
* <li>The PlaceFlagHasClassName field indicates that a class name will be
* specified, indicating the type of object to place. Because we no longer use
* ImportAssets in ActionScript 3.0, there needed to be some way to place a
* Timeline object using a class imported from another SWF, which does not have
* a 16-bit character ID in the instantiating SWF. Supported in Flash Player
* 9.0.45.0 and later.</li>
* <li>The PlaceFlagHasImage field indicates the creation of native Bitmap
* objects on the display list. When PlaceFlagHasClassName and PlaceFlagHasImage
* are both defined, this indicates a Bitmap class to be loaded from another
* SWF. Immediately following the flags is the class name (as above) for the
* BitmapData class in the loaded SWF. A Bitmap object will be placed with the
* named BitmapData class as it's internal data. When PlaceFlagHasCharacter and
* PlaceFlagHasImage are both defined, this indicates a Bitmap from the current
* SWF. The BitmapData to be used as its internal data will be defined by the
* following characterID. This only occurs when the BitmapData has a class
* associated with it. If there is no class associated with the BitmapData,
* DefineShape should be used with a Bitmap fill. Supported in Flash Player
* 9.0.45.0 and later.</li>
* <li>The PlaceFlagHasCacheAsBitmap field specifies whether Flash Player should
* internally cache a display object as a bitmap. Caching can speed up rendering
* when the object does not change frequently.</li>
* <li>A number of different blend modes can be specified as an alternative to
* normal alpha compositing.</li>
* <li>A number of bitmap filters can be applied to the display object. Adding
* filters implies that the display object will be cached as a bitmap.</li>
* </ul>
*/
public class PlaceObject3Tag extends PlaceObject2Tag
{
/**
* Constructor.
*/
public PlaceObject3Tag()
{
super(TagType.PlaceObject3);
}
private boolean hasImage;
private boolean hasClassName;
private boolean hasCacheAsBitmap;
private boolean hasBlendMode;
private boolean hasFilterList;
private String className;
private Filter[] surfaceFilterList;
private int blendMode;
private int bitmapCache;
/**
* @return the hasImage
*/
public boolean isHasImage()
{
return hasImage;
}
/**
* @param hasImage the hasImage to set
*/
public void setHasImage(boolean hasImage)
{
this.hasImage = hasImage;
}
/**
* @return the hasCacheAsBitmap
*/
public boolean isHasCacheAsBitmap()
{
return hasCacheAsBitmap;
}
/**
* @param hasCacheAsBitmap the hasCacheAsBitmap to set
*/
public void setHasCacheAsBitmap(boolean hasCacheAsBitmap)
{
this.hasCacheAsBitmap = hasCacheAsBitmap;
}
/**
* @return the hasBlendMode
*/
public boolean isHasBlendMode()
{
return hasBlendMode;
}
/**
* @param hasBlendMode the hasBlendMode to set
*/
public void setHasBlendMode(boolean hasBlendMode)
{
this.hasBlendMode = hasBlendMode;
}
/**
* @return the hasFilterList
*/
public boolean isHasFilterList()
{
return hasFilterList;
}
/**
* @param hasFilterList the hasFilterList to set
*/
public void setHasFilterList(boolean hasFilterList)
{
this.hasFilterList = hasFilterList;
}
/**
* @return the surfaceFilterList
*/
public Filter[] getSurfaceFilterList()
{
return surfaceFilterList;
}
/**
* @param surfaceFilterList the surfaceFilterList to set
*/
public void setSurfaceFilterList(Filter[] surfaceFilterList)
{
this.surfaceFilterList = surfaceFilterList;
}
/**
* @return the blendMode
*/
public int getBlendMode()
{
return blendMode;
}
/**
* @param blendMode the blendMode to set
*/
public void setBlendMode(int blendMode)
{
this.blendMode = blendMode;
}
/**
* @return the bitmapCache
*/
public int getBitmapCache()
{
return bitmapCache;
}
/**
* @param bitmapCache the bitmapCache to set
*/
public void setBitmapCache(int bitmapCache)
{
this.bitmapCache = bitmapCache;
}
/**
* @return the hasClassName
*/
public boolean isHasClassName()
{
return hasClassName;
}
/**
* @param hasClassName the hasClassName to set
*/
public void setHasClassName(boolean hasClassName)
{
this.hasClassName = hasClassName;
}
/**
* @return the className
*/
public String getClassName()
{
return className;
}
/**
* @param className the className to set
*/
public void setClassName(String className)
{
this.className = className;
}
}