GifTexImage2D.smali
.class public Lpl/droidsonroids/gif/GifTexImage2D;
.super Ljava/lang/Object;
.source "GifTexImage2D.java"
# instance fields
.field private final mGifInfoHandle:Lpl/droidsonroids/gif/GifInfoHandle;
# direct methods
.method public constructor <init>(Lpl/droidsonroids/gif/InputSource;Lpl/droidsonroids/gif/GifOptions;)V
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 33
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
if-nez p2, :cond_a
.line 35
new-instance p2, Lpl/droidsonroids/gif/GifOptions;
invoke-direct {p2}, Lpl/droidsonroids/gif/GifOptions;-><init>()V
.line 37
:cond_a
invoke-virtual {p1}, Lpl/droidsonroids/gif/InputSource;->open()Lpl/droidsonroids/gif/GifInfoHandle;
move-result-object p1
iput-object p1, p0, Lpl/droidsonroids/gif/GifTexImage2D;->mGifInfoHandle:Lpl/droidsonroids/gif/GifInfoHandle;
.line 38
iget-char v0, p2, Lpl/droidsonroids/gif/GifOptions;->inSampleSize:C
iget-boolean p2, p2, Lpl/droidsonroids/gif/GifOptions;->inIsOpaque:Z
invoke-virtual {p1, v0, p2}, Lpl/droidsonroids/gif/GifInfoHandle;->setOptions(CZ)V
.line 39
invoke-virtual {p1}, Lpl/droidsonroids/gif/GifInfoHandle;->initTexImageDescriptor()V
return-void
.end method
# virtual methods
.method protected final finalize()V
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Throwable;
}
.end annotation
.line 158
:try_start_0
invoke-virtual {p0}, Lpl/droidsonroids/gif/GifTexImage2D;->recycle()V
:try_end_3
.catchall {:try_start_0 .. :try_end_3} :catchall_7
.line 160
invoke-super {p0}, Ljava/lang/Object;->finalize()V
return-void
:catchall_7
move-exception v0
invoke-super {p0}, Ljava/lang/Object;->finalize()V
.line 161
throw v0
.end method
.method public getCurrentFrameIndex()I
.registers 2
.line 74
iget-object v0, p0, Lpl/droidsonroids/gif/GifTexImage2D;->mGifInfoHandle:Lpl/droidsonroids/gif/GifInfoHandle;
invoke-virtual {v0}, Lpl/droidsonroids/gif/GifInfoHandle;->getCurrentFrameIndex()I
move-result v0
return v0
.end method
.method public getDuration()I
.registers 2
.line 152
iget-object v0, p0, Lpl/droidsonroids/gif/GifTexImage2D;->mGifInfoHandle:Lpl/droidsonroids/gif/GifInfoHandle;
invoke-virtual {v0}, Lpl/droidsonroids/gif/GifInfoHandle;->getDuration()I
move-result v0
return v0
.end method
.method public getFrameDuration(I)I
.registers 3
.line 50
iget-object v0, p0, Lpl/droidsonroids/gif/GifTexImage2D;->mGifInfoHandle:Lpl/droidsonroids/gif/GifInfoHandle;
invoke-virtual {v0, p1}, Lpl/droidsonroids/gif/GifInfoHandle;->getFrameDuration(I)I
move-result p1
return p1
.end method
.method public getHeight()I
.registers 2
.line 143
iget-object v0, p0, Lpl/droidsonroids/gif/GifTexImage2D;->mGifInfoHandle:Lpl/droidsonroids/gif/GifInfoHandle;
invoke-virtual {v0}, Lpl/droidsonroids/gif/GifInfoHandle;->getHeight()I
move-result v0
return v0
.end method
.method public getNumberOfFrames()I
.registers 2
.line 67
iget-object v0, p0, Lpl/droidsonroids/gif/GifTexImage2D;->mGifInfoHandle:Lpl/droidsonroids/gif/GifInfoHandle;
invoke-virtual {v0}, Lpl/droidsonroids/gif/GifInfoHandle;->getNumberOfFrames()I
move-result v0
return v0
.end method
.method public getWidth()I
.registers 2
.line 136
iget-object v0, p0, Lpl/droidsonroids/gif/GifTexImage2D;->mGifInfoHandle:Lpl/droidsonroids/gif/GifInfoHandle;
invoke-virtual {v0}, Lpl/droidsonroids/gif/GifInfoHandle;->getWidth()I
move-result v0
return v0
.end method
.method public glTexImage2D(II)V
.registers 4
.line 95
iget-object v0, p0, Lpl/droidsonroids/gif/GifTexImage2D;->mGifInfoHandle:Lpl/droidsonroids/gif/GifInfoHandle;
invoke-virtual {v0, p1, p2}, Lpl/droidsonroids/gif/GifInfoHandle;->glTexImage2D(II)V
return-void
.end method
.method public glTexSubImage2D(II)V
.registers 4
.line 106
iget-object v0, p0, Lpl/droidsonroids/gif/GifTexImage2D;->mGifInfoHandle:Lpl/droidsonroids/gif/GifInfoHandle;
invoke-virtual {v0, p1, p2}, Lpl/droidsonroids/gif/GifInfoHandle;->glTexSubImage2D(II)V
return-void
.end method
.method public recycle()V
.registers 2
.line 127
iget-object v0, p0, Lpl/droidsonroids/gif/GifTexImage2D;->mGifInfoHandle:Lpl/droidsonroids/gif/GifInfoHandle;
if-eqz v0, :cond_7
.line 128
invoke-virtual {v0}, Lpl/droidsonroids/gif/GifInfoHandle;->recycle()V
:cond_7
return-void
.end method
.method public seekToFrame(I)V
.registers 3
.line 60
iget-object v0, p0, Lpl/droidsonroids/gif/GifTexImage2D;->mGifInfoHandle:Lpl/droidsonroids/gif/GifInfoHandle;
invoke-virtual {v0, p1}, Lpl/droidsonroids/gif/GifInfoHandle;->seekToFrameGL(I)V
return-void
.end method
.method public setSpeed(F)V
.registers 3
.line 84
iget-object v0, p0, Lpl/droidsonroids/gif/GifTexImage2D;->mGifInfoHandle:Lpl/droidsonroids/gif/GifInfoHandle;
invoke-virtual {v0, p1}, Lpl/droidsonroids/gif/GifInfoHandle;->setSpeedFactor(F)V
return-void
.end method
.method public startDecoderThread()V
.registers 2
.line 113
iget-object v0, p0, Lpl/droidsonroids/gif/GifTexImage2D;->mGifInfoHandle:Lpl/droidsonroids/gif/GifInfoHandle;
invoke-virtual {v0}, Lpl/droidsonroids/gif/GifInfoHandle;->startDecoderThread()V
return-void
.end method
.method public stopDecoderThread()V
.registers 2
.line 120
iget-object v0, p0, Lpl/droidsonroids/gif/GifTexImage2D;->mGifInfoHandle:Lpl/droidsonroids/gif/GifInfoHandle;
invoke-virtual {v0}, Lpl/droidsonroids/gif/GifInfoHandle;->stopDecoderThread()V
return-void
.end method