Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

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  }