ArrowDrawable.smali
.class public Lcom/scwang/smartrefresh/layout/internal/ArrowDrawable;
.super Lcom/scwang/smartrefresh/layout/internal/PaintDrawable;
.source "ArrowDrawable.java"
# instance fields
.field private mHeight:I
.field private mPath:Landroid/graphics/Path;
.field private mWidth:I
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>()V
.registers 2
.line 13
invoke-direct {p0}, Lcom/scwang/smartrefresh/layout/internal/PaintDrawable;-><init>()V
.line 15
const/4 v0, 0x0
iput v0, p0, Lcom/scwang/smartrefresh/layout/internal/ArrowDrawable;->mWidth:I
.line 16
iput v0, p0, Lcom/scwang/smartrefresh/layout/internal/ArrowDrawable;->mHeight:I
.line 17
new-instance v0, Landroid/graphics/Path;
invoke-direct {v0}, Landroid/graphics/Path;-><init>()V
iput-object v0, p0, Lcom/scwang/smartrefresh/layout/internal/ArrowDrawable;->mPath:Landroid/graphics/Path;
return-void
.end method
# virtual methods
.method public draw(Landroid/graphics/Canvas;)V
.registers 15
.param p1, "canvas" # Landroid/graphics/Canvas;
.line 21
move-object v0, p0
.line 22
.local v0, "drawable":Landroid/graphics/drawable/Drawable;
invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getBounds()Landroid/graphics/Rect;
move-result-object v1
.line 23
.local v1, "bounds":Landroid/graphics/Rect;
invoke-virtual {v1}, Landroid/graphics/Rect;->width()I
move-result v2
.line 24
.local v2, "width":I
invoke-virtual {v1}, Landroid/graphics/Rect;->height()I
move-result v3
.line 25
.local v3, "height":I
iget v4, p0, Lcom/scwang/smartrefresh/layout/internal/ArrowDrawable;->mWidth:I
if-ne v4, v2, :cond_15
iget v4, p0, Lcom/scwang/smartrefresh/layout/internal/ArrowDrawable;->mHeight:I
if-eq v4, v3, :cond_8d
.line 26
:cond_15
mul-int/lit8 v4, v2, 0x1e
div-int/lit16 v4, v4, 0xe1
.line 27
.local v4, "lineWidth":I
iget-object v5, p0, Lcom/scwang/smartrefresh/layout/internal/ArrowDrawable;->mPath:Landroid/graphics/Path;
invoke-virtual {v5}, Landroid/graphics/Path;->reset()V
.line 29
int-to-float v5, v4
const v6, 0x3f3504f3
mul-float v5, v5, v6
.line 30
.local v5, "vector1":F
int-to-float v7, v4
div-float/2addr v7, v6
.line 31
.local v7, "vector2":F
iget-object v6, p0, Lcom/scwang/smartrefresh/layout/internal/ArrowDrawable;->mPath:Landroid/graphics/Path;
int-to-float v8, v2
const/high16 v9, 0x40000000 # 2.0f
div-float/2addr v8, v9
int-to-float v10, v3
invoke-virtual {v6, v8, v10}, Landroid/graphics/Path;->moveTo(FF)V
.line 32
iget-object v6, p0, Lcom/scwang/smartrefresh/layout/internal/ArrowDrawable;->mPath:Landroid/graphics/Path;
int-to-float v8, v3
div-float/2addr v8, v9
const/4 v10, 0x0
invoke-virtual {v6, v10, v8}, Landroid/graphics/Path;->lineTo(FF)V
.line 33
iget-object v6, p0, Lcom/scwang/smartrefresh/layout/internal/ArrowDrawable;->mPath:Landroid/graphics/Path;
int-to-float v8, v3
div-float/2addr v8, v9
sub-float/2addr v8, v5
invoke-virtual {v6, v5, v8}, Landroid/graphics/Path;->lineTo(FF)V
.line 34
iget-object v6, p0, Lcom/scwang/smartrefresh/layout/internal/ArrowDrawable;->mPath:Landroid/graphics/Path;
int-to-float v8, v2
div-float/2addr v8, v9
int-to-float v11, v4
div-float/2addr v11, v9
sub-float/2addr v8, v11
int-to-float v11, v3
sub-float/2addr v11, v7
int-to-float v12, v4
div-float/2addr v12, v9
sub-float/2addr v11, v12
invoke-virtual {v6, v8, v11}, Landroid/graphics/Path;->lineTo(FF)V
.line 35
iget-object v6, p0, Lcom/scwang/smartrefresh/layout/internal/ArrowDrawable;->mPath:Landroid/graphics/Path;
int-to-float v8, v2
div-float/2addr v8, v9
int-to-float v11, v4
div-float/2addr v11, v9
sub-float/2addr v8, v11
invoke-virtual {v6, v8, v10}, Landroid/graphics/Path;->lineTo(FF)V
.line 36
iget-object v6, p0, Lcom/scwang/smartrefresh/layout/internal/ArrowDrawable;->mPath:Landroid/graphics/Path;
int-to-float v8, v2
div-float/2addr v8, v9
int-to-float v11, v4
div-float/2addr v11, v9
add-float/2addr v8, v11
invoke-virtual {v6, v8, v10}, Landroid/graphics/Path;->lineTo(FF)V
.line 37
iget-object v6, p0, Lcom/scwang/smartrefresh/layout/internal/ArrowDrawable;->mPath:Landroid/graphics/Path;
int-to-float v8, v2
div-float/2addr v8, v9
int-to-float v10, v4
div-float/2addr v10, v9
add-float/2addr v8, v10
int-to-float v10, v3
sub-float/2addr v10, v7
int-to-float v11, v4
div-float/2addr v11, v9
sub-float/2addr v10, v11
invoke-virtual {v6, v8, v10}, Landroid/graphics/Path;->lineTo(FF)V
.line 38
iget-object v6, p0, Lcom/scwang/smartrefresh/layout/internal/ArrowDrawable;->mPath:Landroid/graphics/Path;
int-to-float v8, v2
sub-float/2addr v8, v5
int-to-float v10, v3
div-float/2addr v10, v9
sub-float/2addr v10, v5
invoke-virtual {v6, v8, v10}, Landroid/graphics/Path;->lineTo(FF)V
.line 39
iget-object v6, p0, Lcom/scwang/smartrefresh/layout/internal/ArrowDrawable;->mPath:Landroid/graphics/Path;
int-to-float v8, v2
int-to-float v10, v3
div-float/2addr v10, v9
invoke-virtual {v6, v8, v10}, Landroid/graphics/Path;->lineTo(FF)V
.line 40
iget-object v6, p0, Lcom/scwang/smartrefresh/layout/internal/ArrowDrawable;->mPath:Landroid/graphics/Path;
invoke-virtual {v6}, Landroid/graphics/Path;->close()V
.line 42
iput v2, p0, Lcom/scwang/smartrefresh/layout/internal/ArrowDrawable;->mWidth:I
.line 43
iput v3, p0, Lcom/scwang/smartrefresh/layout/internal/ArrowDrawable;->mHeight:I
.line 45
.end local v4 # "lineWidth":I
.end local v5 # "vector1":F
.end local v7 # "vector2":F
:cond_8d
iget-object v4, p0, Lcom/scwang/smartrefresh/layout/internal/ArrowDrawable;->mPath:Landroid/graphics/Path;
iget-object v5, p0, Lcom/scwang/smartrefresh/layout/internal/ArrowDrawable;->mPaint:Landroid/graphics/Paint;
invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V
.line 46
return-void
.end method