| /* |
| * |
| * 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.types; |
| |
| import org.apache.flex.swf.tags.ICharacterTag; |
| import org.apache.flex.swf.tags.CharacterIterableFactory; |
| |
| /** |
| * The {@code ShapeWithStyle} structure extends the {@link Shape} structure by |
| * including fill style and line style information. It is used by the |
| * {@code DefineShape} tag. |
| */ |
| public class ShapeWithStyle extends Shape |
| { |
| |
| public ShapeWithStyle(Styles styles) |
| { |
| super(); |
| this.styles = styles; |
| } |
| |
| private final Styles styles; |
| |
| /** |
| * Get fill styles. |
| * |
| * @return fill styles |
| */ |
| public FillStyleArray getFillStyles() |
| { |
| return styles.getFillStyles(); |
| } |
| |
| /** |
| * Get line styles. |
| * |
| * @return line styles |
| */ |
| public LineStyleArray getLineStyles() |
| { |
| return styles.getLineStyles(); |
| } |
| |
| /** |
| * Get all the character tags referred by this ShapeWithStyle type. A |
| * ShapeWithStyle type can refer to a character in two ways: |
| * <ol> |
| * <li>ShapeWithStyle > FillStyles::Bitmap</li> |
| * <li>ShapeWithStyle > ShapeRecord(StyleChangeRecord) > FillStyle0/1 > |
| * Bitmap</li> |
| * </ol> |
| */ |
| @Override |
| public Iterable<ICharacterTag> getReferences() |
| { |
| return CharacterIterableFactory.collect( |
| styles.getReferences(), |
| CharacterIterableFactory.filterAndCollect(shapeRecords)); |
| } |
| } |