BaseWidget.smali
.class abstract Lcom/taobao/weex/ui/flat/widget/BaseWidget;
.super Ljava/lang/Object;
.source "BaseWidget.java"
# interfaces
.implements Lcom/taobao/weex/ui/flat/widget/Widget;
# instance fields
.field private backgroundBorder:Lcom/taobao/weex/ui/view/border/BorderDrawable;
.field private borderBox:Landroid/graphics/Rect;
.field private bottomOffset:I
.field private final context:Lcom/taobao/weex/ui/flat/FlatGUIContext;
.field private leftOffset:I
.field private offsetOfContainer:Landroid/graphics/Point;
.field private rightOffset:I
.field private topOffset:I
# direct methods
.method constructor <init>(Lcom/taobao/weex/ui/flat/FlatGUIContext;)V
.registers 3
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"context"
}
.end annotation
.line 47
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 42
new-instance v0, Landroid/graphics/Rect;
invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V
iput-object v0, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->borderBox:Landroid/graphics/Rect;
.line 43
new-instance v0, Landroid/graphics/Point;
invoke-direct {v0}, Landroid/graphics/Point;-><init>()V
iput-object v0, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->offsetOfContainer:Landroid/graphics/Point;
.line 48
iput-object p1, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->context:Lcom/taobao/weex/ui/flat/FlatGUIContext;
return-void
.end method
# virtual methods
.method public final draw(Landroid/graphics/Canvas;)V
.registers 7
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"canvas"
}
.end annotation
.line 102
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
.line 103
invoke-static {p0, p1}, Lcom/taobao/weex/utils/WXViewUtils;->clipCanvasWithinBorderBox(Lcom/taobao/weex/ui/flat/widget/Widget;Landroid/graphics/Canvas;)V
.line 104
iget-object v0, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->borderBox:Landroid/graphics/Rect;
iget v0, v0, Landroid/graphics/Rect;->left:I
int-to-float v0, v0
iget-object v1, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->borderBox:Landroid/graphics/Rect;
iget v1, v1, Landroid/graphics/Rect;->top:I
int-to-float v1, v1
invoke-virtual {p1, v0, v1}, Landroid/graphics/Canvas;->translate(FF)V
.line 105
iget-object v0, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->backgroundBorder:Lcom/taobao/weex/ui/view/border/BorderDrawable;
if-eqz v0, :cond_1a
.line 106
invoke-virtual {v0, p1}, Lcom/taobao/weex/ui/view/border/BorderDrawable;->draw(Landroid/graphics/Canvas;)V
.line 108
:cond_1a
iget v0, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->leftOffset:I
iget v1, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->topOffset:I
iget-object v2, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->borderBox:Landroid/graphics/Rect;
invoke-virtual {v2}, Landroid/graphics/Rect;->width()I
move-result v2
iget v3, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->rightOffset:I
sub-int/2addr v2, v3
iget-object v3, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->borderBox:Landroid/graphics/Rect;
invoke-virtual {v3}, Landroid/graphics/Rect;->height()I
move-result v3
iget v4, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->bottomOffset:I
sub-int/2addr v3, v4
invoke-virtual {p1, v0, v1, v2, v3}, Landroid/graphics/Canvas;->clipRect(IIII)Z
.line 109
iget v0, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->leftOffset:I
int-to-float v0, v0
iget v1, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->topOffset:I
int-to-float v1, v1
invoke-virtual {p1, v0, v1}, Landroid/graphics/Canvas;->translate(FF)V
.line 110
invoke-virtual {p0, p1}, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->onDraw(Landroid/graphics/Canvas;)V
.line 111
invoke-virtual {p1}, Landroid/graphics/Canvas;->restore()V
return-void
.end method
.method public final getBackgroundAndBorder()Lcom/taobao/weex/ui/view/border/BorderDrawable;
.registers 2
.line 91
iget-object v0, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->backgroundBorder:Lcom/taobao/weex/ui/view/border/BorderDrawable;
return-object v0
.end method
.method public final getBorderBox()Landroid/graphics/Rect;
.registers 2
.line 97
iget-object v0, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->borderBox:Landroid/graphics/Rect;
return-object v0
.end method
.method public final getLocInFlatContainer()Landroid/graphics/Point;
.registers 2
.line 85
iget-object v0, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->offsetOfContainer:Landroid/graphics/Point;
return-object v0
.end method
.method protected invalidate()V
.registers 4
.line 115
new-instance v0, Landroid/graphics/Rect;
iget-object v1, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->borderBox:Landroid/graphics/Rect;
invoke-direct {v0, v1}, Landroid/graphics/Rect;-><init>(Landroid/graphics/Rect;)V
.line 116
iget-object v1, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->offsetOfContainer:Landroid/graphics/Point;
iget v1, v1, Landroid/graphics/Point;->x:I
iget-object v2, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->offsetOfContainer:Landroid/graphics/Point;
iget v2, v2, Landroid/graphics/Point;->y:I
invoke-virtual {v0, v1, v2}, Landroid/graphics/Rect;->offset(II)V
.line 118
iget-object v1, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->context:Lcom/taobao/weex/ui/flat/FlatGUIContext;
if-eqz v1, :cond_1f
invoke-virtual {v1, p0}, Lcom/taobao/weex/ui/flat/FlatGUIContext;->getWidgetContainerView(Lcom/taobao/weex/ui/flat/widget/Widget;)Landroid/view/View;
move-result-object v1
if-eqz v1, :cond_1f
.line 119
invoke-virtual {v1, v0}, Landroid/view/View;->invalidate(Landroid/graphics/Rect;)V
:cond_1f
return-void
.end method
.method public setBackgroundAndBorder(Lcom/taobao/weex/ui/view/border/BorderDrawable;)V
.registers 5
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"backgroundBorder"
}
.end annotation
.line 74
iput-object p1, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->backgroundBorder:Lcom/taobao/weex/ui/view/border/BorderDrawable;
.line 75
new-instance v0, Landroid/graphics/Rect;
iget-object v1, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->borderBox:Landroid/graphics/Rect;
invoke-direct {v0, v1}, Landroid/graphics/Rect;-><init>(Landroid/graphics/Rect;)V
.line 76
iget-object v1, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->borderBox:Landroid/graphics/Rect;
iget v1, v1, Landroid/graphics/Rect;->left:I
neg-int v1, v1
iget-object v2, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->borderBox:Landroid/graphics/Rect;
iget v2, v2, Landroid/graphics/Rect;->top:I
neg-int v2, v2
invoke-virtual {v0, v1, v2}, Landroid/graphics/Rect;->offset(II)V
.line 77
invoke-virtual {p1, v0}, Lcom/taobao/weex/ui/view/border/BorderDrawable;->setBounds(Landroid/graphics/Rect;)V
.line 78
invoke-virtual {p0, p1}, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->setCallback(Landroid/graphics/drawable/Drawable;)V
.line 79
invoke-virtual {p0}, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->invalidate()V
return-void
.end method
.method protected setCallback(Landroid/graphics/drawable/Drawable;)V
.registers 3
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"drawable"
}
.end annotation
.line 125
iget-object v0, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->context:Lcom/taobao/weex/ui/flat/FlatGUIContext;
if-eqz v0, :cond_d
invoke-virtual {v0, p0}, Lcom/taobao/weex/ui/flat/FlatGUIContext;->getWidgetContainerView(Lcom/taobao/weex/ui/flat/widget/Widget;)Landroid/view/View;
move-result-object v0
if-eqz v0, :cond_d
.line 126
invoke-virtual {p1, v0}, Landroid/graphics/drawable/Drawable;->setCallback(Landroid/graphics/drawable/Drawable$Callback;)V
:cond_d
return-void
.end method
.method public setContentBox(IIII)V
.registers 5
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0,
0x0,
0x0
}
names = {
"leftOffset",
"topOffset",
"rightOffset",
"bottomOffset"
}
.end annotation
.line 63
iput p1, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->leftOffset:I
.line 64
iput p2, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->topOffset:I
.line 65
iput p3, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->rightOffset:I
.line 66
iput p4, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->bottomOffset:I
.line 67
invoke-virtual {p0}, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->invalidate()V
return-void
.end method
.method public setLayout(IIIIIILandroid/graphics/Point;)V
.registers 8
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0,
0x0,
0x0,
0x0,
0x0,
0x0
}
names = {
"width",
"height",
"left",
"right",
"top",
"bottom",
"offset"
}
.end annotation
.line 53
iput-object p7, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->offsetOfContainer:Landroid/graphics/Point;
.line 54
iget-object p4, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->borderBox:Landroid/graphics/Rect;
add-int/2addr p1, p3
add-int/2addr p2, p5
invoke-virtual {p4, p3, p5, p1, p2}, Landroid/graphics/Rect;->set(IIII)V
.line 55
iget-object p1, p0, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->backgroundBorder:Lcom/taobao/weex/ui/view/border/BorderDrawable;
if-eqz p1, :cond_10
.line 56
invoke-virtual {p0, p1}, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->setBackgroundAndBorder(Lcom/taobao/weex/ui/view/border/BorderDrawable;)V
.line 58
:cond_10
invoke-virtual {p0}, Lcom/taobao/weex/ui/flat/widget/BaseWidget;->invalidate()V
return-void
.end method