c.smali

.class public Lv7/c;
.super Lv7/a;
.source "GlTextureProgram.kt"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lv7/c$a;
    }
.end annotation

.annotation runtime Lkotlin/Metadata;
    bv = {
        0x1,
        0x0,
        0x3
    }
    d1 = {
        "\u0000`\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0002\u0008\u0007\n\u0002\u0010\u0008\n\u0002\u0008\u0002\n\u0002\u0010\u000b\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0005\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0014\n\u0002\u0008\u0008\n\u0002\u0010\u0007\n\u0002\u0008\u0007\n\u0002\u0010\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0005\u0008\u0016\u0018\u0000 62\u00020\u0001:\u00016BG\u0008\u0017\u0012\u0008\u0008\u0002\u0010\u0002\u001a\u00020\u0003\u0012\u0008\u0008\u0002\u0010\u0004\u001a\u00020\u0003\u0012\u0008\u0008\u0002\u0010\u0005\u001a\u00020\u0003\u0012\u0008\u0008\u0002\u0010\u0006\u001a\u00020\u0003\u0012\n\u0008\u0002\u0010\u0007\u001a\u0004\u0018\u00010\u0003\u0012\n\u0008\u0002\u0010\u0008\u001a\u0004\u0018\u00010\u0003\u00a2\u0006\u0002\u0010\tB;\u0008\u0017\u0012\u0006\u0010\n\u001a\u00020\u000b\u0012\u0008\u0008\u0002\u0010\u0005\u001a\u00020\u0003\u0012\u0008\u0008\u0002\u0010\u0006\u001a\u00020\u0003\u0012\n\u0008\u0002\u0010\u0007\u001a\u0004\u0018\u00010\u0003\u0012\n\u0008\u0002\u0010\u0008\u001a\u0004\u0018\u00010\u0003\u00a2\u0006\u0002\u0010\u000cB;\u0008\u0004\u0012\u0006\u0010\n\u001a\u00020\u000b\u0012\u0006\u0010\r\u001a\u00020\u000e\u0012\u0006\u0010\u0005\u001a\u00020\u0003\u0012\u0006\u0010\u0006\u001a\u00020\u0003\u0012\u0008\u0010\u0007\u001a\u0004\u0018\u00010\u0003\u0012\u0008\u0010\u0008\u001a\u0004\u0018\u00010\u0003\u00a2\u0006\u0002\u0010\u000fJ8\u0010(\u001a\u00020)2\u0006\u0010*\u001a\u00020\u000b2\u0006\u0010+\u001a\u00020\u00112\u0006\u0010,\u001a\u00020)2\u0006\u0010-\u001a\u00020)2\u0006\u0010.\u001a\u00020)2\u0006\u0010/\u001a\u00020\u000eH\u0014J\u0010\u00100\u001a\u0002012\u0006\u0010+\u001a\u000202H\u0016J\u0018\u00103\u001a\u0002012\u0006\u0010+\u001a\u0002022\u0006\u00104\u001a\u00020 H\u0016J\u0008\u00105\u001a\u000201H\u0016R\u0010\u0010\u0010\u001a\u0004\u0018\u00010\u0011X\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0012\u001a\u00020\u0013X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0014\u001a\u00020\u000bX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u001c\u0010\u0015\u001a\u0004\u0018\u00010\u0016X\u0086\u000e\u00a2\u0006\u000e\n\u0000\u001a\u0004\u0008\u0017\u0010\u0018\"\u0004\u0008\u0019\u0010\u001aR\u000e\u0010\u001b\u001a\u00020\u001cX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u0010\u0010\u001d\u001a\u0004\u0018\u00010\u001eX\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u001a\u0010\u001f\u001a\u00020 X\u0086\u000e\u00a2\u0006\u000e\n\u0000\u001a\u0004\u0008!\u0010\"\"\u0004\u0008#\u0010$R\u0010\u0010%\u001a\u0004\u0018\u00010\u001eX\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010&\u001a\u00020\u001eX\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\'\u001a\u00020\u001eX\u0082\u0004\u00a2\u0006\u0002\n\u0000\u00a8\u00067"
    }
    d2 = {
        "Lcom/otaliastudios/opengl/program/GlTextureProgram;",
        "Lcom/otaliastudios/opengl/program/GlProgram;",
        "vertexShader",
        "",
        "fragmentShader",
        "vertexPositionName",
        "vertexMvpMatrixName",
        "textureCoordsName",
        "textureTransformName",
        "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V",
        "handle",
        "",
        "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V",
        "ownsHandle",
        "",
        "(IZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V",
        "lastDrawable",
        "Lcom/otaliastudios/opengl/draw/Gl2dDrawable;",
        "lastDrawableBounds",
        "Landroid/graphics/RectF;",
        "lastDrawableVersion",
        "texture",
        "Lcom/otaliastudios/opengl/texture/GlTexture;",
        "getTexture",
        "()Lcom/otaliastudios/opengl/texture/GlTexture;",
        "setTexture",
        "(Lcom/otaliastudios/opengl/texture/GlTexture;)V",
        "textureCoordsBuffer",
        "Ljava/nio/FloatBuffer;",
        "textureCoordsHandle",
        "Lcom/otaliastudios/opengl/program/GlProgramLocation;",
        "textureTransform",
        "",
        "getTextureTransform",
        "()[F",
        "setTextureTransform",
        "([F)V",
        "textureTransformHandle",
        "vertexMvpMatrixHandle",
        "vertexPositionHandle",
        "computeTextureCoordinate",
        "",
        "vertex",
        "drawable",
        "value",
        "min",
        "max",
        "horizontal",
        "onPostDraw",
        "",
        "Lcom/otaliastudios/opengl/draw/GlDrawable;",
        "onPreDraw",
        "modelViewProjectionMatrix",
        "release",
        "Companion",
        "egloo_release"
    }
    k = 0x1
    mv = {
        0x1,
        0x1,
        0xf
    }
