/* * * 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; /** * Type code of a SWF tag. * * @see SWF File Format Specification Version 10. */ public enum TagType { End(0), ShowFrame(1), DefineShape(2), PlaceObject(4), RemoveObject(5), DefineBits(6), DefineButton(7), JPEGTables(8), SetBackgroundColor(9), DefineFont(10), DefineText(11), DoAction(12), DefineFontInfo(13), DefineSound(14), StartSound(15), DefineButtonSound(17), SoundStreamHead(18), SoundStreamBlock(19), DefineBitsLossless(20), DefineBitsJPEG2(21), DefineShape2(22), DefineButtonCxform(23), Protect(24), PlaceObject2(26), RemoveObject2(28), DefineShape3(32), DefineText2(33), DefineButton2(34), DefineBitsJPEG3(35), DefineBitsLossless2(36), DefineEditText(37), DefineSprite(39), ProductInfo(41), // TODO not in spec, verify this is necessary FrameLabel(43), SoundStreamHead2(45), DefineMorphShape(46), DefineFont2(48), ExportAssets(56), ImportAssets(57), EnableDebugger(58), DoInitAction(59), DefineVideoStream(60), VideoFrame(61), DefineFontInfo2(62), DebugID(63), // TODO not documented in the spec EnableDebugger2(64), ScriptLimits(65), SetTabIndex(66), FileAttributes(69), PlaceObject3(70), ImportAssets2(71), DefineFontAlignZones(73), CSMTextSettings(74), DefineFont3(75), SymbolClass(76), Metadata(77), DefineScalingGrid(78), DoABC_OLD(72), // TODO resolve this with DoABC from spec DoABC(82), DefineShape4(83), DefineMorphShape2(84), DefineSceneAndFrameLabelData(86), DefineBinaryData(87), DefineFontName(88), StartSound2(89), DefineBitsJPEG4(90), DefineFont4(91), EnableTelemetry(93), Undefined(-1); private final int value; /** * Bind the integer tag value with a field. * * @param value tag type code */ private TagType(int value) { this.value = value; } /** * Get the integer tag type code. * * @return tag type code */ public int getValue() { return value; } /** * Reverse lookup TagType by its type code value. * * @param value type code * @return TagType enum value */ public static TagType getTagType(int value) { for (TagType tagType : TagType.values()) { if (tagType.value == value) return tagType; } return Undefined; } }