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