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