Source code: com/anotherbigidea/flash/movie/MorphShape.java
1 /****************************************************************
2 * Copyright (c) 2001, David N. Main, All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or
5 * without modification, are permitted provided that the
6 * following conditions are met:
7 *
8 * 1. Redistributions of source code must retain the above
9 * copyright notice, this list of conditions and the following
10 * disclaimer.
11 *
12 * 2. Redistributions in binary form must reproduce the above
13 * copyright notice, this list of conditions and the following
14 * disclaimer in the documentation and/or other materials
15 * provided with the distribution.
16 *
17 * 3. The name of the author may not be used to endorse or
18 * promote products derived from this software without specific
19 * prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY
22 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
23 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
24 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25 * AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
27 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
31 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
32 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 ****************************************************************/
34 package com.anotherbigidea.flash.movie;
35
36 import java.io.*;
37 import java.util.*;
38 import com.anotherbigidea.flash.interfaces.*;
39 import com.anotherbigidea.flash.writers.*;
40 import com.anotherbigidea.flash.readers.*;
41 import com.anotherbigidea.flash.structs.*;
42
43 /**
44 * A Morph Shape Symbol
45 */
46 public class MorphShape extends Symbol
47 {
48 protected Shape shape1;
49 protected Shape shape2;
50
51 public MorphShape( Shape shape1, Shape shape2 )
52 {
53 this.shape1 = shape1;
54 this.shape2 = shape2;
55 }
56
57 public Shape getShape1() { return shape1; }
58 public Shape getShape2() { return shape2; }
59
60 public void setShape1( Shape s ) { shape1 = s; }
61 public void setShape2( Shape s ) { shape2 = s; }
62
63 protected int defineSymbol( Movie movie,
64 SWFTagTypes timelineWriter,
65 SWFTagTypes definitionWriter )
66 throws IOException
67 {
68 int id = getNextId( movie );
69
70 SWFShape shape = definitionWriter.tagDefineMorphShape( id,
71 shape1.getRect(),
72 shape2.getRect() );
73 shape1.hasAlpha = true;
74 shape2.hasAlpha = true;
75
76 shape1.writeShape( shape );
77 shape2.writeShape( shape );
78
79 return id;
80 }
81 }