Section 1
//animatedgif1 (doc_fun.animatedgif1)
package doc_fun {
import flash.display.*;
import flash.net.*;
import org.gif.events.*;
import org.gif.player.*;
public dynamic class animatedgif1 extends MovieClip {
public var myGIFPlayer:GIFPlayer;
public function animatedgif1(){
addFrameScript(0, frame1);
}
public function onGIFLoadComplete(_arg1:GIFPlayerEvent):void{
myGIFPlayer.x = 0;
myGIFPlayer.y = 0;
}
function frame1(){
myGIFPlayer = new GIFPlayer();
myGIFPlayer.addEventListener(GIFPlayerEvent.COMPLETE, onGIFLoadComplete);
myGIFPlayer.load(new URLRequest("C:\\Dokumente und Einstellungen\\HP_Besitzer.NAME-CD5FDA878D\\Eigene Dateien\\Eigene Bilder\\clinton.gif"));
addChild(myGIFPlayer);
}
}
}//package doc_fun
Section 2
//MainTimeline (doc_fun.MainTimeline)
package doc_fun {
import flash.display.*;
import flash.text.*;
import flash.filters.*;
public dynamic class MainTimeline extends MovieClip {
public var animatedgif1:MovieClip;
public function MainTimeline(){
var _local1:TextField;
trace("** Created with KoolMoves **");
if ((parent is Loader) == false){
_local1 = new TextField();
_local1.autoSize = "left";
_local1.mouseEnabled = false;
_local1.htmlText = "<font face=\"_sans\" size=\"60\"><b> KM</b></font>";
_local1.filters = [new GlowFilter(0xFFFFFF, 1, 2, 2, 16), new DropShadowFilter(4, 45, 0xFFFFFF)];
_local1.alpha = 0.15;
parent.addChild(_local1);
};
}
}
}//package doc_fun
Section 3
//GIFDecoder (org.gif.decoder.GIFDecoder)
package org.gif.decoder {
import org.gif.frames.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import org.gif.errors.*;
public class GIFDecoder {
private var inStream:ByteArray;
private var status:int;
private var width:int;
private var height:int;
private var gctFlag:Boolean;
private var gctSize:int;
private var loopCount:int;// = 1
private var gct:Array;
private var lct:Array;
private var act:Array;
private var bgIndex:int;
private var bgColor:int;
private var lastBgColor:int;
private var pixelAspect:int;
private var lctFlag:Boolean;
private var interlace:Boolean;
private var lctSize:int;
private var ix:int;
private var iy:int;
private var iw:int;
private var ih:int;
private var lastRect:Rectangle;
private var image:BitmapData;
private var bitmap:BitmapData;
private var lastImage:BitmapData;
private var block:ByteArray;
private var blockSize:int;// = 0
private var dispose:int;// = 0
private var lastDispose:int;// = 0
private var transparency:Boolean;// = false
private var delay:int;// = 0
private var transIndex:int;
private var prefix:Array;
private var suffix:Array;
private var pixelStack:Array;
private var pixels:Array;
private var frames:Array;
private var frameCount:int;
private static var STATUS_OK:int = 0;
private static var STATUS_FORMAT_ERROR:int = 1;
private static var STATUS_OPEN_ERROR:int = 2;
private static var frameRect:Rectangle = new Rectangle();
private static var MaxStackSize:int = 0x1000;
public function GIFDecoder(){
loopCount = 1;
blockSize = 0;
dispose = 0;
lastDispose = 0;
transparency = false;
delay = 0;
super();
block = new ByteArray();
}
public function get disposeValue():int{
return (dispose);
}
public function getDelay(_arg1:int):int{
delay = -1;
if ((((_arg1 >= 0)) && ((_arg1 < frameCount)))){
delay = frames[_arg1].delay;
};
return (delay);
}
public function getFrameCount():int{
return (frameCount);
}
public function getImage():GIFFrame{
return (getFrame(0));
}
public function getLoopCount():int{
return (loopCount);
}
private function getPixels(_arg1:BitmapData):Array{
var _local2:Array;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
_local2 = new Array(((4 * image.width) * image.height));
_local3 = 0;
_local4 = image.width;
_local5 = image.height;
_local7 = 0;
while (_local7 < _local5) {
_local8 = 0;
while (_local8 < _local4) {
_local6 = _arg1.getPixel(_local7, _local8);
var _temp1 = _local3;
_local3 = (_local3 + 1);
_local2[_temp1] = ((_local6 & 0xFF0000) >> 16);
var _temp2 = _local3;
_local3 = (_local3 + 1);
_local2[_temp2] = ((_local6 & 0xFF00) >> 8);
var _temp3 = _local3;
_local3 = (_local3 + 1);
_local2[_temp3] = (_local6 & 0xFF);
_local8++;
};
_local7++;
};
return (_local2);
}
private function setPixels(_arg1:Array):void{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
_local2 = 0;
_arg1.position = 0;
_local4 = image.width;
_local5 = image.height;
bitmap.lock();
_local6 = 0;
while (_local6 < _local5) {
_local7 = 0;
while (_local7 < _local4) {
var _temp1 = _local2;
_local2 = (_local2 + 1);
_local3 = _arg1[int(_temp1)];
bitmap.setPixel32(_local7, _local6, _local3);
_local7++;
};
_local6++;
};
bitmap.unlock();
}
private function transferPixels():void{
var _local1:Array;
var _local2:int;
var _local3:Array;
var _local4:Number;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:int;
var _local11:int;
var _local12:int;
var _local13:int;
var _local14:int;
var _local15:int;
_local1 = getPixels(bitmap);
if (lastDispose > 0){
if (lastDispose == 3){
_local2 = (frameCount - 2);
lastImage = ((_local2)>0) ? getFrame((_local2 - 1)).bitmapData : null;
};
if (lastImage != null){
_local3 = getPixels(lastImage);
_local1 = _local3.slice();
if (lastDispose == 2){
_local4 = (transparency) ? 0 : lastBgColor;
image.fillRect(lastRect, _local4);
};
};
};
_local5 = 1;
_local6 = 8;
_local7 = 0;
_local8 = 0;
while (_local8 < ih) {
_local9 = _local8;
if (interlace){
if (_local7 >= ih){
_local5++;
switch (_local5){
case 2:
_local7 = 4;
break;
case 3:
_local7 = 2;
_local6 = 4;
break;
case 4:
_local7 = 1;
_local6 = 2;
break;
};
};
_local9 = _local7;
_local7 = (_local7 + _local6);
};
_local9 = (_local9 + iy);
if (_local9 < height){
_local10 = (_local9 * width);
_local11 = (_local10 + ix);
_local12 = (_local11 + iw);
if ((_local10 + width) < _local12){
_local12 = (_local10 + width);
};
_local13 = (_local8 * iw);
while (_local11 < _local12) {
var _temp1 = _local13;
_local13 = (_local13 + 1);
_local14 = (pixels[_temp1] & 0xFF);
_local15 = act[_local14];
if (_local15 != 0){
_local1[_local11] = _local15;
};
_local11++;
};
};
_local8++;
};
setPixels(_local1);
}
public function getFrame(_arg1:int):GIFFrame{
var _local2:GIFFrame;
_local2 = null;
if ((((_arg1 >= 0)) && ((_arg1 < frameCount)))){
_local2 = frames[_arg1];
} else {
throw (new RangeError("Wrong frame number passed"));
};
return (_local2);
}
public function getFrameSize():Rectangle{
var _local1:Rectangle;
_local1 = GIFDecoder.frameRect;
_local1.x = (_local1.y = 0);
_local1.width = width;
_local1.height = height;
return (_local1);
}
public function read(_arg1:ByteArray):int{
init();
if (_arg1 != null){
this.inStream = _arg1;
readHeader();
if (!hasError()){
readContents();
if (frameCount < 0){
status = STATUS_FORMAT_ERROR;
};
};
} else {
status = STATUS_OPEN_ERROR;
};
return (status);
}
private function decodeImageData():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:int;
var _local11:int;
var _local12:int;
var _local13:int;
var _local14:int;
var _local15:int;
var _local16:int;
var _local17:int;
var _local18:int;
var _local19:int;
_local1 = -1;
_local2 = (iw * ih);
if ((((pixels == null)) || ((pixels.length < _local2)))){
pixels = new Array(_local2);
};
if (prefix == null){
prefix = new Array(MaxStackSize);
};
if (suffix == null){
suffix = new Array(MaxStackSize);
};
if (pixelStack == null){
pixelStack = new Array((MaxStackSize + 1));
};
_local15 = readSingleByte();
_local4 = (1 << _local15);
_local7 = (_local4 + 1);
_local3 = (_local4 + 2);
_local9 = _local1;
_local6 = (_local15 + 1);
_local5 = ((1 << _local6) - 1);
_local11 = 0;
while (_local11 < _local4) {
prefix[int(_local11)] = 0;
suffix[int(_local11)] = _local11;
_local11++;
};
var _local20:int;
_local18 = _local20;
_local19 = _local20;
_local17 = _local20;
_local16 = _local20;
_local12 = _local20;
_local10 = _local20;
_local14 = _local20;
_local13 = 0;
while (_local13 < _local2) {
if (_local17 == 0){
if (_local10 < _local6){
if (_local12 == 0){
_local12 = readBlock();
if (_local12 <= 0){
break;
};
_local18 = 0;
};
_local14 = (_local14 + ((int(block[int(_local18)]) & 0xFF) << _local10));
_local10 = (_local10 + 8);
_local18++;
_local12--;
continue;
};
_local11 = (_local14 & _local5);
_local14 = (_local14 >> _local6);
_local10 = (_local10 - _local6);
if ((((_local11 > _local3)) || ((_local11 == _local7)))){
break;
};
if (_local11 == _local4){
_local6 = (_local15 + 1);
_local5 = ((1 << _local6) - 1);
_local3 = (_local4 + 2);
_local9 = _local1;
continue;
};
if (_local9 == _local1){
var _temp1 = _local17;
_local17 = (_local17 + 1);
pixelStack[int(_temp1)] = suffix[int(_local11)];
_local9 = _local11;
_local16 = _local11;
continue;
};
_local8 = _local11;
if (_local11 == _local3){
var _temp2 = _local17;
_local17 = (_local17 + 1);
pixelStack[int(_temp2)] = _local16;
_local11 = _local9;
};
while (_local11 > _local4) {
var _temp3 = _local17;
_local17 = (_local17 + 1);
pixelStack[int(_temp3)] = suffix[int(_local11)];
_local11 = prefix[int(_local11)];
};
_local16 = (suffix[int(_local11)] & 0xFF);
if (_local3 >= MaxStackSize){
break;
};
var _temp4 = _local17;
_local17 = (_local17 + 1);
pixelStack[int(_temp4)] = _local16;
prefix[int(_local3)] = _local9;
suffix[int(_local3)] = _local16;
_local3++;
if (((((_local3 & _local5) == 0)) && ((_local3 < MaxStackSize)))){
_local6++;
_local5 = (_local5 + _local3);
};
_local9 = _local8;
};
_local17--;
var _temp5 = _local19;
_local19 = (_local19 + 1);
pixels[int(_temp5)] = pixelStack[int(_local17)];
_local13++;
};
_local13 = _local19;
while (_local13 < _local2) {
pixels[int(_local13)] = 0;
_local13++;
};
}
private function hasError():Boolean{
return (!((status == STATUS_OK)));
}
private function init():void{
status = STATUS_OK;
frameCount = 0;
frames = new Array();
gct = null;
lct = null;
}
private function readSingleByte():int{
var curByte:int;
curByte = 0;
try {
curByte = inStream.readUnsignedByte();
} catch(e:Error) {
status = STATUS_FORMAT_ERROR;
};
return (curByte);
}
private function readBlock():int{
var n:int;
var count:int;
blockSize = readSingleByte();
n = 0;
if (blockSize > 0){
try {
count = 0;
while (n < blockSize) {
inStream.readBytes(block, n, (blockSize - n));
if ((blockSize - n) == -1){
break;
};
n = (n + (blockSize - n));
};
} catch(e:Error) {
};
if (n < blockSize){
status = STATUS_FORMAT_ERROR;
};
};
return (n);
}
private function readColorTable(_arg1:int):Array{
var nbytes:int;
var tab:Array;
var c:ByteArray;
var n:int;
var i:int;
var j:int;
var r:int;
var g:int;
var b:int;
var ncolors = _arg1;
nbytes = (3 * ncolors);
tab = null;
c = new ByteArray();
n = 0;
try {
inStream.readBytes(c, 0, nbytes);
n = nbytes;
} catch(e:Error) {
};
if (n < nbytes){
status = STATUS_FORMAT_ERROR;
} else {
tab = new Array(0x0100);
i = 0;
j = 0;
while (i < ncolors) {
j = (j + 1);
r = (c[j] & 0xFF);
j = (j + 1);
g = (c[j] & 0xFF);
j = (j + 1);
b = (c[j] & 0xFF);
i = (i + 1);
tab[i] = (((4278190080 | (r << 16)) | (g << 8)) | b);
};
};
return (tab);
}
private function readContents():void{
var _local1:Boolean;
var _local2:int;
var _local3:String;
var _local4:int;
_local1 = false;
while (!(((_local1) || (hasError())))) {
_local2 = readSingleByte();
switch (_local2){
case 44:
readImage();
break;
case 33:
_local2 = readSingleByte();
switch (_local2){
case 249:
readGraphicControlExt();
break;
case 0xFF:
readBlock();
_local3 = "";
_local4 = 0;
while (_local4 < 11) {
_local3 = (_local3 + block[int(_local4)]);
_local4++;
};
if (_local3 == "NETSCAPE2.0"){
readNetscapeExt();
} else {
skip();
};
break;
default:
skip();
break;
};
break;
case 59:
_local1 = true;
break;
case 0:
break;
default:
status = STATUS_FORMAT_ERROR;
break;
};
};
}
private function readGraphicControlExt():void{
var _local1:int;
readSingleByte();
_local1 = readSingleByte();
dispose = ((_local1 & 28) >> 2);
if (dispose == 0){
dispose = 1;
};
transparency = !(((_local1 & 1) == 0));
delay = (readShort() * 10);
transIndex = readSingleByte();
readSingleByte();
}
private function readHeader():void{
var _local1:String;
var _local2:int;
_local1 = "";
_local2 = 0;
while (_local2 < 6) {
_local1 = (_local1 + String.fromCharCode(readSingleByte()));
_local2++;
};
if (!(_local1.indexOf("GIF") == 0)){
status = STATUS_FORMAT_ERROR;
throw (new FileTypeError("Invalid file type"));
return;
};
readLSD();
if (((gctFlag) && (!(hasError())))){
gct = readColorTable(gctSize);
bgColor = gct[bgIndex];
};
}
private function readImage():void{
var _local1:int;
var _local2:int;
ix = readShort();
iy = readShort();
iw = readShort();
ih = readShort();
_local1 = readSingleByte();
lctFlag = !(((_local1 & 128) == 0));
interlace = !(((_local1 & 64) == 0));
lctSize = (2 << (_local1 & 7));
if (lctFlag){
lct = readColorTable(lctSize);
act = lct;
} else {
act = gct;
if (bgIndex == transIndex){
bgColor = 0;
};
};
_local2 = 0;
if (transparency){
_local2 = act[transIndex];
act[transIndex] = 0;
};
if (act == null){
status = STATUS_FORMAT_ERROR;
};
if (hasError()){
return;
};
decodeImageData();
skip();
if (hasError()){
return;
};
frameCount++;
bitmap = new BitmapData(width, height);
image = bitmap;
transferPixels();
frames.push(new GIFFrame(bitmap, delay));
if (transparency){
act[transIndex] = _local2;
};
resetFrame();
}
private function readLSD():void{
var _local1:int;
width = readShort();
height = readShort();
_local1 = readSingleByte();
gctFlag = !(((_local1 & 128) == 0));
gctSize = (2 << (_local1 & 7));
bgIndex = readSingleByte();
pixelAspect = readSingleByte();
}
private function readNetscapeExt():void{
var _local1:int;
var _local2:int;
do {
readBlock();
if (block[0] == 1){
_local1 = (block[1] & 0xFF);
_local2 = (block[2] & 0xFF);
loopCount = ((_local2 << 8) | _local1);
};
} while ((((blockSize > 0)) && (!(hasError()))));
}
private function readShort():int{
return ((readSingleByte() | (readSingleByte() << 8)));
}
private function resetFrame():void{
var _local1:Boolean;
var _local2:int;
lastDispose = dispose;
lastRect = new Rectangle(ix, iy, iw, ih);
lastImage = image;
lastBgColor = bgColor;
_local1 = false;
_local2 = 0;
lct = null;
}
private function skip():void{
do {
readBlock();
} while ((((blockSize > 0)) && (!(hasError()))));
}
}
}//package org.gif.decoder
Section 4
//FileTypeError (org.gif.errors.FileTypeError)
package org.gif.errors {
public class FileTypeError extends Error {
public function FileTypeError(_arg1:String){
super(_arg1);
}
}
}//package org.gif.errors
Section 5
//FileTypeEvent (org.gif.events.FileTypeEvent)
package org.gif.events {
import flash.events.*;
public class FileTypeEvent extends Event {
public static const INVALID:String = "invalid";
public function FileTypeEvent(_arg1:String){
super(_arg1, false, false);
}
}
}//package org.gif.events
Section 6
//FrameEvent (org.gif.events.FrameEvent)
package org.gif.events {
import org.gif.frames.*;
import flash.events.*;
public class FrameEvent extends Event {
public var frame:GIFFrame;
public static const FRAME_RENDERED:String = "rendered";
public function FrameEvent(_arg1:String, _arg2:GIFFrame){
super(_arg1, false, false);
frame = _arg2;
}
}
}//package org.gif.events
Section 7
//GIFPlayerEvent (org.gif.events.GIFPlayerEvent)
package org.gif.events {
import flash.geom.*;
import flash.events.*;
public class GIFPlayerEvent extends Event {
public var rect:Rectangle;
public static const COMPLETE:String = "complete";
public function GIFPlayerEvent(_arg1:String, _arg2:Rectangle){
super(_arg1, false, false);
rect = _arg2;
}
}
}//package org.gif.events
Section 8
//TimeoutEvent (org.gif.events.TimeoutEvent)
package org.gif.events {
import flash.events.*;
public class TimeoutEvent extends Event {
public static const TIME_OUT:String = "timeout";
public function TimeoutEvent(_arg1:String){
super(_arg1, false, false);
}
}
}//package org.gif.events
Section 9
//GIFFrame (org.gif.frames.GIFFrame)
package org.gif.frames {
import flash.display.*;
public class GIFFrame {
public var bitmapData:BitmapData;
public var delay:int;
public function GIFFrame(_arg1:BitmapData, _arg2:int){
bitmapData = _arg1;
delay = _arg2;
}
}
}//package org.gif.frames
Section 10
//GIFPlayer (org.gif.player.GIFPlayer)
package org.gif.player {
import org.gif.frames.*;
import flash.display.*;
import flash.utils.*;
import flash.events.*;
import flash.net.*;
import org.gif.events.*;
import org.gif.decoder.*;
import org.gif.errors.*;
import flash.errors.*;
import flash.system.*;
public class GIFPlayer extends Bitmap {
private var urlLoader:URLLoader;
private var gifDecoder:GIFDecoder;
private var aFrames:Array;
private var myTimer:Timer;
private var iInc:int;
private var iIndex:int;
private var auto:Boolean;
private var arrayLng:uint;
public function GIFPlayer(_arg1:Boolean=true){
auto = _arg1;
iIndex = (iInc = 0);
myTimer = new Timer(0, 0);
aFrames = new Array();
urlLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
urlLoader.addEventListener(Event.COMPLETE, onComplete);
urlLoader.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
myTimer.addEventListener(TimerEvent.TIMER, update);
gifDecoder = new GIFDecoder();
}
private function onIOError(_arg1:IOErrorEvent):void{
dispatchEvent(_arg1);
}
private function onComplete(_arg1:Event):void{
readStream(_arg1.target.data);
}
private function readStream(_arg1:ByteArray):void{
var gifStream:ByteArray;
var lng:int;
var i:int;
var pBytes = _arg1;
gifStream = pBytes;
aFrames = new Array();
iInc = 0;
try {
gifDecoder.read(gifStream);
lng = gifDecoder.getFrameCount();
i = 0;
while (i < lng) {
aFrames[int(i)] = gifDecoder.getFrame(i);
i = (i + 1);
};
arrayLng = aFrames.length;
if (auto){
play();
} else {
gotoAndStop(1);
};
dispatchEvent(new GIFPlayerEvent(GIFPlayerEvent.COMPLETE, aFrames[0].bitmapData.rect));
} catch(e:ScriptTimeoutError) {
dispatchEvent(new TimeoutEvent(TimeoutEvent.TIME_OUT));
} catch(e:FileTypeError) {
dispatchEvent(new FileTypeEvent(FileTypeEvent.INVALID));
} catch(e:Error) {
throw (new Error(("An unknown error occured, make sure the GIF file contains at least one frame\nNumber of frames : " + aFrames.length)));
};
}
private function update(_arg1:TimerEvent):void{
var _local2:int;
_local2 = aFrames[(iIndex = (iInc++ % arrayLng))].delay;
_arg1.target.delay = ((_local2)>0) ? _local2 : 100;
switch (gifDecoder.disposeValue){
case 1:
if (!iIndex){
bitmapData = aFrames[0].bitmapData.clone();
};
bitmapData.draw(aFrames[iIndex].bitmapData);
break;
case 2:
bitmapData = aFrames[iIndex].bitmapData;
break;
};
dispatchEvent(new FrameEvent(FrameEvent.FRAME_RENDERED, aFrames[iIndex]));
}
private function concat(_arg1:int):int{
var _local2:int;
bitmapData.lock();
_local2 = 0;
while (_local2 < _arg1) {
bitmapData.draw(aFrames[_local2].bitmapData);
_local2++;
};
bitmapData.unlock();
return (_local2);
}
public function load(_arg1:URLRequest):void{
stop();
urlLoader.load(_arg1);
}
public function loadBytes(_arg1:ByteArray):void{
readStream(_arg1);
}
public function play():void{
if (aFrames.length){
if (!myTimer.running){
myTimer.start();
};
} else {
throw (new Error("Nothing to play"));
};
}
public function stop():void{
if (myTimer.running){
myTimer.stop();
};
}
public function get currentFrame():int{
return ((iIndex + 1));
}
public function get totalFrames():int{
return (aFrames.length);
}
public function get loopCount():int{
return (gifDecoder.getLoopCount());
}
public function get autoPlay():Boolean{
return (auto);
}
public function get frames():Array{
return (aFrames);
}
public function gotoAndStop(_arg1:int):void{
if ((((_arg1 >= 1)) && ((_arg1 <= aFrames.length)))){
iInc = int((int(_arg1) - 1));
switch (gifDecoder.disposeValue){
case 1:
bitmapData = aFrames[0].bitmapData.clone();
bitmapData.draw(aFrames[concat(iInc)].bitmapData);
break;
case 2:
bitmapData = aFrames[iInc].bitmapData;
break;
};
if (myTimer.running){
myTimer.stop();
};
} else {
throw (new RangeError(("Frame out of range, please specify a frame between 1 and " + aFrames.length)));
};
}
public function gotoAndPlay(_arg1:int):void{
if ((((_arg1 >= 1)) && ((_arg1 <= aFrames.length)))){
iInc = int((int(_arg1) - 1));
switch (gifDecoder.disposeValue){
case 1:
bitmapData = aFrames[0].bitmapData.clone();
bitmapData.draw(aFrames[concat(iInc)].bitmapData);
break;
case 2:
bitmapData = aFrames[iInc].bitmapData;
break;
};
if (!myTimer.running){
myTimer.start();
};
} else {
throw (new RangeError(("Frame out of range, please specify a frame between 1 and " + aFrames.length)));
};
}
public function getFrame(_arg1:int):GIFFrame{
var _local2:GIFFrame;
if ((((_arg1 >= 1)) && ((_arg1 <= aFrames.length)))){
_local2 = aFrames[(_arg1 - 1)];
} else {
throw (new RangeError(("Frame out of range, please specify a frame between 1 and " + aFrames.length)));
};
return (_local2);
}
public function getDelay(_arg1:int):int{
var _local2:int;
if ((((_arg1 >= 1)) && ((_arg1 <= aFrames.length)))){
_local2 = aFrames[(_arg1 - 1)].delay;
} else {
throw (new RangeError(("Frame out of range, please specify a frame between 1 and " + aFrames.length)));
};
return (_local2);
}
}
}//package org.gif.player