GLMatrix.smali

.class public Lim/tpelyyftgw/ui/components/paint/GLMatrix;
.super Ljava/lang/Object;
.source "GLMatrix.java"


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

    return-void
.end method

.method public constructor <init>()V
    .registers 1

    .line 5
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method

.method public static LoadGraphicsMatrix(Landroid/graphics/Matrix;)[F
    .registers 8
    .param p0, "matrix"    # Landroid/graphics/Matrix;

    .line 41
    const/16 v0, 0x10

    new-array v0, v0, [F

    .line 42
    .local v0, "m":[F
    const/16 v1, 0x9

    new-array v2, v1, [F

    .line 43
    .local v2, "v":[F
    invoke-virtual {p0, v2}, Landroid/graphics/Matrix;->getValues([F)V

    .line 45
    const/4 v3, 0x0

    aget v4, v2, v3

    aput v4, v0, v3

    .line 46
    const/4 v3, 0x1

    aget v4, v2, v3

    aput v4, v0, v3

    .line 47
    const/4 v3, 0x2

    const/4 v4, 0x0

    aput v4, v0, v3

    .line 48
    const/4 v5, 0x3

    aput v4, v0, v5

    .line 50
    aget v5, v2, v5

    const/4 v6, 0x4

    aput v5, v0, v6

    .line 51
    aget v5, v2, v6

    const/4 v6, 0x5

    aput v5, v0, v6

    .line 52
    const/4 v5, 0x6

    aput v4, v0, v5

    .line 53
    const/4 v5, 0x7

    aput v4, v0, v5

    .line 55
    const/16 v5, 0x8

    aput v4, v0, v5

    .line 56
    aput v4, v0, v1

    .line 57
    const/high16 v1, 0x3f800000    # 1.0f

    const/16 v5, 0xa

    aput v1, v0, v5

    .line 58
    const/16 v5, 0xb

    aput v4, v0, v5

    .line 60
    aget v3, v2, v3

    const/16 v5, 0xc

    aput v3, v0, v5

    .line 61
    aget v3, v2, v6

    const/16 v5, 0xd

    aput v3, v0, v5

    .line 62
    const/16 v3, 0xe

    aput v4, v0, v3

    .line 63
    const/16 v3, 0xf

    aput v1, v0, v3

    .line 65
    return-object v0
.end method

.method public static LoadOrtho(FFFFFF)[F
    .registers 16
    .param p0, "left"    # F
    .param p1, "right"    # F
    .param p2, "bottom"    # F
    .param p3, "top"    # F
    .param p4, "near"    # F
    .param p5, "far"    # F

    .line 8
    sub-float v0, p1, p0

    .line 9
    .local v0, "r_l":F
    sub-float v1, p3, p2

    .line 10
    .local v1, "t_b":F
    sub-float v2, p5, p4

    .line 11
    .local v2, "f_n":F
    add-float v3, p1, p0

    neg-float v3, v3

    sub-float v4, p1, p0

    div-float/2addr v3, v4

    .line 12
    .local v3, "tx":F
    add-float v4, p3, p2

    neg-float v4, v4

    sub-float v5, p3, p2

    div-float/2addr v4, v5

    .line 13
    .local v4, "ty":F
    add-float v5, p5, p4

    neg-float v5, v5

    sub-float v6, p5, p4

    div-float/2addr v5, v6

    .line 15
    .local v5, "tz":F
    const/16 v6, 0x10

    new-array v6, v6, [F

    .line 17
    .local v6, "out":[F
    const/high16 v7, 0x40000000    # 2.0f

    div-float v8, v7, v0

    const/4 v9, 0x0

    aput v8, v6, v9

    .line 18
    const/4 v8, 0x0

    const/4 v9, 0x1

    aput v8, v6, v9

    .line 19
    const/4 v9, 0x2

    aput v8, v6, v9

    .line 20
    const/4 v9, 0x3

    aput v8, v6, v9

    .line 22
    const/4 v9, 0x4

    aput v8, v6, v9

    .line 23
    div-float/2addr v7, v1

    const/4 v9, 0x5

    aput v7, v6, v9

    .line 24
    const/4 v7, 0x6

    aput v8, v6, v7

    .line 25
    const/4 v7, 0x7

    aput v8, v6, v7

    .line 27
    const/16 v7, 0x8

    aput v8, v6, v7

    .line 28
    const/16 v7, 0x9

    aput v8, v6, v7

    .line 29
    const/high16 v7, -0x40000000    # -2.0f

    div-float/2addr v7, v2

    const/16 v9, 0xa

    aput v7, v6, v9

    .line 30
    const/16 v7, 0xb

    aput v8, v6, v7

    .line 32
    const/16 v7, 0xc

    aput v3, v6, v7

    .line 33
    const/16 v7, 0xd

    aput v4, v6, v7

    .line 34
    const/16 v7, 0xe

    aput v5, v6, v7

    .line 35
    const/16 v7, 0xf

    const/high16 v8, 0x3f800000    # 1.0f

    aput v8, v6, v7

    .line 37
    return-object v6
.end method

.method public static MultiplyMat4f([F[F)[F
    .registers 22
    .param p0, "a"    # [F
    .param p1, "b"    # [F

    .line 69
    const/16 v0, 0x10

    new-array v0, v0, [F

    .line 71
    .local v0, "out":[F
    const/4 v1, 0x0

    aget v2, p0, v1

    aget v3, p1, v1

    mul-float v2, v2, v3

    const/4 v3, 0x4

    aget v4, p0, v3

    const/4 v5, 0x1

    aget v6, p1, v5

    mul-float v4, v4, v6

    add-float/2addr v2, v4

    const/16 v4, 0x8

    aget v6, p0, v4

    const/4 v7, 0x2

    aget v8, p1, v7

    mul-float v6, v6, v8

    add-float/2addr v2, v6

    const/16 v6, 0xc

    aget v8, p0, v6

    const/4 v9, 0x3

    aget v10, p1, v9

    mul-float v8, v8, v10

    add-float/2addr v2, v8

    aput v2, v0, v1

    .line 72
    aget v2, p0, v5

    aget v8, p1, v1

    mul-float v2, v2, v8

    const/4 v8, 0x5

    aget v10, p0, v8

    aget v11, p1, v5

    mul-float v10, v10, v11

    add-float/2addr v2, v10

    const/16 v10, 0x9

    aget v11, p0, v10

    aget v12, p1, v7

    mul-float v11, v11, v12

    add-float/2addr v2, v11

    const/16 v11, 0xd

    aget v12, p0, v11

    aget v13, p1, v9

    mul-float v12, v12, v13

    add-float/2addr v2, v12

    aput v2, v0, v5

    .line 73
    aget v2, p0, v7

    aget v12, p1, v1

    mul-float v2, v2, v12

    const/4 v12, 0x6

    aget v13, p0, v12

    aget v14, p1, v5

    mul-float v13, v13, v14

    add-float/2addr v2, v13

    const/16 v13, 0xa

    aget v14, p0, v13

    aget v15, p1, v7

    mul-float v14, v14, v15

    add-float/2addr v2, v14

    const/16 v14, 0xe

    aget v15, p0, v14

    aget v16, p1, v9

    mul-float v15, v15, v16

    add-float/2addr v2, v15

    aput v2, v0, v7

    .line 74
    aget v2, p0, v9

    aget v15, p1, v1

    mul-float v2, v2, v15

    const/4 v15, 0x7

    aget v16, p0, v15

    aget v17, p1, v5

    mul-float v16, v16, v17

    add-float v2, v2, v16

    const/16 v16, 0xb

    aget v17, p0, v16

    aget v18, p1, v7

    mul-float v17, v17, v18

    add-float v2, v2, v17

    const/16 v17, 0xf

    aget v18, p0, v17

    aget v19, p1, v9

    mul-float v18, v18, v19

    add-float v2, v2, v18

    aput v2, v0, v9

    .line 76
    aget v2, p0, v1

    aget v18, p1, v3

    mul-float v2, v2, v18

    aget v18, p0, v3

    aget v19, p1, v8

    mul-float v18, v18, v19

    add-float v2, v2, v18

    aget v18, p0, v4

    aget v19, p1, v12

    mul-float v18, v18, v19

    add-float v2, v2, v18

    aget v18, p0, v6

    aget v19, p1, v15

    mul-float v18, v18, v19

    add-float v2, v2, v18

    aput v2, v0, v3

    .line 77
    aget v2, p0, v5

    aget v18, p1, v3

    mul-float v2, v2, v18

    aget v18, p0, v8

    aget v19, p1, v8

    mul-float v18, v18, v19

    add-float v2, v2, v18

    aget v18, p0, v10

    aget v19, p1, v12

    mul-float v18, v18, v19

    add-float v2, v2, v18

    aget v18, p0, v11

    aget v19, p1, v15

    mul-float v18, v18, v19

    add-float v2, v2, v18

    aput v2, v0, v8

    .line 78
    aget v2, p0, v7

    aget v18, p1, v3

    mul-float v2, v2, v18

    aget v18, p0, v12

    aget v19, p1, v8

    mul-float v18, v18, v19

    add-float v2, v2, v18

    aget v18, p0, v13

    aget v19, p1, v12

    mul-float v18, v18, v19

    add-float v2, v2, v18

    aget v18, p0, v14

    aget v19, p1, v15

    mul-float v18, v18, v19

    add-float v2, v2, v18

    aput v2, v0, v12

    .line 79
    aget v2, p0, v9

    aget v18, p1, v3

    mul-float v2, v2, v18

    aget v18, p0, v15

    aget v19, p1, v8

    mul-float v18, v18, v19

    add-float v2, v2, v18

    aget v18, p0, v16

    aget v19, p1, v12

    mul-float v18, v18, v19

    add-float v2, v2, v18

    aget v18, p0, v17

    aget v19, p1, v15

    mul-float v18, v18, v19

    add-float v2, v2, v18

    aput v2, v0, v15

    .line 81
    aget v2, p0, v1

    aget v18, p1, v4

    mul-float v2, v2, v18

    aget v18, p0, v3

    aget v19, p1, v10

    mul-float v18, v18, v19

    add-float v2, v2, v18

    aget v18, p0, v4

    aget v19, p1, v13

    mul-float v18, v18, v19

    add-float v2, v2, v18

    aget v18, p0, v6

    aget v19, p1, v16

    mul-float v18, v18, v19

    add-float v2, v2, v18

    aput v2, v0, v4

    .line 82
    aget v2, p0, v5

    aget v18, p1, v4

    mul-float v2, v2, v18

    aget v18, p0, v8

    aget v19, p1, v10

    mul-float v18, v18, v19

    add-float v2, v2, v18

    aget v18, p0, v10

    aget v19, p1, v13

    mul-float v18, v18, v19

    add-float v2, v2, v18

    aget v18, p0, v11

    aget v19, p1, v16

    mul-float v18, v18, v19

    add-float v2, v2, v18

    aput v2, v0, v10

    .line 83
    aget v2, p0, v7

    aget v18, p1, v4

    mul-float v2, v2, v18

    aget v18, p0, v12

    aget v19, p1, v10

    mul-float v18, v18, v19

    add-float v2, v2, v18

    aget v18, p0, v13

    aget v19, p1, v13

    mul-float v18, v18, v19

    add-float v2, v2, v18

    aget v18, p0, v14

    aget v19, p1, v16

    mul-float v18, v18, v19

    add-float v2, v2, v18

    aput v2, v0, v13

    .line 84
    aget v2, p0, v9

    aget v18, p1, v4

    mul-float v2, v2, v18

    aget v18, p0, v15

    aget v19, p1, v10

    mul-float v18, v18, v19

    add-float v2, v2, v18

    aget v18, p0, v16

    aget v19, p1, v13

    mul-float v18, v18, v19

    add-float v2, v2, v18

    aget v18, p0, v17

    aget v19, p1, v16

    mul-float v18, v18, v19

    add-float v2, v2, v18

    aput v2, v0, v16

    .line 86
    aget v1, p0, v1

    aget v2, p1, v6

    mul-float v1, v1, v2

    aget v2, p0, v3

    aget v3, p1, v11

    mul-float v2, v2, v3

    add-float/2addr v1, v2

    aget v2, p0, v4

    aget v3, p1, v14

    mul-float v2, v2, v3

    add-float/2addr v1, v2

    aget v2, p0, v6

    aget v3, p1, v17

    mul-float v2, v2, v3

    add-float/2addr v1, v2

    aput v1, v0, v6

    .line 87
    aget v1, p0, v5

    aget v2, p1, v6

    mul-float v1, v1, v2

    aget v2, p0, v8

    aget v3, p1, v11

    mul-float v2, v2, v3

    add-float/2addr v1, v2

    aget v2, p0, v10

    aget v3, p1, v14

    mul-float v2, v2, v3

    add-float/2addr v1, v2

    aget v2, p0, v11

    aget v3, p1, v17

    mul-float v2, v2, v3

    add-float/2addr v1, v2

    aput v1, v0, v11

    .line 88
    aget v1, p0, v7

    aget v2, p1, v6

    mul-float v1, v1, v2

    aget v2, p0, v12

    aget v3, p1, v11

    mul-float v2, v2, v3

    add-float/2addr v1, v2

    aget v2, p0, v13

    aget v3, p1, v14

    mul-float v2, v2, v3

    add-float/2addr v1, v2

    aget v2, p0, v14

    aget v3, p1, v17

    mul-float v2, v2, v3

    add-float/2addr v1, v2

    aput v1, v0, v14

    .line 89
    aget v1, p0, v9

    aget v2, p1, v6

    mul-float v1, v1, v2

    aget v2, p0, v15

    aget v3, p1, v11

    mul-float v2, v2, v3

    add-float/2addr v1, v2

    aget v2, p0, v16

    aget v3, p1, v14

    mul-float v2, v2, v3

    add-float/2addr v1, v2

    aget v2, p0, v17

    aget v3, p1, v17

    mul-float v2, v2, v3

    add-float/2addr v1, v2

    aput v1, v0, v17

    .line 91
    return-object v0
.end method