UniInsetBoxShadowDrawable.smali

.class public Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;
.super Landroid/graphics/drawable/Drawable;
.source "UniInsetBoxShadowDrawable.java"


# static fields
.field private static final BOTTOM_TO_TOP:I = 0x3

.field private static final LEFT_TO_RIGHT:I = 0x0

.field private static final RIGHT_TO_LEFT:I = 0x2

.field private static final TOP_TO_BOTTOM:I = 0x1


# instance fields
.field private blurRadius:F

.field private height:F

.field private paint:Landroid/graphics/Paint;

.field private paths:[Landroid/graphics/Path;

.field private radii:[F

.field private shades:[Landroid/graphics/Shader;

.field private shadowColor:I

.field private shadowXSize:F

.field private shadowYSize:F

.field private width:F


# direct methods
.method public constructor <init>(IIFFFFI[F)V
    .registers 11
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0,
            0x0,
            0x0,
            0x0,
            0x0,
            0x0,
            0x0
        }
        names = {
            "viewWidth",
            "viewHeight",
            "dx",
            "dy",
            "blurRadius",
            "spread",
            "shadowColor",
            "radii"
        }
    .end annotation

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

    const/4 v0, 0x4

    new-array v1, v0, [Landroid/graphics/Shader;

    .line 52
    iput-object v1, p0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->shades:[Landroid/graphics/Shader;

    new-array v0, v0, [Landroid/graphics/Path;

    .line 53
    iput-object v0, p0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->paths:[Landroid/graphics/Path;

    .line 58
    iput p5, p0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->blurRadius:F

    .line 59
    iput p7, p0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->shadowColor:I

    int-to-float p5, p1

    const/high16 p7, 0x40000000    # 2.0f

    mul-float v0, p3, p7

    add-float/2addr p5, v0

    .line 61
    iput p5, p0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->width:F

    int-to-float p5, p2

    mul-float/2addr p7, p4

    add-float/2addr p5, p7

    .line 62
    iput p5, p0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->height:F

    add-float/2addr p3, p6

    .line 64
    iput p3, p0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->shadowXSize:F

    add-float/2addr p4, p6

    .line 65
    iput p4, p0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->shadowYSize:F

    .line 67
    iput-object p8, p0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->radii:[F

    const/4 p3, 0x0

    .line 69
    invoke-virtual {p0, p3, p3, p1, p2}, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->setBounds(IIII)V

    .line 70
    invoke-direct {p0}, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->prepare()V

    return-void
.end method

.method private prepare()V
    .registers 36

    move-object/from16 v0, p0

    .line 84
    new-instance v1, Landroid/graphics/PointF;

    const/4 v2, 0x0

    invoke-direct {v1, v2, v2}, Landroid/graphics/PointF;-><init>(FF)V

    .line 85
    new-instance v3, Landroid/graphics/PointF;

    iget v4, v0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->width:F

    invoke-direct {v3, v4, v2}, Landroid/graphics/PointF;-><init>(FF)V

    .line 86
    new-instance v2, Landroid/graphics/PointF;

    iget v4, v3, Landroid/graphics/PointF;->x:F

    iget v5, v0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->height:F

    invoke-direct {v2, v4, v5}, Landroid/graphics/PointF;-><init>(FF)V

    .line 87
    new-instance v4, Landroid/graphics/PointF;

    iget v5, v1, Landroid/graphics/PointF;->x:F

    iget v6, v2, Landroid/graphics/PointF;->y:F

    invoke-direct {v4, v5, v6}, Landroid/graphics/PointF;-><init>(FF)V

    .line 89
    new-instance v5, Landroid/graphics/PointF;

    iget v6, v0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->shadowXSize:F

    iget v7, v0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->shadowYSize:F

    invoke-direct {v5, v6, v7}, Landroid/graphics/PointF;-><init>(FF)V

    .line 90
    new-instance v6, Landroid/graphics/PointF;

    iget v7, v3, Landroid/graphics/PointF;->x:F

    iget v8, v0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->shadowXSize:F

    sub-float/2addr v7, v8

    iget v8, v5, Landroid/graphics/PointF;->y:F

    invoke-direct {v6, v7, v8}, Landroid/graphics/PointF;-><init>(FF)V

    .line 91
    new-instance v7, Landroid/graphics/PointF;

    iget v8, v6, Landroid/graphics/PointF;->x:F

    iget v9, v2, Landroid/graphics/PointF;->y:F

    iget v10, v0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->shadowYSize:F

    sub-float/2addr v9, v10

    invoke-direct {v7, v8, v9}, Landroid/graphics/PointF;-><init>(FF)V

    .line 92
    new-instance v8, Landroid/graphics/PointF;

    iget v9, v5, Landroid/graphics/PointF;->x:F

    iget v10, v7, Landroid/graphics/PointF;->y:F

    invoke-direct {v8, v9, v10}, Landroid/graphics/PointF;-><init>(FF)V

    .line 94
    new-instance v9, Landroid/graphics/LinearGradient;

    iget v10, v5, Landroid/graphics/PointF;->x:F

    iget v11, v0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->blurRadius:F

    sub-float v12, v10, v11

    iget v13, v5, Landroid/graphics/PointF;->y:F

    iget v14, v5, Landroid/graphics/PointF;->x:F

    iget v15, v5, Landroid/graphics/PointF;->y:F

    iget v10, v0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->shadowColor:I

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

    const/16 v17, 0x0

    move-object v11, v9

    move/from16 v16, v10

    invoke-direct/range {v11 .. v18}, Landroid/graphics/LinearGradient;-><init>(FFFFIILandroid/graphics/Shader$TileMode;)V

    .line 95
    new-instance v10, Landroid/graphics/LinearGradient;

    iget v11, v5, Landroid/graphics/PointF;->x:F

    iget v12, v5, Landroid/graphics/PointF;->y:F

    iget v13, v0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->blurRadius:F

    sub-float v21, v12, v13

    iget v12, v5, Landroid/graphics/PointF;->x:F

    iget v13, v5, Landroid/graphics/PointF;->y:F

    iget v14, v0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->shadowColor:I

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

    const/16 v25, 0x0

    move-object/from16 v19, v10

    move/from16 v20, v11

    move/from16 v22, v12

    move/from16 v23, v13

    move/from16 v24, v14

    invoke-direct/range {v19 .. v26}, Landroid/graphics/LinearGradient;-><init>(FFFFIILandroid/graphics/Shader$TileMode;)V

    .line 96
    new-instance v11, Landroid/graphics/LinearGradient;

    iget v12, v7, Landroid/graphics/PointF;->x:F

    iget v13, v0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->blurRadius:F

    add-float v28, v12, v13

    iget v12, v7, Landroid/graphics/PointF;->y:F

    iget v13, v7, Landroid/graphics/PointF;->x:F

    iget v14, v7, Landroid/graphics/PointF;->y:F

    iget v15, v0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->shadowColor:I

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

    const/16 v33, 0x0

    move-object/from16 v27, v11

    move/from16 v29, v12

    move/from16 v30, v13

    move/from16 v31, v14

    move/from16 v32, v15

    invoke-direct/range {v27 .. v34}, Landroid/graphics/LinearGradient;-><init>(FFFFIILandroid/graphics/Shader$TileMode;)V

    .line 97
    new-instance v12, Landroid/graphics/LinearGradient;

    iget v13, v7, Landroid/graphics/PointF;->x:F

    iget v14, v7, Landroid/graphics/PointF;->y:F

    iget v15, v0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->blurRadius:F

    add-float v18, v14, v15

    iget v14, v7, Landroid/graphics/PointF;->x:F

    iget v15, v7, Landroid/graphics/PointF;->y:F

    move-object/from16 v24, v7

    iget v7, v0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->shadowColor:I

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

    const/16 v22, 0x0

    move-object/from16 v16, v12

    move/from16 v17, v13

    move/from16 v19, v14

    move/from16 v20, v15

    move/from16 v21, v7

    invoke-direct/range {v16 .. v23}, Landroid/graphics/LinearGradient;-><init>(FFFFIILandroid/graphics/Shader$TileMode;)V

    .line 99
    iget-object v7, v0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->shades:[Landroid/graphics/Shader;

    const/4 v13, 0x0

    aput-object v9, v7, v13

    const/4 v9, 0x1

    .line 100
    aput-object v10, v7, v9

    const/4 v10, 0x2

    .line 101
    aput-object v11, v7, v10

    const/4 v11, 0x3

    .line 102
    aput-object v12, v7, v11

    .line 104
    new-instance v7, Landroid/graphics/Path;

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

    .line 105
    iget v12, v1, Landroid/graphics/PointF;->x:F

    iget v14, v1, Landroid/graphics/PointF;->y:F

    invoke-virtual {v7, v12, v14}, Landroid/graphics/Path;->moveTo(FF)V

    .line 106
    iget v12, v5, Landroid/graphics/PointF;->x:F

    iget v14, v5, Landroid/graphics/PointF;->y:F

    invoke-virtual {v7, v12, v14}, Landroid/graphics/Path;->lineTo(FF)V

    .line 107
    iget v12, v8, Landroid/graphics/PointF;->x:F

    iget v14, v8, Landroid/graphics/PointF;->y:F

    invoke-virtual {v7, v12, v14}, Landroid/graphics/Path;->lineTo(FF)V

    .line 108
    iget v12, v4, Landroid/graphics/PointF;->x:F

    iget v14, v4, Landroid/graphics/PointF;->y:F

    invoke-virtual {v7, v12, v14}, Landroid/graphics/Path;->lineTo(FF)V

    .line 109
    invoke-virtual {v7}, Landroid/graphics/Path;->close()V

    .line 111
    new-instance v12, Landroid/graphics/Path;

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

    .line 112
    iget v14, v1, Landroid/graphics/PointF;->x:F

    iget v1, v1, Landroid/graphics/PointF;->y:F

    invoke-virtual {v12, v14, v1}, Landroid/graphics/Path;->moveTo(FF)V

    .line 113
    iget v1, v3, Landroid/graphics/PointF;->x:F

    iget v14, v3, Landroid/graphics/PointF;->y:F

    invoke-virtual {v12, v1, v14}, Landroid/graphics/Path;->lineTo(FF)V

    .line 114
    iget v1, v6, Landroid/graphics/PointF;->x:F

    iget v14, v6, Landroid/graphics/PointF;->y:F

    invoke-virtual {v12, v1, v14}, Landroid/graphics/Path;->lineTo(FF)V

    .line 115
    iget v1, v5, Landroid/graphics/PointF;->x:F

    iget v5, v5, Landroid/graphics/PointF;->y:F

    invoke-virtual {v12, v1, v5}, Landroid/graphics/Path;->lineTo(FF)V

    .line 116
    invoke-virtual {v12}, Landroid/graphics/Path;->close()V

    .line 118
    new-instance v1, Landroid/graphics/Path;

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

    .line 119
    iget v5, v3, Landroid/graphics/PointF;->x:F

    iget v3, v3, Landroid/graphics/PointF;->y:F

    invoke-virtual {v1, v5, v3}, Landroid/graphics/Path;->moveTo(FF)V

    .line 120
    iget v3, v2, Landroid/graphics/PointF;->x:F

    iget v5, v2, Landroid/graphics/PointF;->y:F

    invoke-virtual {v1, v3, v5}, Landroid/graphics/Path;->lineTo(FF)V

    move-object/from16 v3, v24

    .line 121
    iget v5, v3, Landroid/graphics/PointF;->x:F

    iget v14, v3, Landroid/graphics/PointF;->y:F

    invoke-virtual {v1, v5, v14}, Landroid/graphics/Path;->lineTo(FF)V

    .line 122
    iget v5, v6, Landroid/graphics/PointF;->x:F

    iget v6, v6, Landroid/graphics/PointF;->y:F

    invoke-virtual {v1, v5, v6}, Landroid/graphics/Path;->lineTo(FF)V

    .line 123
    invoke-virtual {v1}, Landroid/graphics/Path;->close()V

    .line 125
    new-instance v5, Landroid/graphics/Path;

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

    .line 126
    iget v6, v4, Landroid/graphics/PointF;->x:F

    iget v4, v4, Landroid/graphics/PointF;->y:F

    invoke-virtual {v5, v6, v4}, Landroid/graphics/Path;->moveTo(FF)V

    .line 127
    iget v4, v2, Landroid/graphics/PointF;->x:F

    iget v2, v2, Landroid/graphics/PointF;->y:F

    invoke-virtual {v5, v4, v2}, Landroid/graphics/Path;->lineTo(FF)V

    .line 128
    iget v2, v3, Landroid/graphics/PointF;->x:F

    iget v3, v3, Landroid/graphics/PointF;->y:F

    invoke-virtual {v5, v2, v3}, Landroid/graphics/Path;->lineTo(FF)V

    .line 129
    iget v2, v8, Landroid/graphics/PointF;->x:F

    iget v3, v8, Landroid/graphics/PointF;->y:F

    invoke-virtual {v5, v2, v3}, Landroid/graphics/Path;->lineTo(FF)V

    .line 130
    invoke-virtual {v5}, Landroid/graphics/Path;->close()V

    .line 132
    iget-object v2, v0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->paths:[Landroid/graphics/Path;

    aput-object v7, v2, v13

    .line 133
    aput-object v12, v2, v9

    .line 134
    aput-object v1, v2, v10

    .line 135
    aput-object v5, v2, v11

    .line 137
    new-instance v1, Landroid/graphics/Paint;

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

    iput-object v1, v0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->paint:Landroid/graphics/Paint;

    .line 138
    invoke-virtual {v1, v9}, Landroid/graphics/Paint;->setAntiAlias(Z)V

    .line 139
    iget-object v1, v0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->paint:Landroid/graphics/Paint;

    sget-object v2, Landroid/graphics/Paint$Style;->FILL:Landroid/graphics/Paint$Style;

    invoke-virtual {v1, v2}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V

    .line 140
    iget-object v1, v0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->paint:Landroid/graphics/Paint;

    iget v2, v0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->shadowColor:I

    invoke-virtual {v1, v2}, Landroid/graphics/Paint;->setColor(I)V

    return-void
.end method


# virtual methods
.method public draw(Landroid/graphics/Canvas;)V
    .registers 7
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "canvas"
        }
    .end annotation

    .line 145
    invoke-virtual {p1}, Landroid/graphics/Canvas;->getClipBounds()Landroid/graphics/Rect;

    move-result-object v0

    .line 146
    new-instance v1, Landroid/graphics/Path;

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

    .line 147
    new-instance v2, Landroid/graphics/RectF;

    invoke-direct {v2, v0}, Landroid/graphics/RectF;-><init>(Landroid/graphics/Rect;)V

    .line 148
    iget-object v3, p0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->radii:[F

    sget-object v4, Landroid/graphics/Path$Direction;->CCW:Landroid/graphics/Path$Direction;

    invoke-virtual {v1, v2, v3, v4}, Landroid/graphics/Path;->addRoundRect(Landroid/graphics/RectF;[FLandroid/graphics/Path$Direction;)V

    .line 149
    invoke-virtual {p1, v1}, Landroid/graphics/Canvas;->clipPath(Landroid/graphics/Path;)Z

    .line 153
    iget v1, v0, Landroid/graphics/Rect;->left:I

    int-to-float v1, v1

    iget v0, v0, Landroid/graphics/Rect;->top:I

    int-to-float v0, v0

    invoke-virtual {p1, v1, v0}, Landroid/graphics/Canvas;->translate(FF)V

    const/4 v0, 0x0

    :goto_22
    const/4 v1, 0x4

    if-ge v0, v1, :cond_3a

    .line 156
    iget-object v1, p0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->shades:[Landroid/graphics/Shader;

    aget-object v1, v1, v0

    .line 157
    iget-object v2, p0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->paths:[Landroid/graphics/Path;

    aget-object v2, v2, v0

    .line 158
    iget-object v3, p0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->paint:Landroid/graphics/Paint;

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

    .line 159
    iget-object v1, p0, Lio/dcloud/feature/uniapp/ui/shadow/UniInsetBoxShadowDrawable;->paint:Landroid/graphics/Paint;

    invoke-virtual {p1, v2, v1}, Landroid/graphics/Canvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V

    add-int/lit8 v0, v0, 0x1

    goto :goto_22

    :cond_3a
    return-void
.end method

.method public getOpacity()I
    .registers 2

    const/4 v0, -0x1

    return v0
.end method

.method public setAlpha(I)V
    .registers 2
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "alpha"
        }
    .end annotation

    return-void
.end method

.method public setColorFilter(Landroid/graphics/ColorFilter;)V
    .registers 2
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "colorFilter"
        }
    .end annotation

    return-void
.end method