1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
|
//
// Description:
// SWFMovie Class
//
// Authors:
// Jonathan Shore <jshore@e-shuppan.com>
// Based on php wrapper developed by <dave@opaque.net>
//
// Copyright:
// Copyright 2001 E-Publishing Group Inc. Permission is granted to use or
// modify this code provided that the original copyright notice is included.
//
// This software is distributed with no warranty of liability, merchantability,
// or fitness for a specific purpose.
//
import SWFSoundI;
import SWFDisplayItem;
//
// SWFMovie Class
// top-level swf movie class
//
// Notes
// - too bad the notion of movie and sprite aren't the same. Effectively
// they should be.
//
// - we should add coordinate system specification and perspective options
// to give this more flexibility
//
public class SWFMovie extends SWFObject implements SWFMovieI {
public SWFMovie ()
throws SWFException
{
setHandle (nNew());
}
public void setScale (float scale)
{ nSetScale (scale); }
public void setCubicThreshold (int v)
{ nSetCubicThreshold (v); }
public void setRate (float rate)
{ nSetRate (handle, rate); }
public void setDimension (int width, int height)
{ nSetDimension (handle, width, height); }
public void setFrames (int nframes)
{ nSetRate (handle, nframes); }
public void setBackground (int r, int g, int b)
{ nSetBackground (handle, r,g,b); }
public void setSoundStream (SWFSoundI sound)
throws SWFException
{ sound.eval(); nSetSoundStream (handle, sound.getHandle()); }
public SWFDisplayItemI add (SWFObjectI object)
throws SWFException
{
object.eval();
preserve (object);
SWFDisplayItemI i =
new SWFDisplayItem (nAdd (handle, object.getHandle()));
object.getMatrix().apply (i);
return i;
}
public SWFDisplayItemI add (SWFObjectI object, int depth)
throws SWFException
{
SWFDisplayItemI i = add (object);
i.setDepth(depth);
return i;
}
public void remove (SWFDisplayItemI item)
{ nRemove (handle, item.getHandle()); }
public void nextFrame()
{ nNextFrame (handle); }
public void labelFrame (String label)
{ nLabelFrame (handle, label); }
public void save (String file)
{ nSave (handle, file); }
public byte[] output ()
{ return nOutput (handle); }
public String toString ()
{ return new String (nOutput (handle)); }
protected void finalize()
throws Throwable
{
nDestroy (handle);
super.finalize();
}
// native methods
protected native int nNew ();
protected native void nDestroy (int handle);
protected native void nSetScale (float scale);
protected native void nSetCubicThreshold (int v);
protected native void nSetRate (int handle, float rate);
protected native void nSetDimension (int handle, int width, int height);
protected native void nSetFrames (int handle, int nframes);
protected native void nSetBackground (int handle, int r, int g, int b);
protected native void nSetSoundStream (int handle, int Hsound);
protected native int nAdd (int handle, int Hobject);
protected native void nRemove (int handle, int Hitem);
protected native void nNextFrame(int handle);
protected native void nLabelFrame (int handle, String label);
protected native void nSave (int handle, String file);
protected native byte[] nOutput (int handle);
};
|