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