ViewBox.smali
.class public Lcom/horcrux/svg/ViewBox;
.super Ljava/lang/Object;
.source "ViewBox.java"
# static fields
.field public static final MOS_MEET:I
.field public static final MOS_NONE:I
.field public static final MOS_SLICE:I
# direct methods
.method static constructor <clinit>()V
.registers 1
const v0, 0x5a
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lcom/horcrux/svg/ViewBox;->MOS_MEET:I
const v0, 0x58
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lcom/horcrux/svg/ViewBox;->MOS_NONE:I
const v0, 0x5b
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lcom/horcrux/svg/ViewBox;->MOS_SLICE:I
return-void
.end method
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getTransform(Landroid/graphics/RectF;Landroid/graphics/RectF;Ljava/lang/String;I)Landroid/graphics/Matrix;
.registers 26
move-object/from16 v0, p0
move-object/from16 v1, p1
move-object/from16 v2, p2
move/from16 v3, p3
iget v4, v0, Landroid/graphics/RectF;->left:F
float-to-double v4, v4
iget v6, v0, Landroid/graphics/RectF;->top:F
float-to-double v6, v6
invoke-virtual/range {p0 .. p0}, Landroid/graphics/RectF;->width()F
move-result v8
float-to-double v8, v8
invoke-virtual/range {p0 .. p0}, Landroid/graphics/RectF;->height()F
move-result v0
float-to-double v10, v0
iget v0, v1, Landroid/graphics/RectF;->left:F
float-to-double v12, v0
iget v0, v1, Landroid/graphics/RectF;->top:F
float-to-double v14, v0
invoke-virtual/range {p1 .. p1}, Landroid/graphics/RectF;->width()F
move-result v0
float-to-double v0, v0
invoke-virtual/range {p1 .. p1}, Landroid/graphics/RectF;->height()F
move-result v2
float-to-double v2, v2
invoke-static {v0, v1}, Ljava/lang/Double;->isNaN(D)Z
invoke-static {v8, v9}, Ljava/lang/Double;->isNaN(D)Z
move-wide/from16 v16, v14
div-double v14, v0, v8
invoke-static {v2, v3}, Ljava/lang/Double;->isNaN(D)Z
invoke-static {v10, v11}, Ljava/lang/Double;->isNaN(D)Z
move-wide/from16 v18, v8
div-double v8, v2, v10
invoke-static {v4, v5}, Ljava/lang/Double;->isNaN(D)Z
mul-double v4, v4, v14
invoke-static {v12, v13}, Ljava/lang/Double;->isNaN(D)Z
sub-double/2addr v12, v4
invoke-static {v6, v7}, Ljava/lang/Double;->isNaN(D)Z
mul-double v6, v6, v8
invoke-static/range {v16 .. v17}, Ljava/lang/Double;->isNaN(D)Z
sub-double v4, v16, v6
const/4 v6, 0x2
move-wide/from16 v16, v2
move/from16 v2, p3
if-ne v2, v6, :cond_93
invoke-static {v14, v15, v8, v9}, Ljava/lang/Math;->min(DD)D
move-result-wide v2
const-wide/high16 v6, 0x3ff0000000000000L # 1.0
cmpl-double v8, v2, v6
if-lez v8, :cond_77
invoke-static {v0, v1}, Ljava/lang/Double;->isNaN(D)Z
div-double/2addr v0, v2
invoke-static/range {v18 .. v19}, Ljava/lang/Double;->isNaN(D)Z
sub-double v0, v0, v18
const-wide/high16 v6, 0x4000000000000000L # 2.0
div-double/2addr v0, v6
sub-double/2addr v12, v0
invoke-static/range {v16 .. v17}, Ljava/lang/Double;->isNaN(D)Z
div-double v0, v16, v2
invoke-static {v10, v11}, Ljava/lang/Double;->isNaN(D)Z
sub-double/2addr v0, v10
goto :goto_8e
:cond_77
const-wide/high16 v6, 0x4000000000000000L # 2.0
invoke-static/range {v18 .. v19}, Ljava/lang/Double;->isNaN(D)Z
mul-double v8, v18, v2
invoke-static {v0, v1}, Ljava/lang/Double;->isNaN(D)Z
sub-double/2addr v0, v8
div-double/2addr v0, v6
sub-double/2addr v12, v0
invoke-static {v10, v11}, Ljava/lang/Double;->isNaN(D)Z
mul-double v10, v10, v2
invoke-static/range {v16 .. v17}, Ljava/lang/Double;->isNaN(D)Z
sub-double v0, v16, v10
:goto_8e
div-double/2addr v0, v6
sub-double/2addr v4, v0
move-wide v8, v2
goto/16 :goto_106
:cond_93
const-string v3, "none"
move-object/from16 v6, p2
invoke-virtual {v6, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v7
if-nez v7, :cond_a5
if-nez v2, :cond_a5
invoke-static {v14, v15, v8, v9}, Ljava/lang/Math;->min(DD)D
move-result-wide v14
:goto_a3
move-wide v8, v14
goto :goto_b3
:cond_a5
invoke-virtual {v6, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-nez v3, :cond_b3
const/4 v3, 0x1
if-ne v2, v3, :cond_b3
invoke-static {v14, v15, v8, v9}, Ljava/lang/Math;->max(DD)D
move-result-wide v14
goto :goto_a3
:cond_b3
:goto_b3
const-string v2, "xMid"
invoke-virtual {v6, v2}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v2
if-eqz v2, :cond_ca
invoke-static/range {v18 .. v19}, Ljava/lang/Double;->isNaN(D)Z
mul-double v2, v18, v14
invoke-static {v0, v1}, Ljava/lang/Double;->isNaN(D)Z
sub-double v2, v0, v2
const-wide/high16 v20, 0x4000000000000000L # 2.0
div-double v2, v2, v20
add-double/2addr v12, v2
:cond_ca
const-string v2, "xMax"
invoke-virtual {v6, v2}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v2
if-eqz v2, :cond_dc
invoke-static/range {v18 .. v19}, Ljava/lang/Double;->isNaN(D)Z
mul-double v2, v18, v14
invoke-static {v0, v1}, Ljava/lang/Double;->isNaN(D)Z
sub-double/2addr v0, v2
add-double/2addr v12, v0
:cond_dc
const-string v0, "YMid"
invoke-virtual {v6, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_f2
invoke-static {v10, v11}, Ljava/lang/Double;->isNaN(D)Z
mul-double v0, v10, v8
invoke-static/range {v16 .. v17}, Ljava/lang/Double;->isNaN(D)Z
sub-double v2, v16, v0
const-wide/high16 v0, 0x4000000000000000L # 2.0
div-double/2addr v2, v0
add-double/2addr v4, v2
:cond_f2
const-string v0, "YMax"
invoke-virtual {v6, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_105
invoke-static {v10, v11}, Ljava/lang/Double;->isNaN(D)Z
mul-double v10, v10, v8
invoke-static/range {v16 .. v17}, Ljava/lang/Double;->isNaN(D)Z
sub-double v2, v16, v10
add-double/2addr v4, v2
:cond_105
move-wide v2, v14
:goto_106
new-instance v0, Landroid/graphics/Matrix;
invoke-direct {v0}, Landroid/graphics/Matrix;-><init>()V
double-to-float v1, v12
double-to-float v4, v4
invoke-virtual {v0, v1, v4}, Landroid/graphics/Matrix;->postTranslate(FF)Z
double-to-float v1, v2
double-to-float v2, v8
invoke-virtual {v0, v1, v2}, Landroid/graphics/Matrix;->preScale(FF)Z
return-object v0
.end method