RoundDrawable.smali

.class public Lcom/sandboxol/center/view/widget/RoundDrawable;
.super Landroid/graphics/drawable/Drawable;
.source "RoundDrawable.java"


# instance fields
.field private bitmap:Landroid/graphics/Bitmap;

.field private bitmapShader:Landroid/graphics/BitmapShader;

.field private context:Landroid/content/Context;

.field private paint:Landroid/graphics/Paint;

.field private rectF:Landroid/graphics/RectF;

.field private roundX:F

.field private roundY:F


# direct methods
.method public constructor <init>(Landroid/content/Context;Landroid/graphics/Bitmap;II)V
    .registers 5

    .line 1
    invoke-direct {p0}, Landroid/graphics/drawable/Drawable;-><init>()V

    .line 2
    iput-object p1, p0, Lcom/sandboxol/center/view/widget/RoundDrawable;->context:Landroid/content/Context;

    .line 3
    iput-object p2, p0, Lcom/sandboxol/center/view/widget/RoundDrawable;->bitmap:Landroid/graphics/Bitmap;

    int-to-float p1, p3

    .line 4
    iput p1, p0, Lcom/sandboxol/center/view/widget/RoundDrawable;->roundX:F

    int-to-float p1, p4

    .line 5
    iput p1, p0, Lcom/sandboxol/center/view/widget/RoundDrawable;->roundY:F

    .line 6
    new-instance p1, Landroid/graphics/BitmapShader;

    sget-object p3, Landroid/graphics/Shader$TileMode;->CLAMP:Landroid/graphics/Shader$TileMode;

    invoke-direct {p1, p2, p3, p3}, Landroid/graphics/BitmapShader;-><init>(Landroid/graphics/Bitmap;Landroid/graphics/Shader$TileMode;Landroid/graphics/Shader$TileMode;)V

    iput-object p1, p0, Lcom/sandboxol/center/view/widget/RoundDrawable;->bitmapShader:Landroid/graphics/BitmapShader;

    .line 7
    new-instance p1, Landroid/graphics/Paint;

    invoke-direct {p1}, Landroid/graphics/Paint;-><init>()V

    iput-object p1, p0, Lcom/sandboxol/center/view/widget/RoundDrawable;->paint:Landroid/graphics/Paint;

    .line 8
    iget-object p1, p0, Lcom/sandboxol/center/view/widget/RoundDrawable;->paint:Landroid/graphics/Paint;

    const/4 p2, 0x1

    invoke-virtual {p1, p2}, Landroid/graphics/Paint;->setAntiAlias(Z)V

    .line 9
    iget-object p1, p0, Lcom/sandboxol/center/view/widget/RoundDrawable;->paint:Landroid/graphics/Paint;

    iget-object p2, p0, Lcom/sandboxol/center/view/widget/RoundDrawable;->bitmapShader:Landroid/graphics/BitmapShader;

    invoke-virtual {p1, p2}, Landroid/graphics/Paint;->setShader(Landroid/graphics/Shader;)Landroid/graphics/Shader;

    return-void
.end method


# virtual methods
.method public draw(Landroid/graphics/Canvas;)V
    .registers 6

    .line 1
    iget-object v0, p0, Lcom/sandboxol/center/view/widget/RoundDrawable;->rectF:Landroid/graphics/RectF;

    iget-object v1, p0, Lcom/sandboxol/center/view/widget/RoundDrawable;->context:Landroid/content/Context;

    iget v2, p0, Lcom/sandboxol/center/view/widget/RoundDrawable;->roundX:F

    invoke-static {v1, v2}, Lcom/sandboxol/common/utils/SizeUtil;->dp2px(Landroid/content/Context;F)F

    move-result v1

    float-to-int v1, v1

    int-to-float v1, v1

    iget-object v2, p0, Lcom/sandboxol/center/view/widget/RoundDrawable;->context:Landroid/content/Context;

    iget v3, p0, Lcom/sandboxol/center/view/widget/RoundDrawable;->roundY:F

    invoke-static {v2, v3}, Lcom/sandboxol/common/utils/SizeUtil;->dp2px(Landroid/content/Context;F)F

    move-result v2

    float-to-int v2, v2

    int-to-float v2, v2

    iget-object v3, p0, Lcom/sandboxol/center/view/widget/RoundDrawable;->paint:Landroid/graphics/Paint;

    invoke-virtual {p1, v0, v1, v2, v3}, Landroid/graphics/Canvas;->drawRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Paint;)V

    return-void
.end method

.method public getIntrinsicHeight()I
    .registers 2

    .line 1
    iget-object v0, p0, Lcom/sandboxol/center/view/widget/RoundDrawable;->bitmap:Landroid/graphics/Bitmap;

    invoke-virtual {v0}, Landroid/graphics/Bitmap;->getHeight()I

    move-result v0

    return v0
.end method

.method public getIntrinsicWidth()I
    .registers 2

    .line 1
    iget-object v0, p0, Lcom/sandboxol/center/view/widget/RoundDrawable;->bitmap:Landroid/graphics/Bitmap;

    invoke-virtual {v0}, Landroid/graphics/Bitmap;->getWidth()I

    move-result v0

    return v0
.end method

.method public getOpacity()I
    .registers 2

    const/4 v0, -0x3

    return v0
.end method

.method public setAlpha(I)V
    .registers 3

    .line 1
    iget-object v0, p0, Lcom/sandboxol/center/view/widget/RoundDrawable;->paint:Landroid/graphics/Paint;

    invoke-virtual {v0, p1}, Landroid/graphics/Paint;->setAlpha(I)V

    return-void
.end method

.method public setBounds(IIII)V
    .registers 6

    .line 1
    invoke-super {p0, p1, p2, p3, p4}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V

    .line 2
    new-instance v0, Landroid/graphics/RectF;

    int-to-float p1, p1

    int-to-float p2, p2

    int-to-float p3, p3

    int-to-float p4, p4

    invoke-direct {v0, p1, p2, p3, p4}, Landroid/graphics/RectF;-><init>(FFFF)V

    iput-object v0, p0, Lcom/sandboxol/center/view/widget/RoundDrawable;->rectF:Landroid/graphics/RectF;

    return-void
.end method

.method public setColorFilter(Landroid/graphics/ColorFilter;)V
    .registers 3

    .line 1
    iget-object v0, p0, Lcom/sandboxol/center/view/widget/RoundDrawable;->paint:Landroid/graphics/Paint;

    invoke-virtual {v0, p1}, Landroid/graphics/Paint;->setColorFilter(Landroid/graphics/ColorFilter;)Landroid/graphics/ColorFilter;

    return-void
.end method