.class public Lcom/yalantis/ucrop/util/RectUtils; .super Ljava/lang/Object; .source "RectUtils.java" # direct methods .method public constructor ()V .registers 1 .line 5 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method public static getCenterFromRect(Landroid/graphics/RectF;)[F .registers 4 .line 47 invoke-virtual {p0}, Landroid/graphics/RectF;->centerX()F move-result v0 invoke-virtual {p0}, Landroid/graphics/RectF;->centerY()F move-result p0 const/4 v1, 0x2 new-array v1, v1, [F const/4 v2, 0x0 aput v0, v1, v2 const/4 v0, 0x1 aput p0, v1, v0 return-object v1 .end method .method public static getCornersFromRect(Landroid/graphics/RectF;)[F .registers 10 .line 21 iget v0, p0, Landroid/graphics/RectF;->left:F iget v1, p0, Landroid/graphics/RectF;->top:F iget v2, p0, Landroid/graphics/RectF;->right:F iget v3, p0, Landroid/graphics/RectF;->top:F iget v4, p0, Landroid/graphics/RectF;->right:F iget v5, p0, Landroid/graphics/RectF;->bottom:F iget v6, p0, Landroid/graphics/RectF;->left:F iget p0, p0, Landroid/graphics/RectF;->bottom:F const/16 v7, 0x8 new-array v7, v7, [F const/4 v8, 0x0 aput v0, v7, v8 const/4 v0, 0x1 aput v1, v7, v0 const/4 v0, 0x2 aput v2, v7, v0 const/4 v0, 0x3 aput v3, v7, v0 const/4 v0, 0x4 aput v4, v7, v0 const/4 v0, 0x5 aput v5, v7, v0 const/4 v0, 0x6 aput v6, v7, v0 const/4 v0, 0x7 aput p0, v7, v0 return-object v7 .end method .method public static getRectSidesFromCorners([F)[F .registers 12 const/4 v0, 0x0 .line 42 aget v1, p0, v0 const/4 v2, 0x2 aget v3, p0, v2 sub-float/2addr v1, v3 float-to-double v3, v1 const-wide/high16 v5, 0x4000000000000000L # 2.0 invoke-static {v3, v4, v5, v6}, Ljava/lang/Math;->pow(DD)D move-result-wide v3 const/4 v1, 0x1 aget v7, p0, v1 const/4 v8, 0x3 aget v9, p0, v8 sub-float/2addr v7, v9 float-to-double v9, v7 invoke-static {v9, v10, v5, v6}, Ljava/lang/Math;->pow(DD)D move-result-wide v9 add-double/2addr v3, v9 invoke-static {v3, v4}, Ljava/lang/Math;->sqrt(D)D move-result-wide v3 double-to-float v3, v3 aget v4, p0, v2 const/4 v7, 0x4 aget v7, p0, v7 sub-float/2addr v4, v7 float-to-double v9, v4 .line 43 invoke-static {v9, v10, v5, v6}, Ljava/lang/Math;->pow(DD)D move-result-wide v9 aget v4, p0, v8 const/4 v7, 0x5 aget p0, p0, v7 sub-float/2addr v4, p0 float-to-double v7, v4 invoke-static {v7, v8, v5, v6}, Ljava/lang/Math;->pow(DD)D move-result-wide v4 add-double/2addr v9, v4 invoke-static {v9, v10}, Ljava/lang/Math;->sqrt(D)D move-result-wide v4 double-to-float p0, v4 new-array v2, v2, [F aput v3, v2, v0 aput p0, v2, v1 return-object v2 .end method .method public static trapToRect([F)Landroid/graphics/RectF; .registers 6 .line 58 new-instance v0, Landroid/graphics/RectF; const/high16 v1, 0x7f800000 # Float.POSITIVE_INFINITY const/high16 v2, -0x800000 # Float.NEGATIVE_INFINITY invoke-direct {v0, v1, v1, v2, v2}, Landroid/graphics/RectF;->(FFFF)V const/4 v1, 0x1 .line 60 :goto_a array-length v2, p0 if-ge v1, v2, :cond_54 add-int/lit8 v2, v1, -0x1 .line 61 aget v2, p0, v2 const/high16 v3, 0x41200000 # 10.0f mul-float/2addr v2, v3 invoke-static {v2}, Ljava/lang/Math;->round(F)I move-result v2 int-to-float v2, v2 div-float/2addr v2, v3 .line 62 aget v4, p0, v1 mul-float/2addr v4, v3 invoke-static {v4}, Ljava/lang/Math;->round(F)I move-result v4 int-to-float v4, v4 div-float/2addr v4, v3 .line 63 iget v3, v0, Landroid/graphics/RectF;->left:F cmpg-float v3, v2, v3 if-gez v3, :cond_2b move v3, v2 goto :goto_2d :cond_2b iget v3, v0, Landroid/graphics/RectF;->left:F :goto_2d iput v3, v0, Landroid/graphics/RectF;->left:F .line 64 iget v3, v0, Landroid/graphics/RectF;->top:F cmpg-float v3, v4, v3 if-gez v3, :cond_37 move v3, v4 goto :goto_39 :cond_37 iget v3, v0, Landroid/graphics/RectF;->top:F :goto_39 iput v3, v0, Landroid/graphics/RectF;->top:F .line 65 iget v3, v0, Landroid/graphics/RectF;->right:F cmpl-float v3, v2, v3 if-lez v3, :cond_42 goto :goto_44 :cond_42 iget v2, v0, Landroid/graphics/RectF;->right:F :goto_44 iput v2, v0, Landroid/graphics/RectF;->right:F .line 66 iget v2, v0, Landroid/graphics/RectF;->bottom:F cmpl-float v2, v4, v2 if-lez v2, :cond_4d goto :goto_4f :cond_4d iget v4, v0, Landroid/graphics/RectF;->bottom:F :goto_4f iput v4, v0, Landroid/graphics/RectF;->bottom:F add-int/lit8 v1, v1, 0x2 goto :goto_a .line 68 :cond_54 invoke-virtual {v0}, Landroid/graphics/RectF;->sort()V return-object v0 .end method