ShadowDrawer.smali
.class public Lcom/hitomi/cslibrary/draw/ShadowDrawer;
.super Ljava/lang/Object;
# interfaces
.implements Lcom/hitomi/cslibrary/base/ShadowHandler;
# instance fields
.field private attr:Lcom/hitomi/cslibrary/base/CrazyShadowAttr;
.field private orignalDrawable:Landroid/graphics/drawable/Drawable;
.field private shadowDrawable:Landroid/graphics/drawable/Drawable;
.field private view:Landroid/view/View;
# direct methods
.method public constructor <init>(Lcom/hitomi/cslibrary/base/CrazyShadowAttr;)V
.registers 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/hitomi/cslibrary/draw/ShadowDrawer;->attr:Lcom/hitomi/cslibrary/base/CrazyShadowAttr;
return-void
.end method
# virtual methods
.method public hideShadow()V
.registers 3
iget-object v0, p0, Lcom/hitomi/cslibrary/draw/ShadowDrawer;->view:Landroid/view/View;
if-eqz v0, :cond_15
iget-object v0, p0, Lcom/hitomi/cslibrary/draw/ShadowDrawer;->view:Landroid/view/View;
invoke-virtual {v0}, Landroid/view/View;->getBackground()Landroid/graphics/drawable/Drawable;
move-result-object v0
instance-of v0, v0, Lcom/hitomi/cslibrary/draw/RoundRectShadowDrawable;
if-eqz v0, :cond_15
iget-object v0, p0, Lcom/hitomi/cslibrary/draw/ShadowDrawer;->view:Landroid/view/View;
iget-object v1, p0, Lcom/hitomi/cslibrary/draw/ShadowDrawer;->orignalDrawable:Landroid/graphics/drawable/Drawable;
invoke-virtual {v0, v1}, Landroid/view/View;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
:cond_15
return-void
.end method
.method public makeShadow(Landroid/view/View;)V
.registers 8
iput-object p1, p0, Lcom/hitomi/cslibrary/draw/ShadowDrawer;->view:Landroid/view/View;
invoke-virtual {p1}, Landroid/view/View;->getBackground()Landroid/graphics/drawable/Drawable;
move-result-object v0
iput-object v0, p0, Lcom/hitomi/cslibrary/draw/ShadowDrawer;->orignalDrawable:Landroid/graphics/drawable/Drawable;
iget-object v0, p0, Lcom/hitomi/cslibrary/draw/ShadowDrawer;->attr:Lcom/hitomi/cslibrary/base/CrazyShadowAttr;
invoke-virtual {v0}, Lcom/hitomi/cslibrary/base/CrazyShadowAttr;->getBackground()I
move-result v0
if-eqz v0, :cond_3b
iget-object v0, p0, Lcom/hitomi/cslibrary/draw/ShadowDrawer;->attr:Lcom/hitomi/cslibrary/base/CrazyShadowAttr;
invoke-virtual {v0}, Lcom/hitomi/cslibrary/base/CrazyShadowAttr;->getBackground()I
move-result v1
:goto_16
new-instance v0, Lcom/hitomi/cslibrary/draw/RoundRectShadowDrawable;
iget-object v2, p0, Lcom/hitomi/cslibrary/draw/ShadowDrawer;->attr:Lcom/hitomi/cslibrary/base/CrazyShadowAttr;
invoke-virtual {v2}, Lcom/hitomi/cslibrary/base/CrazyShadowAttr;->getColors()[I
move-result-object v2
iget-object v3, p0, Lcom/hitomi/cslibrary/draw/ShadowDrawer;->attr:Lcom/hitomi/cslibrary/base/CrazyShadowAttr;
invoke-virtual {v3}, Lcom/hitomi/cslibrary/base/CrazyShadowAttr;->getCorner()F
move-result v3
iget-object v4, p0, Lcom/hitomi/cslibrary/draw/ShadowDrawer;->attr:Lcom/hitomi/cslibrary/base/CrazyShadowAttr;
invoke-virtual {v4}, Lcom/hitomi/cslibrary/base/CrazyShadowAttr;->getShadowRadius()F
move-result v4
iget-object v5, p0, Lcom/hitomi/cslibrary/draw/ShadowDrawer;->attr:Lcom/hitomi/cslibrary/base/CrazyShadowAttr;
invoke-virtual {v5}, Lcom/hitomi/cslibrary/base/CrazyShadowAttr;->getShadowRadius()F
move-result v5
invoke-direct/range {v0 .. v5}, Lcom/hitomi/cslibrary/draw/RoundRectShadowDrawable;-><init>(I[IFFF)V
iput-object v0, p0, Lcom/hitomi/cslibrary/draw/ShadowDrawer;->shadowDrawable:Landroid/graphics/drawable/Drawable;
iget-object v0, p0, Lcom/hitomi/cslibrary/draw/ShadowDrawer;->shadowDrawable:Landroid/graphics/drawable/Drawable;
invoke-virtual {p1, v0}, Landroid/view/View;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
return-void
:cond_3b
invoke-virtual {p1}, Landroid/view/View;->getBackground()Landroid/graphics/drawable/Drawable;
move-result-object v0
check-cast v0, Landroid/graphics/drawable/ColorDrawable;
if-nez v0, :cond_45
const/4 v1, -0x1
goto :goto_16
:cond_45
invoke-virtual {v0}, Landroid/graphics/drawable/ColorDrawable;->getColor()I
move-result v1
goto :goto_16
.end method
.method public removeShadow()V
.registers 3
iget-object v0, p0, Lcom/hitomi/cslibrary/draw/ShadowDrawer;->view:Landroid/view/View;
if-eqz v0, :cond_15
iget-object v0, p0, Lcom/hitomi/cslibrary/draw/ShadowDrawer;->view:Landroid/view/View;
invoke-virtual {v0}, Landroid/view/View;->getBackground()Landroid/graphics/drawable/Drawable;
move-result-object v0
instance-of v0, v0, Lcom/hitomi/cslibrary/draw/RoundRectShadowDrawable;
if-eqz v0, :cond_15
iget-object v0, p0, Lcom/hitomi/cslibrary/draw/ShadowDrawer;->view:Landroid/view/View;
iget-object v1, p0, Lcom/hitomi/cslibrary/draw/ShadowDrawer;->orignalDrawable:Landroid/graphics/drawable/Drawable;
invoke-virtual {v0, v1}, Landroid/view/View;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
:cond_15
return-void
.end method
.method public showShadow()V
.registers 3
iget-object v0, p0, Lcom/hitomi/cslibrary/draw/ShadowDrawer;->view:Landroid/view/View;
if-eqz v0, :cond_8
iget-object v0, p0, Lcom/hitomi/cslibrary/draw/ShadowDrawer;->shadowDrawable:Landroid/graphics/drawable/Drawable;
if-nez v0, :cond_9
:cond_8
:goto_8
return-void
:cond_9
iget-object v0, p0, Lcom/hitomi/cslibrary/draw/ShadowDrawer;->view:Landroid/view/View;
iget-object v1, p0, Lcom/hitomi/cslibrary/draw/ShadowDrawer;->shadowDrawable:Landroid/graphics/drawable/Drawable;
invoke-virtual {v0, v1}, Landroid/view/View;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
goto :goto_8
.end method