Texture.smali
.class public Lim/tpelyyftgw/ui/components/paint/Texture;
.super Ljava/lang/Object;
.source "Texture.java"
# instance fields
.field private bitmap:Landroid/graphics/Bitmap;
.field private texture:I
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Landroid/graphics/Bitmap;)V
.registers 2
.param p1, "bitmap" # Landroid/graphics/Bitmap;
.line 14
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 15
iput-object p1, p0, Lim/tpelyyftgw/ui/components/paint/Texture;->bitmap:Landroid/graphics/Bitmap;
.line 16
return-void
.end method
.method public static generateTexture(Lim/tpelyyftgw/ui/components/Size;)I
.registers 16
.param p0, "size" # Lim/tpelyyftgw/ui/components/Size;
.line 71
const/4 v0, 0x1
new-array v1, v0, [I
.line 72
.local v1, "textures":[I
const/4 v2, 0x0
invoke-static {v0, v1, v2}, Landroid/opengl/GLES20;->glGenTextures(I[II)V
.line 73
aget v0, v1, v2
.line 75
.local v0, "texture":I
const/16 v2, 0xde1
invoke-static {v2, v0}, Landroid/opengl/GLES20;->glBindTexture(II)V
.line 77
const v3, 0x812f
const/16 v4, 0x2802
invoke-static {v2, v4, v3}, Landroid/opengl/GLES20;->glTexParameteri(III)V
.line 78
const/16 v4, 0x2803
invoke-static {v2, v4, v3}, Landroid/opengl/GLES20;->glTexParameteri(III)V
.line 79
const/16 v3, 0x2601
const/16 v4, 0x2800
invoke-static {v2, v4, v3}, Landroid/opengl/GLES20;->glTexParameteri(III)V
.line 80
const/16 v4, 0x2801
invoke-static {v2, v4, v3}, Landroid/opengl/GLES20;->glTexParameteri(III)V
.line 82
iget v2, p0, Lim/tpelyyftgw/ui/components/Size;->width:F
float-to-int v2, v2
.line 83
.local v2, "width":I
iget v3, p0, Lim/tpelyyftgw/ui/components/Size;->height:F
float-to-int v12, v3
.line 84
.local v12, "height":I
const/16 v13, 0x1908
.line 85
.local v13, "format":I
const/16 v14, 0x1401
.line 87
.local v14, "type":I
const/16 v3, 0xde1
const/4 v4, 0x0
const/4 v8, 0x0
const/4 v11, 0x0
move v5, v13
move v6, v2
move v7, v12
move v9, v13
move v10, v14
invoke-static/range {v3 .. v11}, Landroid/opengl/GLES20;->glTexImage2D(IIIIIIIILjava/nio/Buffer;)V
.line 89
return v0
.end method
.method private isPOT(I)Z
.registers 3
.param p1, "x" # I
.line 33
add-int/lit8 v0, p1, -0x1
and-int/2addr v0, p1
if-nez v0, :cond_7
const/4 v0, 0x1
goto :goto_8
:cond_7
const/4 v0, 0x0
:goto_8
return v0
.end method
# virtual methods
.method public cleanResources(Z)V
.registers 6
.param p1, "recycleBitmap" # Z
.line 19
iget v0, p0, Lim/tpelyyftgw/ui/components/paint/Texture;->texture:I
if-nez v0, :cond_5
.line 20
return-void
.line 23
:cond_5
const/4 v1, 0x1
new-array v2, v1, [I
const/4 v3, 0x0
aput v0, v2, v3
move-object v0, v2
.line 24
.local v0, "textures":[I
invoke-static {v1, v0, v3}, Landroid/opengl/GLES20;->glDeleteTextures(I[II)V
.line 25
iput v3, p0, Lim/tpelyyftgw/ui/components/paint/Texture;->texture:I
.line 27
if-eqz p1, :cond_18
.line 28
iget-object v1, p0, Lim/tpelyyftgw/ui/components/paint/Texture;->bitmap:Landroid/graphics/Bitmap;
invoke-virtual {v1}, Landroid/graphics/Bitmap;->recycle()V
.line 30
:cond_18
return-void
.end method
.method public texture()I
.registers 7
.line 37
iget v0, p0, Lim/tpelyyftgw/ui/components/paint/Texture;->texture:I
if-eqz v0, :cond_5
.line 38
return v0
.line 41
:cond_5
iget-object v0, p0, Lim/tpelyyftgw/ui/components/paint/Texture;->bitmap:Landroid/graphics/Bitmap;
invoke-virtual {v0}, Landroid/graphics/Bitmap;->isRecycled()Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_f
.line 42
return v1
.line 45
:cond_f
const/4 v0, 0x1
new-array v2, v0, [I
.line 46
.local v2, "textures":[I
invoke-static {v0, v2, v1}, Landroid/opengl/GLES20;->glGenTextures(I[II)V
.line 47
aget v0, v2, v1
iput v0, p0, Lim/tpelyyftgw/ui/components/paint/Texture;->texture:I
.line 49
const/16 v3, 0xde1
invoke-static {v3, v0}, Landroid/opengl/GLES20;->glBindTexture(II)V
.line 51
const/4 v0, 0x0
.line 52
.local v0, "mipMappable":Z
const/16 v4, 0x2802
const v5, 0x812f
invoke-static {v3, v4, v5}, Landroid/opengl/GLES20;->glTexParameteri(III)V
.line 53
const/16 v4, 0x2803
invoke-static {v3, v4, v5}, Landroid/opengl/GLES20;->glTexParameteri(III)V
.line 55
const/16 v4, 0x2800
const/16 v5, 0x2601
invoke-static {v3, v4, v5}, Landroid/opengl/GLES20;->glTexParameteri(III)V
.line 56
const/16 v4, 0x2801
if-eqz v0, :cond_39
const/16 v5, 0x2703
:cond_39
invoke-static {v3, v4, v5}, Landroid/opengl/GLES20;->glTexParameteri(III)V
.line 58
iget-object v4, p0, Lim/tpelyyftgw/ui/components/paint/Texture;->bitmap:Landroid/graphics/Bitmap;
invoke-static {v3, v1, v4, v1}, Landroid/opengl/GLUtils;->texImage2D(IILandroid/graphics/Bitmap;I)V
.line 60
if-eqz v0, :cond_46
.line 61
invoke-static {v3}, Landroid/opengl/GLES20;->glGenerateMipmap(I)V
.line 64
:cond_46
invoke-static {}, Lim/tpelyyftgw/ui/components/paint/Utils;->HasGLError()V
.line 66
iget v1, p0, Lim/tpelyyftgw/ui/components/paint/Texture;->texture:I
return v1
.end method