.end annotation


# instance fields
.field public e:[F

.field public final f:Lcom/otaliastudios/opengl/program/GlProgramLocation;

.field public g:Ljava/nio/FloatBuffer;

.field public final h:Lcom/otaliastudios/opengl/program/GlProgramLocation;

.field public final i:Lcom/otaliastudios/opengl/program/GlProgramLocation;

.field public final j:Lcom/otaliastudios/opengl/program/GlProgramLocation;

.field public final k:Landroid/graphics/RectF;

.field public l:I

.field public m:Lt7/a;

.field public n:Lw7/a;


# direct methods
.method public static constructor <clinit>()V
    .registers 2

    new-instance v0, Lv7/c$a;

    const/4 v1, 0x0

    invoke-direct {v0, v1}, Lv7/c$a;-><init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V

    return-void
.end method

.method public constructor <init>(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    .registers 13
    .annotation build Lkotlin/jvm/JvmOverloads;
    .end annotation

    const/4 v2, 0x0

    move-object v0, p0

    move v1, p1

    move-object v3, p2

    move-object v4, p3

    move-object v5, p4

    move-object v6, p5

    invoke-direct/range {v0 .. v6}, Lv7/c;-><init>(IZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    return-void
.end method

.method public constructor <init>(IZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    .registers 7

    invoke-direct {p0, p1, p2}, Lv7/a;-><init>(IZ)V

    sget-object p1, Ls7/a;->a:[F

    invoke-virtual {p1}, Ljava/lang/Object;->clone()Ljava/lang/Object;

    move-result-object p1

    check-cast p1, [F

    iput-object p1, p0, Lv7/c;->e:[F

    const/4 p1, 0x0

    if-eqz p6, :cond_15

    invoke-virtual {p0, p6}, Lv7/a;->b(Ljava/lang/String;)Lcom/otaliastudios/opengl/program/GlProgramLocation;

    move-result-object p2

    goto :goto_16

    :cond_15
    move-object p2, p1

    :goto_16
    iput-object p2, p0, Lv7/c;->f:Lcom/otaliastudios/opengl/program/GlProgramLocation;

    const/16 p2, 0x8

    invoke-static {p2}, Lu7/a;->a(I)Ljava/nio/FloatBuffer;

    move-result-object p2

    iput-object p2, p0, Lv7/c;->g:Ljava/nio/FloatBuffer;

    if-eqz p5, :cond_26

    invoke-virtual {p0, p5}, Lv7/a;->a(Ljava/lang/String;)Lcom/otaliastudios/opengl/program/GlProgramLocation;

    move-result-object p1

    :cond_26
    iput-object p1, p0, Lv7/c;->h:Lcom/otaliastudios/opengl/program/GlProgramLocation;

    invoke-virtual {p0, p3}, Lv7/a;->a(Ljava/lang/String;)Lcom/otaliastudios/opengl/program/GlProgramLocation;

    move-result-object p1

    iput-object p1, p0, Lv7/c;->i:Lcom/otaliastudios/opengl/program/GlProgramLocation;

    invoke-virtual {p0, p4}, Lv7/a;->b(Ljava/lang/String;)Lcom/otaliastudios/opengl/program/GlProgramLocation;

    move-result-object p1

    iput-object p1, p0, Lv7/c;->j:Lcom/otaliastudios/opengl/program/GlProgramLocation;

    new-instance p1, Landroid/graphics/RectF;

    invoke-direct {p1}, Landroid/graphics/RectF;-><init>()V

    iput-object p1, p0, Lv7/c;->k:Landroid/graphics/RectF;

    const/4 p1, -0x1

    iput p1, p0, Lv7/c;->l:I

    return-void
.end method


# virtual methods
.method public a(ILt7/a;FFFZ)F
    .registers 7

    sub-float/2addr p3, p4

    sub-float/2addr p5, p4

    div-float/2addr p3, p5

    const/high16 p1, 0x3f800000    # 1.0f

    mul-float p3, p3, p1

    const/4 p1, 0x0

    add-float/2addr p3, p1

    return p3
.end method

.method public a()V
    .registers 2

    invoke-super {p0}, Lv7/a;->a()V

    iget-object v0, p0, Lv7/c;->n:Lw7/a;

    if-eqz v0, :cond_a

    invoke-virtual {v0}, Lw7/a;->e()V

    :cond_a
    const/4 v0, 0x0

    iput-object v0, p0, Lv7/c;->n:Lw7/a;

    return-void
.end method

.method public a(Lt7/b;[F)V
    .registers 20

    move-object/from16 v7, p0

    move-object/from16 v8, p1

    invoke-super/range {p0 .. p2}, Lv7/a;->a(Lt7/b;[F)V

    instance-of v0, v8, Lt7/a;

    if-eqz v0, :cond_101

    iget-object v0, v7, Lv7/c;->n:Lw7/a;

    if-eqz v0, :cond_12

    invoke-virtual {v0}, Lw7/a;->b()V

    :cond_12
    iget-object v0, v7, Lv7/c;->j:Lcom/otaliastudios/opengl/program/GlProgramLocation;

    invoke-virtual {v0}, Lcom/otaliastudios/opengl/program/GlProgramLocation;->a()I

    move-result v0

    const/4 v9, 0x1

    const/4 v10, 0x0

    move-object/from16 v1, p2

    invoke-static {v0, v9, v10, v1, v10}, Landroid/opengl/GLES20;->glUniformMatrix4fv(IIZ[FI)V

    const-string v0, "glUniformMatrix4fv"

    invoke-static {v0}, Ls7/a;->a(Ljava/lang/String;)V

    iget-object v1, v7, Lv7/c;->f:Lcom/otaliastudios/opengl/program/GlProgramLocation;

    if-eqz v1, :cond_34

    invoke-virtual {v1}, Lcom/otaliastudios/opengl/program/GlProgramLocation;->a()I

    move-result v1

    iget-object v2, v7, Lv7/c;->e:[F

    invoke-static {v1, v9, v10, v2, v10}, Landroid/opengl/GLES20;->glUniformMatrix4fv(IIZ[FI)V

    invoke-static {v0}, Ls7/a;->a(Ljava/lang/String;)V

    :cond_34
    iget-object v0, v7, Lv7/c;->i:Lcom/otaliastudios/opengl/program/GlProgramLocation;

    invoke-virtual {v0}, Lcom/otaliastudios/opengl/program/GlProgramLocation;->a()I

    move-result v1

    invoke-static {v1}, Landroid/opengl/GLES20;->glEnableVertexAttribArray(I)V

    const-string v11, "glEnableVertexAttribArray"

    invoke-static {v11}, Ls7/a;->a(Ljava/lang/String;)V

    invoke-virtual {v0}, Lcom/otaliastudios/opengl/program/GlProgramLocation;->a()I

    move-result v1

    const/4 v2, 0x2

    const/16 v3, 0x1406

    const/4 v4, 0x0

    invoke-virtual/range {p1 .. p1}, Lt7/b;->g()I

    move-result v5

    invoke-virtual/range {p1 .. p1}, Lt7/b;->d()Ljava/nio/FloatBuffer;

    move-result-object v6

    invoke-static/range {v1 .. v6}, Landroid/opengl/GLES20;->glVertexAttribPointer(IIIZILjava/nio/Buffer;)V

    const-string v12, "glVertexAttribPointer"

    invoke-static {v12}, Ls7/a;->a(Ljava/lang/String;)V

    iget-object v13, v7, Lv7/c;->h:Lcom/otaliastudios/opengl/program/GlProgramLocation;

    if-eqz v13, :cond_100

    iget-object v0, v7, Lv7/c;->m:Lt7/a;

    invoke-static {v8, v0}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z

    move-result v0

    xor-int/2addr v0, v9

    if-nez v0, :cond_77

    invoke-virtual/range {p1 .. p1}, Lt7/b;->e()I

    move-result v0

    iget v1, v7, Lv7/c;->l:I

    if-eq v0, v1, :cond_70

    goto :goto_77

    :cond_70
    iget-object v0, v7, Lv7/c;->g:Ljava/nio/FloatBuffer;

    invoke-virtual {v0}, Ljava/nio/FloatBuffer;->rewind()Ljava/nio/Buffer;

    goto/16 :goto_e2

    :cond_77
    :goto_77
    move-object v14, v8

    check-cast v14, Lt7/a;

    iput-object v14, v7, Lv7/c;->m:Lt7/a;

    invoke-virtual/range {p1 .. p1}, Lt7/b;->e()I

    move-result v0

    iput v0, v7, Lv7/c;->l:I

    iget-object v0, v7, Lv7/c;->k:Landroid/graphics/RectF;

    invoke-virtual {v14, v0}, Lt7/a;->a(Landroid/graphics/RectF;)V

    invoke-virtual/range {p1 .. p1}, Lt7/b;->f()I

    move-result v0

    mul-int/lit8 v15, v0, 0x2

    iget-object v0, v7, Lv7/c;->g:Ljava/nio/FloatBuffer;

    invoke-virtual {v0}, Ljava/nio/FloatBuffer;->capacity()I

    move-result v0

    if-ge v0, v15, :cond_9b

    invoke-static {v15}, Lu7/a;->a(I)Ljava/nio/FloatBuffer;

    move-result-object v0

    iput-object v0, v7, Lv7/c;->g:Ljava/nio/FloatBuffer;

    :cond_9b
    iget-object v0, v7, Lv7/c;->g:Ljava/nio/FloatBuffer;

    invoke-virtual {v0}, Ljava/nio/FloatBuffer;->clear()Ljava/nio/Buffer;

    iget-object v0, v7, Lv7/c;->g:Ljava/nio/FloatBuffer;

    invoke-virtual {v0, v15}, Ljava/nio/FloatBuffer;->limit(I)Ljava/nio/Buffer;

    const/4 v6, 0x0

    :goto_a6
    if-ge v6, v15, :cond_e2

    rem-int/lit8 v0, v6, 0x2

    if-nez v0, :cond_af

    const/16 v16, 0x1

    goto :goto_b1

    :cond_af
    const/16 v16, 0x0

    :goto_b1
    invoke-virtual/range {p1 .. p1}, Lt7/b;->d()Ljava/nio/FloatBuffer;

    move-result-object v0

    invoke-virtual {v0, v6}, Ljava/nio/FloatBuffer;->get(I)F

    move-result v3

    iget-object v0, v7, Lv7/c;->k:Landroid/graphics/RectF;

    if-eqz v16, :cond_c0

    iget v0, v0, Landroid/graphics/RectF;->left:F

    goto :goto_c2

    :cond_c0
    iget v0, v0, Landroid/graphics/RectF;->bottom:F

    :goto_c2
    move v4, v0

    iget-object v0, v7, Lv7/c;->k:Landroid/graphics/RectF;

    if-eqz v16, :cond_ca

    iget v0, v0, Landroid/graphics/RectF;->right:F

    goto :goto_cc

    :cond_ca
    iget v0, v0, Landroid/graphics/RectF;->top:F

    :goto_cc
    move v5, v0

    div-int/lit8 v1, v6, 0x2

    move-object/from16 v0, p0

    move-object v2, v14

    move v9, v6

    move/from16 v6, v16

    invoke-virtual/range {v0 .. v6}, Lv7/c;->a(ILt7/a;FFFZ)F

    move-result v0

    iget-object v1, v7, Lv7/c;->g:Ljava/nio/FloatBuffer;

    invoke-virtual {v1, v9, v0}, Ljava/nio/FloatBuffer;->put(IF)Ljava/nio/FloatBuffer;

    add-int/lit8 v6, v9, 0x1

    const/4 v9, 0x1

    goto :goto_a6

    :cond_e2
    :goto_e2
    invoke-virtual {v13}, Lcom/otaliastudios/opengl/program/GlProgramLocation;->a()I

    move-result v0

    invoke-static {v0}, Landroid/opengl/GLES20;->glEnableVertexAttribArray(I)V

    invoke-static {v11}, Ls7/a;->a(Ljava/lang/String;)V

    invoke-virtual {v13}, Lcom/otaliastudios/opengl/program/GlProgramLocation;->a()I

    move-result v1

    const/4 v2, 0x2

    const/16 v3, 0x1406

    const/4 v4, 0x0

    invoke-virtual/range {p1 .. p1}, Lt7/b;->g()I

    move-result v5

    iget-object v6, v7, Lv7/c;->g:Ljava/nio/FloatBuffer;

    invoke-static/range {v1 .. v6}, Landroid/opengl/GLES20;->glVertexAttribPointer(IIIZILjava/nio/Buffer;)V

    invoke-static {v12}, Ls7/a;->a(Ljava/lang/String;)V

    :cond_100
    return-void

    :cond_101
    new-instance v0, Ljava/lang/RuntimeException;

    const-string v1, "GlTextureProgram only supports 2D drawables."

    invoke-direct {v0, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V

    goto :goto_10a

    :goto_109
    throw v0

    :goto_10a
    goto :goto_109
.end method

.method public final a([F)V
    .registers 2

    iput-object p1, p0, Lv7/c;->e:[F

    return-void
.end method

.method public b(Lt7/b;)V
    .registers 2

    invoke-super {p0, p1}, Lv7/a;->b(Lt7/b;)V

    iget-object p1, p0, Lv7/c;->i:Lcom/otaliastudios/opengl/program/GlProgramLocation;

    invoke-virtual {p1}, Lcom/otaliastudios/opengl/program/GlProgramLocation;->a()I

    move-result p1

    invoke-static {p1}, Landroid/opengl/GLES20;->glDisableVertexAttribArray(I)V

    iget-object p1, p0, Lv7/c;->h:Lcom/otaliastudios/opengl/program/GlProgramLocation;

    if-eqz p1, :cond_17

    invoke-virtual {p1}, Lcom/otaliastudios/opengl/program/GlProgramLocation;->a()I

    move-result p1

    invoke-static {p1}, Landroid/opengl/GLES20;->glDisableVertexAttribArray(I)V

    :cond_17
    iget-object p1, p0, Lv7/c;->n:Lw7/a;

    if-eqz p1, :cond_1e

    invoke-virtual {p1}, Lw7/a;->a()V

    :cond_1e
    const-string p1, "onPostDraw end"

    invoke-static {p1}, Ls7/a;->a(Ljava/lang/String;)V

    return-void
.end method