GlideRoundTransform.smali
.class Lim/tpelyyftgw/ui/components/shadow/GlideRoundTransform;
.super Ljava/lang/Object;
.source "GlideRoundTransform.java"
# interfaces
.implements Lcom/bumptech/glide/load/Transformation;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/bumptech/glide/load/Transformation<",
"Landroid/graphics/Bitmap;",
">;"
}
.end annotation
# instance fields
.field private isLeftBottom:Z
.field private isLeftTop:Z
.field private isRightBottom:Z
.field private isRightTop:Z
.field private leftBottom_radius:F
.field private leftTop_radius:F
.field private mBitmapPool:Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool;
.field private rightBottom_radius:F
.field private rightTop_radius:F
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Landroid/content/Context;FFFF)V
.registers 9
.param p1, "context" # Landroid/content/Context;
.param p2, "leftTop_radius" # F
.param p3, "leftBottom_radius" # F
.param p4, "rightTop_radius" # F
.param p5, "rightBottom_radius" # F
.line 43
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 44
invoke-static {p1}, Lcom/bumptech/glide/Glide;->get(Landroid/content/Context;)Lcom/bumptech/glide/Glide;
move-result-object v0
invoke-virtual {v0}, Lcom/bumptech/glide/Glide;->getBitmapPool()Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool;
move-result-object v0
iput-object v0, p0, Lim/tpelyyftgw/ui/components/shadow/GlideRoundTransform;->mBitmapPool:Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool;
.line 45
iput p2, p0, Lim/tpelyyftgw/ui/components/shadow/GlideRoundTransform;->leftTop_radius:F
.line 46
const/4 v0, 0x1
const/4 v1, 0x0
cmpl-float v2, p2, v1
if-eqz v2, :cond_17
.line 47
iput-boolean v0, p0, Lim/tpelyyftgw/ui/components/shadow/GlideRoundTransform;->isLeftTop:Z
.line 49
:cond_17
iput p3, p0, Lim/tpelyyftgw/ui/components/shadow/GlideRoundTransform;->leftBottom_radius:F
.line 50
cmpl-float v2, p3, v1
if-eqz v2, :cond_1f
.line 51
iput-boolean v0, p0, Lim/tpelyyftgw/ui/components/shadow/GlideRoundTransform;->isLeftBottom:Z
.line 53
:cond_1f
iput p4, p0, Lim/tpelyyftgw/ui/components/shadow/GlideRoundTransform;->rightTop_radius:F
.line 54
cmpl-float v2, p4, v1
if-eqz v2, :cond_27
.line 55
iput-boolean v0, p0, Lim/tpelyyftgw/ui/components/shadow/GlideRoundTransform;->isRightTop:Z
.line 57
:cond_27
iput p5, p0, Lim/tpelyyftgw/ui/components/shadow/GlideRoundTransform;->rightBottom_radius:F
.line 58
cmpl-float v1, p5, v1
if-eqz v1, :cond_2f
.line 59
iput-boolean v0, p0, Lim/tpelyyftgw/ui/components/shadow/GlideRoundTransform;->isRightBottom:Z
.line 61
:cond_2f
return-void
.end method
# virtual methods
.method public transform(Landroid/content/Context;Lcom/bumptech/glide/load/engine/Resource;II)Lcom/bumptech/glide/load/engine/Resource;
.registers 21
.param p1, "context" # Landroid/content/Context;
.param p3, "outWidth" # I
.param p4, "outHeight" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/content/Context;",
"Lcom/bumptech/glide/load/engine/Resource<",
"Landroid/graphics/Bitmap;",
">;II)",
"Lcom/bumptech/glide/load/engine/Resource<",
"Landroid/graphics/Bitmap;",
">;"
}
.end annotation
.line 67
.local p2, "resource":Lcom/bumptech/glide/load/engine/Resource;, "Lcom/bumptech/glide/load/engine/Resource<Landroid/graphics/Bitmap;>;"
move-object/from16 v0, p0
move/from16 v1, p3
move/from16 v2, p4
invoke-interface/range {p2 .. p2}, Lcom/bumptech/glide/load/engine/Resource;->get()Ljava/lang/Object;
move-result-object v3
check-cast v3, Landroid/graphics/Bitmap;
.line 71
.local v3, "source":Landroid/graphics/Bitmap;
if-le v1, v2, :cond_33
.line 74
int-to-float v4, v2
int-to-float v5, v1
div-float/2addr v4, v5
.line 75
.local v4, "scale":F
invoke-virtual {v3}, Landroid/graphics/Bitmap;->getWidth()I
move-result v5
.line 77
.local v5, "finalWidth":I
invoke-virtual {v3}, Landroid/graphics/Bitmap;->getWidth()I
move-result v6
int-to-float v6, v6
mul-float v6, v6, v4
float-to-int v6, v6
.line 78
.local v6, "finalHeight":I
invoke-virtual {v3}, Landroid/graphics/Bitmap;->getHeight()I
move-result v7
if-le v6, v7, :cond_5f
.line 81
int-to-float v7, v1
int-to-float v8, v2
div-float/2addr v7, v8
.line 82
.end local v4 # "scale":F
.local v7, "scale":F
invoke-virtual {v3}, Landroid/graphics/Bitmap;->getHeight()I
move-result v6
.line 84
invoke-virtual {v3}, Landroid/graphics/Bitmap;->getHeight()I
move-result v4
int-to-float v4, v4
mul-float v4, v4, v7
float-to-int v5, v4
goto :goto_5f
.line 86
.end local v5 # "finalWidth":I
.end local v6 # "finalHeight":I
.end local v7 # "scale":F
:cond_33
if-ge v1, v2, :cond_5a
.line 89
int-to-float v4, v1
int-to-float v5, v2
div-float/2addr v4, v5
.line 90
.restart local v4 # "scale":F
invoke-virtual {v3}, Landroid/graphics/Bitmap;->getHeight()I
move-result v6
.line 92
.restart local v6 # "finalHeight":I
invoke-virtual {v3}, Landroid/graphics/Bitmap;->getHeight()I
move-result v5
int-to-float v5, v5
mul-float v5, v5, v4
float-to-int v5, v5
.line 93
.restart local v5 # "finalWidth":I
invoke-virtual {v3}, Landroid/graphics/Bitmap;->getWidth()I
move-result v7
if-le v5, v7, :cond_5f
.line 96
int-to-float v7, v2
int-to-float v8, v1
div-float/2addr v7, v8
.line 97
.end local v4 # "scale":F
.restart local v7 # "scale":F
invoke-virtual {v3}, Landroid/graphics/Bitmap;->getWidth()I
move-result v5
.line 98
invoke-virtual {v3}, Landroid/graphics/Bitmap;->getWidth()I
move-result v4
int-to-float v4, v4
mul-float v4, v4, v7
float-to-int v6, v4
goto :goto_5f
.line 102
.end local v5 # "finalWidth":I
.end local v6 # "finalHeight":I
.end local v7 # "scale":F
:cond_5a
invoke-virtual {v3}, Landroid/graphics/Bitmap;->getHeight()I
move-result v6
.line 103
.restart local v6 # "finalHeight":I
move v5, v6
.line 107
.restart local v5 # "finalWidth":I
:cond_5f
:goto_5f
iget v4, v0, Lim/tpelyyftgw/ui/components/shadow/GlideRoundTransform;->leftTop_radius:F
int-to-float v7, v6
int-to-float v8, v2
div-float/2addr v7, v8
mul-float v4, v4, v7
iput v4, v0, Lim/tpelyyftgw/ui/components/shadow/GlideRoundTransform;->leftTop_radius:F
.line 108
iget v4, v0, Lim/tpelyyftgw/ui/components/shadow/GlideRoundTransform;->leftBottom_radius:F
int-to-float v7, v6
int-to-float v8, v2
div-float/2addr v7, v8
mul-float v4, v4, v7
iput v4, v0, Lim/tpelyyftgw/ui/components/shadow/GlideRoundTransform;->leftBottom_radius:F
.line 109
iget v4, v0, Lim/tpelyyftgw/ui/components/shadow/GlideRoundTransform;->rightTop_radius:F
int-to-float v7, v6
int-to-float v8, v2
div-float/2addr v7, v8
mul-float v4, v4, v7
iput v4, v0, Lim/tpelyyftgw/ui/components/shadow/GlideRoundTransform;->rightTop_radius:F
.line 110
iget v4, v0, Lim/tpelyyftgw/ui/components/shadow/GlideRoundTransform;->rightBottom_radius:F
int-to-float v7, v6
int-to-float v8, v2
div-float/2addr v7, v8
mul-float v4, v4, v7
iput v4, v0, Lim/tpelyyftgw/ui/components/shadow/GlideRoundTransform;->rightBottom_radius:F
.line 111
iget-object v4, v0, Lim/tpelyyftgw/ui/components/shadow/GlideRoundTransform;->mBitmapPool:Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool;
sget-object v7, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
invoke-interface {v4, v5, v6, v7}, Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool;->get(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
move-result-object v4
.line 112
.local v4, "outBitmap":Landroid/graphics/Bitmap;
if-nez v4, :cond_93
.line 113
sget-object v7, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
invoke-static {v5, v6, v7}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
move-result-object v4
.line 116
:cond_93
new-instance v7, Landroid/graphics/Canvas;
invoke-direct {v7, v4}, Landroid/graphics/Canvas;-><init>(Landroid/graphics/Bitmap;)V
.line 117
.local v7, "canvas":Landroid/graphics/Canvas;
new-instance v8, Landroid/graphics/Paint;
invoke-direct {v8}, Landroid/graphics/Paint;-><init>()V
.line 119
.local v8, "paint":Landroid/graphics/Paint;
new-instance v9, Landroid/graphics/BitmapShader;
sget-object v10, Landroid/graphics/Shader$TileMode;->CLAMP:Landroid/graphics/Shader$TileMode;
sget-object v11, Landroid/graphics/Shader$TileMode;->CLAMP:Landroid/graphics/Shader$TileMode;
invoke-direct {v9, v3, v10, v11}, Landroid/graphics/BitmapShader;-><init>(Landroid/graphics/Bitmap;Landroid/graphics/Shader$TileMode;Landroid/graphics/Shader$TileMode;)V
.line 121
.local v9, "shader":Landroid/graphics/BitmapShader;
invoke-virtual {v3}, Landroid/graphics/Bitmap;->getWidth()I
move-result v10
sub-int/2addr v10, v5
const/4 v11, 0x2
div-int/2addr v10, v11
.line 122
.local v10, "width":I
invoke-virtual {v3}, Landroid/graphics/Bitmap;->getHeight()I
move-result v12
sub-int/2addr v12, v6
div-int/2addr v12, v11
.line 123
.local v12, "height":I
if-nez v10, :cond_b7
if-eqz v12, :cond_c6
.line 124
:cond_b7
new-instance v13, Landroid/graphics/Matrix;
invoke-direct {v13}, Landroid/graphics/Matrix;-><init>()V
.line 125
.local v13, "matrix":Landroid/graphics/Matrix;
neg-int v14, v10
int-to-float v14, v14
neg-int v15, v12
int-to-float v15, v15
invoke-virtual {v13, v14, v15}, Landroid/graphics/Matrix;->setTranslate(FF)V
.line 126
invoke-virtual {v9, v13}, Landroid/graphics/BitmapShader;->setLocalMatrix(Landroid/graphics/Matrix;)V
.line 129
.end local v13 # "matrix":Landroid/graphics/Matrix;
:cond_c6
invoke-virtual {v8, v9}, Landroid/graphics/Paint;->setShader(Landroid/graphics/Shader;)Landroid/graphics/Shader;
.line 130
const/4 v13, 0x1
invoke-virtual {v8, v13}, Landroid/graphics/Paint;->setAntiAlias(Z)V
.line 131
new-instance v14, Landroid/graphics/RectF;
invoke-virtual {v7}, Landroid/graphics/Canvas;->getWidth()I
move-result v15
int-to-float v15, v15
invoke-virtual {v7}, Landroid/graphics/Canvas;->getHeight()I
move-result v11
int-to-float v11, v11
const/4 v13, 0x0
invoke-direct {v14, v13, v13, v15, v11}, Landroid/graphics/RectF;-><init>(FFFF)V
move-object v11, v14
.line 133
.local v11, "rectF":Landroid/graphics/RectF;
const/16 v13, 0x8
new-array v13, v13, [F
const/4 v14, 0x0
iget v15, v0, Lim/tpelyyftgw/ui/components/shadow/GlideRoundTransform;->leftTop_radius:F
aput v15, v13, v14
const/4 v14, 0x1
aput v15, v13, v14
iget v14, v0, Lim/tpelyyftgw/ui/components/shadow/GlideRoundTransform;->rightTop_radius:F
const/4 v15, 0x2
aput v14, v13, v15
const/4 v15, 0x3
aput v14, v13, v15
const/4 v14, 0x4
iget v15, v0, Lim/tpelyyftgw/ui/components/shadow/GlideRoundTransform;->rightBottom_radius:F
aput v15, v13, v14
const/4 v14, 0x5
aput v15, v13, v14
const/4 v14, 0x6
iget v15, v0, Lim/tpelyyftgw/ui/components/shadow/GlideRoundTransform;->leftBottom_radius:F
aput v15, v13, v14
const/4 v14, 0x7
aput v15, v13, v14
.line 134
.local v13, "outerR":[F
new-instance v14, Landroid/graphics/Path;
invoke-direct {v14}, Landroid/graphics/Path;-><init>()V
.line 135
.local v14, "path":Landroid/graphics/Path;
sget-object v15, Landroid/graphics/Path$Direction;->CW:Landroid/graphics/Path$Direction;
invoke-virtual {v14, v11, v13, v15}, Landroid/graphics/Path;->addRoundRect(Landroid/graphics/RectF;[FLandroid/graphics/Path$Direction;)V
.line 136
invoke-virtual {v7, v14, v8}, Landroid/graphics/Canvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V
.line 138
iget-object v15, v0, Lim/tpelyyftgw/ui/components/shadow/GlideRoundTransform;->mBitmapPool:Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool;
invoke-static {v4, v15}, Lcom/bumptech/glide/load/resource/bitmap/BitmapResource;->obtain(Landroid/graphics/Bitmap;Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool;)Lcom/bumptech/glide/load/resource/bitmap/BitmapResource;
move-result-object v15
return-object v15
.end method
.method public updateDiskCacheKey(Ljava/security/MessageDigest;)V
.registers 2
.param p1, "messageDigest" # Ljava/security/MessageDigest;
.line 144
return-void
.end method