| /* |
| * |
| * 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 java.util.ArrayList; |
| |
| import org.apache.flex.swf.TagType; |
| import org.apache.flex.swf.types.SoundInfo; |
| |
| /** |
| * Represents a <code>DefineButtonSound</code> tag in a SWF file. |
| * <p> |
| * The DefineButtonSound tag defines which sounds (if any) are played on state |
| * transitions. |
| */ |
| public class DefineButtonSoundTag extends Tag implements ICharacterReferrer |
| { |
| public static final int TOTAL_SOUND_STYLE = 4; |
| |
| /** |
| * Constructor. |
| */ |
| public DefineButtonSoundTag() |
| { |
| super(TagType.DefineButtonSound); |
| soundChar = new DefineSoundTag[TOTAL_SOUND_STYLE]; |
| soundInfo = new SoundInfo[4]; |
| } |
| |
| private ICharacterTag buttonTag; |
| private DefineSoundTag[] soundChar; |
| private SoundInfo[] soundInfo; |
| |
| @Override |
| public Iterable<ICharacterTag> getReferences() |
| { |
| assert buttonTag != null; |
| |
| final ArrayList<ICharacterTag> result = new ArrayList<ICharacterTag>(TOTAL_SOUND_STYLE + 1); |
| result.add(buttonTag); |
| for (DefineSoundTag sound : soundChar) |
| if (sound != null) |
| result.add(sound); |
| return result; |
| } |
| |
| /** |
| * @return the buttonTag |
| */ |
| public ICharacterTag getButtonTag() |
| { |
| return buttonTag; |
| } |
| |
| /** |
| * @param buttonTag the buttonTag to set |
| */ |
| public void setButtonTag(ICharacterTag buttonTag) |
| { |
| this.buttonTag = buttonTag; |
| } |
| |
| /** |
| * @return the soundChar |
| */ |
| public DefineSoundTag[] getSoundChar() |
| { |
| return soundChar; |
| } |
| |
| /** |
| * @return the soundInfo |
| */ |
| public SoundInfo[] getSoundInfo() |
| { |
| return soundInfo; |
| } |
| |
| /** |
| * @return the totalSoundStyle |
| */ |
| public static int getTotalSoundStyle() |
| { |
| return TOTAL_SOUND_STYLE; |
| } |
| } |