| /* |
| * |
| * 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; |
| |
| /** |
| * Represents a <code>DefineBitsLossless</code> tag in a SWF file. |
| * <p> |
| * Defines a loss-less bitmap character that contains RGB bitmap data compressed |
| * with ZLIB. The data format used by the ZLIB library is described by Request |
| * for Comments (RFCs) documents 1950 to 1952. |
| * <p> |
| * Two kinds of bitmaps are supported. |
| * <ul> |
| * <li>Color-mapped images define a color-map of up to 256 colors, each |
| * represented by a 24-bit RGB value, and then use 8-bit pixel values to index |
| * into the color-map.</li> |
| * <li>Direct images store actual pixel color values using 15 bits (32,768 |
| * colors) or 24 bits (about 17 million colors).</li> |
| * </ul> |
| */ |
| public class DefineBitsLosslessTag extends CharacterTag |
| implements IDefineBinaryImageTag, IAlwaysLongTag |
| { |
| public static final int BF_8BIT_COLORMAPPED_IMAGE = 3; |
| public static final int BF_15BIT_RGB_IMAGE = 4; |
| public static final int BF_24BIT_RGB_IMAGE = 5; |
| |
| /** |
| * Constructor. |
| */ |
| public DefineBitsLosslessTag() |
| { |
| super(TagType.DefineBitsLossless); |
| } |
| |
| /** |
| * Protected constructor for use by subclasses with other tag types. |
| */ |
| protected DefineBitsLosslessTag(TagType tagType) |
| { |
| super(tagType); |
| } |
| |
| private int bitmapFormat; |
| private int bitmapWidth; |
| private int bitmapHeight; |
| private int bitmapColorTableSize; |
| private byte[] zlibBitmapData; |
| |
| public int getBitmapFormat() |
| { |
| return bitmapFormat; |
| } |
| |
| public void setBitmapFormat(int bitmapFormat) |
| { |
| this.bitmapFormat = bitmapFormat; |
| } |
| |
| public int getBitmapWidth() |
| { |
| return bitmapWidth; |
| } |
| |
| public void setBitmapWidth(int bitmapWidth) |
| { |
| this.bitmapWidth = bitmapWidth; |
| } |
| |
| public int getBitmapHeight() |
| { |
| return bitmapHeight; |
| } |
| |
| public void setBitmapHeight(int bitmapHeight) |
| { |
| this.bitmapHeight = bitmapHeight; |
| } |
| |
| public int getBitmapColorTableSize() |
| { |
| return bitmapColorTableSize; |
| } |
| |
| public void setBitmapColorTableSize(int bitmapColorTableSize) |
| { |
| this.bitmapColorTableSize = bitmapColorTableSize; |
| } |
| |
| public byte[] getZlibBitmapData() |
| { |
| return zlibBitmapData; |
| } |
| |
| public void setZlibBitmapData(byte[] zlibBitmapData) |
| { |
| this.zlibBitmapData = zlibBitmapData; |
| } |
| |
| public static int getBf8bitColormappedImage() |
| { |
| return BF_8BIT_COLORMAPPED_IMAGE; |
| } |
| |
| public static int getBf15bitRgbImage() |
| { |
| return BF_15BIT_RGB_IMAGE; |
| } |
| |
| public static int getBf24bitRgbImage() |
| { |
| return BF_24BIT_RGB_IMAGE; |
| } |
| |
| @Override |
| public byte[] getData() |
| { |
| return getZlibBitmapData(); |
| } |
| } |