.class public Lcom/example/linechartlibrary/ChartComputator; .super Ljava/lang/Object; .source "ChartComputator.java" # static fields .field protected static final DEFAULT_MAXIMUM_ZOOM:F = 20.0f .field private static final TAG:Ljava/lang/String; = "ChartComputator" # instance fields .field protected chartHeight:I .field protected chartWidth:I .field protected contentRectMinusAllMargins:Landroid/graphics/Rect; .field protected contentRectMinusAxesMargins:Landroid/graphics/Rect; .field protected currentViewport:Lcom/example/linechartlibrary/Viewport; .field protected maxContentRect:Landroid/graphics/Rect; .field protected maxViewport:Lcom/example/linechartlibrary/Viewport; .field protected maxZoom:F .field protected minViewportHeight:F .field protected minViewportWidth:F .field protected viewportChangeListener:Lcom/example/linechartlibrary/ViewportChangeListener; # direct methods .method public constructor ()V .registers 2 .line 14 invoke-direct {p0}, Ljava/lang/Object;->()V const/high16 v0, 0x41a00000 # 20.0f .line 20 iput v0, p0, Lcom/example/linechartlibrary/ChartComputator;->maxZoom:F .line 24 new-instance v0, Landroid/graphics/Rect; invoke-direct {v0}, Landroid/graphics/Rect;->()V iput-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAllMargins:Landroid/graphics/Rect; .line 25 new-instance v0, Landroid/graphics/Rect; invoke-direct {v0}, Landroid/graphics/Rect;->()V iput-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAxesMargins:Landroid/graphics/Rect; .line 26 new-instance v0, Landroid/graphics/Rect; invoke-direct {v0}, Landroid/graphics/Rect;->()V iput-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->maxContentRect:Landroid/graphics/Rect; .line 32 new-instance v0, Lcom/example/linechartlibrary/Viewport; invoke-direct {v0}, Lcom/example/linechartlibrary/Viewport;->()V iput-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->currentViewport:Lcom/example/linechartlibrary/Viewport; .line 33 new-instance v0, Lcom/example/linechartlibrary/Viewport; invoke-direct {v0}, Lcom/example/linechartlibrary/Viewport;->()V iput-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->maxViewport:Lcom/example/linechartlibrary/Viewport; .line 40 new-instance v0, Lcom/example/linechartlibrary/DummyVieportChangeListener; invoke-direct {v0}, Lcom/example/linechartlibrary/DummyVieportChangeListener;->()V iput-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->viewportChangeListener:Lcom/example/linechartlibrary/ViewportChangeListener; return-void .end method .method private computeMinimumWidthAndHeight()V .registers 3 .line 346 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->maxViewport:Lcom/example/linechartlibrary/Viewport; invoke-virtual {v0}, Lcom/example/linechartlibrary/Viewport;->width()F move-result v0 iget v1, p0, Lcom/example/linechartlibrary/ChartComputator;->maxZoom:F div-float/2addr v0, v1 iput v0, p0, Lcom/example/linechartlibrary/ChartComputator;->minViewportWidth:F .line 347 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->maxViewport:Lcom/example/linechartlibrary/Viewport; invoke-virtual {v0}, Lcom/example/linechartlibrary/Viewport;->height()F move-result v0 iget v1, p0, Lcom/example/linechartlibrary/ChartComputator;->maxZoom:F div-float/2addr v0, v1 iput v0, p0, Lcom/example/linechartlibrary/ChartComputator;->minViewportHeight:F return-void .end method # virtual methods .method public computeRawDistanceX(F)F .registers 4 .line 161 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAllMargins:Landroid/graphics/Rect; invoke-virtual {v0}, Landroid/graphics/Rect;->width()I move-result v0 int-to-float v0, v0 iget-object v1, p0, Lcom/example/linechartlibrary/ChartComputator;->currentViewport:Lcom/example/linechartlibrary/Viewport; invoke-virtual {v1}, Lcom/example/linechartlibrary/Viewport;->width()F move-result v1 div-float/2addr v0, v1 mul-float/2addr p1, v0 return p1 .end method .method public computeRawDistanceY(F)F .registers 4 .line 168 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAllMargins:Landroid/graphics/Rect; invoke-virtual {v0}, Landroid/graphics/Rect;->height()I move-result v0 int-to-float v0, v0 iget-object v1, p0, Lcom/example/linechartlibrary/ChartComputator;->currentViewport:Lcom/example/linechartlibrary/Viewport; invoke-virtual {v1}, Lcom/example/linechartlibrary/Viewport;->height()F move-result v1 div-float/2addr v0, v1 mul-float/2addr p1, v0 return p1 .end method .method public computeRawX(F)F .registers 4 .line 141 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->currentViewport:Lcom/example/linechartlibrary/Viewport; iget v0, v0, Lcom/example/linechartlibrary/Viewport;->left:F sub-float/2addr p1, v0 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAllMargins:Landroid/graphics/Rect; invoke-virtual {v0}, Landroid/graphics/Rect;->width()I move-result v0 int-to-float v0, v0 iget-object v1, p0, Lcom/example/linechartlibrary/ChartComputator;->currentViewport:Lcom/example/linechartlibrary/Viewport; .line 142 invoke-virtual {v1}, Lcom/example/linechartlibrary/Viewport;->width()F move-result v1 div-float/2addr v0, v1 mul-float/2addr p1, v0 .line 143 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAllMargins:Landroid/graphics/Rect; iget v0, v0, Landroid/graphics/Rect;->left:I int-to-float v0, v0 add-float/2addr v0, p1 return v0 .end method .method public computeRawY(F)F .registers 4 .line 152 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->currentViewport:Lcom/example/linechartlibrary/Viewport; iget v0, v0, Lcom/example/linechartlibrary/Viewport;->bottom:F sub-float/2addr p1, v0 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAllMargins:Landroid/graphics/Rect; invoke-virtual {v0}, Landroid/graphics/Rect;->height()I move-result v0 int-to-float v0, v0 iget-object v1, p0, Lcom/example/linechartlibrary/ChartComputator;->currentViewport:Lcom/example/linechartlibrary/Viewport; .line 153 invoke-virtual {v1}, Lcom/example/linechartlibrary/Viewport;->height()F move-result v1 div-float/2addr v0, v1 mul-float/2addr p1, v0 .line 154 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAllMargins:Landroid/graphics/Rect; iget v0, v0, Landroid/graphics/Rect;->bottom:I int-to-float v0, v0 sub-float/2addr v0, p1 return v0 .end method .method public computeScrollSurfaceSize(Landroid/graphics/Point;)V .registers 5 .line 197 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->maxViewport:Lcom/example/linechartlibrary/Viewport; invoke-virtual {v0}, Lcom/example/linechartlibrary/Viewport;->width()F move-result v0 iget-object v1, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAllMargins:Landroid/graphics/Rect; invoke-virtual {v1}, Landroid/graphics/Rect;->width()I move-result v1 int-to-float v1, v1 mul-float/2addr v0, v1 iget-object v1, p0, Lcom/example/linechartlibrary/ChartComputator;->currentViewport:Lcom/example/linechartlibrary/Viewport; invoke-virtual {v1}, Lcom/example/linechartlibrary/Viewport;->width()F move-result v1 div-float/2addr v0, v1 float-to-int v0, v0 iget-object v1, p0, Lcom/example/linechartlibrary/ChartComputator;->maxViewport:Lcom/example/linechartlibrary/Viewport; .line 198 invoke-virtual {v1}, Lcom/example/linechartlibrary/Viewport;->height()F move-result v1 iget-object v2, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAllMargins:Landroid/graphics/Rect; invoke-virtual {v2}, Landroid/graphics/Rect;->height()I move-result v2 int-to-float v2, v2 mul-float/2addr v1, v2 iget-object v2, p0, Lcom/example/linechartlibrary/ChartComputator;->currentViewport:Lcom/example/linechartlibrary/Viewport; invoke-virtual {v2}, Lcom/example/linechartlibrary/Viewport;->height()F move-result v2 div-float/2addr v1, v2 float-to-int v1, v1 .line 197 invoke-virtual {p1, v0, v1}, Landroid/graphics/Point;->set(II)V return-void .end method .method public constrainViewport(FFFF)V .registers 7 sub-float v0, p3, p1 .line 82 iget v1, p0, Lcom/example/linechartlibrary/ChartComputator;->minViewportWidth:F cmpg-float v0, v0, v1 if-gez v0, :cond_2a add-float p3, p1, v1 .line 85 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->maxViewport:Lcom/example/linechartlibrary/Viewport; iget v0, v0, Lcom/example/linechartlibrary/Viewport;->left:F cmpg-float v0, p1, v0 if-gez v0, :cond_1a .line 86 iget-object p1, p0, Lcom/example/linechartlibrary/ChartComputator;->maxViewport:Lcom/example/linechartlibrary/Viewport; iget p1, p1, Lcom/example/linechartlibrary/Viewport;->left:F .line 87 iget p3, p0, Lcom/example/linechartlibrary/ChartComputator;->minViewportWidth:F add-float/2addr p3, p1 goto :goto_2a .line 88 :cond_1a iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->maxViewport:Lcom/example/linechartlibrary/Viewport; iget v0, v0, Lcom/example/linechartlibrary/Viewport;->right:F cmpl-float v0, p3, v0 if-lez v0, :cond_2a .line 89 iget-object p1, p0, Lcom/example/linechartlibrary/ChartComputator;->maxViewport:Lcom/example/linechartlibrary/Viewport; iget p3, p1, Lcom/example/linechartlibrary/Viewport;->right:F .line 90 iget p1, p0, Lcom/example/linechartlibrary/ChartComputator;->minViewportWidth:F sub-float p1, p3, p1 :cond_2a :goto_2a sub-float v0, p2, p4 .line 94 iget v1, p0, Lcom/example/linechartlibrary/ChartComputator;->minViewportHeight:F cmpg-float v0, v0, v1 if-gez v0, :cond_54 sub-float p4, p2, v1 .line 97 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->maxViewport:Lcom/example/linechartlibrary/Viewport; iget v0, v0, Lcom/example/linechartlibrary/Viewport;->top:F cmpl-float v0, p2, v0 if-lez v0, :cond_45 .line 98 iget-object p2, p0, Lcom/example/linechartlibrary/ChartComputator;->maxViewport:Lcom/example/linechartlibrary/Viewport; iget p2, p2, Lcom/example/linechartlibrary/Viewport;->top:F .line 99 iget p4, p0, Lcom/example/linechartlibrary/ChartComputator;->minViewportHeight:F sub-float p4, p2, p4 goto :goto_54 .line 100 :cond_45 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->maxViewport:Lcom/example/linechartlibrary/Viewport; iget v0, v0, Lcom/example/linechartlibrary/Viewport;->bottom:F cmpg-float v0, p4, v0 if-gez v0, :cond_54 .line 101 iget-object p2, p0, Lcom/example/linechartlibrary/ChartComputator;->maxViewport:Lcom/example/linechartlibrary/Viewport; iget p4, p2, Lcom/example/linechartlibrary/Viewport;->bottom:F .line 102 iget p2, p0, Lcom/example/linechartlibrary/ChartComputator;->minViewportHeight:F add-float/2addr p2, p4 .line 106 :cond_54 :goto_54 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->currentViewport:Lcom/example/linechartlibrary/Viewport; iget-object v1, p0, Lcom/example/linechartlibrary/ChartComputator;->maxViewport:Lcom/example/linechartlibrary/Viewport; iget v1, v1, Lcom/example/linechartlibrary/Viewport;->left:F invoke-static {v1, p1}, Ljava/lang/Math;->max(FF)F move-result p1 iput p1, v0, Lcom/example/linechartlibrary/Viewport;->left:F .line 107 iget-object p1, p0, Lcom/example/linechartlibrary/ChartComputator;->currentViewport:Lcom/example/linechartlibrary/Viewport; iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->maxViewport:Lcom/example/linechartlibrary/Viewport; iget v0, v0, Lcom/example/linechartlibrary/Viewport;->top:F invoke-static {v0, p2}, Ljava/lang/Math;->min(FF)F move-result p2 iput p2, p1, Lcom/example/linechartlibrary/Viewport;->top:F .line 108 iget-object p1, p0, Lcom/example/linechartlibrary/ChartComputator;->currentViewport:Lcom/example/linechartlibrary/Viewport; iget-object p2, p0, Lcom/example/linechartlibrary/ChartComputator;->maxViewport:Lcom/example/linechartlibrary/Viewport; iget p2, p2, Lcom/example/linechartlibrary/Viewport;->right:F invoke-static {p2, p3}, Ljava/lang/Math;->min(FF)F move-result p2 iput p2, p1, Lcom/example/linechartlibrary/Viewport;->right:F .line 109 iget-object p1, p0, Lcom/example/linechartlibrary/ChartComputator;->currentViewport:Lcom/example/linechartlibrary/Viewport; iget-object p2, p0, Lcom/example/linechartlibrary/ChartComputator;->maxViewport:Lcom/example/linechartlibrary/Viewport; iget p2, p2, Lcom/example/linechartlibrary/Viewport;->bottom:F invoke-static {p2, p4}, Ljava/lang/Math;->max(FF)F move-result p2 iput p2, p1, Lcom/example/linechartlibrary/Viewport;->bottom:F .line 111 iget-object p1, p0, Lcom/example/linechartlibrary/ChartComputator;->viewportChangeListener:Lcom/example/linechartlibrary/ViewportChangeListener; iget-object p2, p0, Lcom/example/linechartlibrary/ChartComputator;->currentViewport:Lcom/example/linechartlibrary/Viewport; invoke-interface {p1, p2}, Lcom/example/linechartlibrary/ViewportChangeListener;->onViewportChanged(Lcom/example/linechartlibrary/Viewport;)V return-void .end method .method public getChartHeight()I .registers 2 .line 320 iget v0, p0, Lcom/example/linechartlibrary/ChartComputator;->chartHeight:I return v0 .end method .method public getChartWidth()I .registers 2 .line 316 iget v0, p0, Lcom/example/linechartlibrary/ChartComputator;->chartWidth:I return v0 .end method .method public getContentRectMinusAllMargins()Landroid/graphics/Rect; .registers 2 .line 220 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAllMargins:Landroid/graphics/Rect; return-object v0 .end method .method public getContentRectMinusAxesMargins()Landroid/graphics/Rect; .registers 2 .line 231 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAxesMargins:Landroid/graphics/Rect; return-object v0 .end method .method public getCurrentViewport()Lcom/example/linechartlibrary/Viewport; .registers 2 .line 240 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->currentViewport:Lcom/example/linechartlibrary/Viewport; return-object v0 .end method .method public getMaxZoom()F .registers 2 .line 324 iget v0, p0, Lcom/example/linechartlibrary/ChartComputator;->maxZoom:F return v0 .end method .method public getMaximumViewport()Lcom/example/linechartlibrary/Viewport; .registers 2 .line 265 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->maxViewport:Lcom/example/linechartlibrary/Viewport; return-object v0 .end method .method public getMinimumViewportHeight()F .registers 2 .line 304 iget v0, p0, Lcom/example/linechartlibrary/ChartComputator;->minViewportHeight:F return v0 .end method .method public getMinimumViewportWidth()F .registers 2 .line 300 iget v0, p0, Lcom/example/linechartlibrary/ChartComputator;->minViewportWidth:F return v0 .end method .method public getVisibleViewport()Lcom/example/linechartlibrary/Viewport; .registers 2 .line 292 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->currentViewport:Lcom/example/linechartlibrary/Viewport; return-object v0 .end method .method public insetContentRect(IIII)V .registers 7 .line 62 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAxesMargins:Landroid/graphics/Rect; iget v1, v0, Landroid/graphics/Rect;->left:I add-int/2addr v1, p1 iput v1, v0, Landroid/graphics/Rect;->left:I .line 63 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAxesMargins:Landroid/graphics/Rect; iget v1, v0, Landroid/graphics/Rect;->top:I add-int/2addr v1, p2 iput v1, v0, Landroid/graphics/Rect;->top:I .line 64 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAxesMargins:Landroid/graphics/Rect; iget v1, v0, Landroid/graphics/Rect;->right:I sub-int/2addr v1, p3 iput v1, v0, Landroid/graphics/Rect;->right:I .line 65 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAxesMargins:Landroid/graphics/Rect; iget v1, v0, Landroid/graphics/Rect;->bottom:I sub-int/2addr v1, p4 iput v1, v0, Landroid/graphics/Rect;->bottom:I .line 67 invoke-virtual {p0, p1, p2, p3, p4}, Lcom/example/linechartlibrary/ChartComputator;->insetContentRectByInternalMargins(IIII)V return-void .end method .method public insetContentRectByInternalMargins(IIII)V .registers 5 .line 71 iget-object p1, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAllMargins:Landroid/graphics/Rect; iget p3, p1, Landroid/graphics/Rect;->left:I iput p3, p1, Landroid/graphics/Rect;->left:I .line 72 iget-object p1, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAllMargins:Landroid/graphics/Rect; iget p3, p1, Landroid/graphics/Rect;->top:I add-int/2addr p3, p2 add-int/lit8 p3, p3, 0x5 iput p3, p1, Landroid/graphics/Rect;->top:I .line 73 iget-object p1, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAllMargins:Landroid/graphics/Rect; iget p2, p1, Landroid/graphics/Rect;->right:I iput p2, p1, Landroid/graphics/Rect;->right:I .line 74 iget-object p1, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAllMargins:Landroid/graphics/Rect; iget p2, p1, Landroid/graphics/Rect;->bottom:I sub-int/2addr p2, p4 iput p2, p1, Landroid/graphics/Rect;->bottom:I return-void .end method .method public isWithinContentRect(FFF)Z .registers 5 .line 205 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAllMargins:Landroid/graphics/Rect; iget v0, v0, Landroid/graphics/Rect;->left:I int-to-float v0, v0 sub-float/2addr v0, p3 cmpl-float v0, p1, v0 if-ltz v0, :cond_2a iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAllMargins:Landroid/graphics/Rect; iget v0, v0, Landroid/graphics/Rect;->right:I int-to-float v0, v0 add-float/2addr v0, p3 cmpg-float p1, p1, v0 if-gtz p1, :cond_2a .line 206 iget-object p1, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAllMargins:Landroid/graphics/Rect; iget p1, p1, Landroid/graphics/Rect;->bottom:I int-to-float p1, p1 add-float/2addr p1, p3 cmpg-float p1, p2, p1 if-gtz p1, :cond_2a iget-object p1, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAllMargins:Landroid/graphics/Rect; iget p1, p1, Landroid/graphics/Rect;->top:I int-to-float p1, p1 sub-float/2addr p1, p3 cmpl-float p1, p2, p1 if-ltz p1, :cond_2a const/4 p1, 0x1 return p1 :cond_2a const/4 p1, 0x0 return p1 .end method .method public rawPixelsToDataPoint(FFLandroid/graphics/PointF;)Z .registers 7 .line 180 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAllMargins:Landroid/graphics/Rect; float-to-int v1, p1 float-to-int v2, p2 invoke-virtual {v0, v1, v2}, Landroid/graphics/Rect;->contains(II)Z move-result v0 if-nez v0, :cond_c const/4 p1, 0x0 return p1 .line 183 :cond_c iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->currentViewport:Lcom/example/linechartlibrary/Viewport; iget v0, v0, Lcom/example/linechartlibrary/Viewport;->left:F iget-object v1, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAllMargins:Landroid/graphics/Rect; iget v1, v1, Landroid/graphics/Rect;->left:I int-to-float v1, v1 sub-float/2addr p1, v1 iget-object v1, p0, Lcom/example/linechartlibrary/ChartComputator;->currentViewport:Lcom/example/linechartlibrary/Viewport; invoke-virtual {v1}, Lcom/example/linechartlibrary/Viewport;->width()F move-result v1 mul-float/2addr p1, v1 iget-object v1, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAllMargins:Landroid/graphics/Rect; .line 184 invoke-virtual {v1}, Landroid/graphics/Rect;->width()I move-result v1 int-to-float v1, v1 div-float/2addr p1, v1 add-float/2addr v0, p1 iget-object p1, p0, Lcom/example/linechartlibrary/ChartComputator;->currentViewport:Lcom/example/linechartlibrary/Viewport; iget p1, p1, Lcom/example/linechartlibrary/Viewport;->bottom:F iget-object v1, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAllMargins:Landroid/graphics/Rect; iget v1, v1, Landroid/graphics/Rect;->bottom:I int-to-float v1, v1 sub-float/2addr p2, v1 iget-object v1, p0, Lcom/example/linechartlibrary/ChartComputator;->currentViewport:Lcom/example/linechartlibrary/Viewport; .line 185 invoke-virtual {v1}, Lcom/example/linechartlibrary/Viewport;->height()F move-result v1 mul-float/2addr p2, v1 iget-object v1, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAllMargins:Landroid/graphics/Rect; .line 186 invoke-virtual {v1}, Landroid/graphics/Rect;->height()I move-result v1 neg-int v1, v1 int-to-float v1, v1 div-float/2addr p2, v1 add-float/2addr p1, p2 .line 183 invoke-virtual {p3, v0, p1}, Landroid/graphics/PointF;->set(FF)V const/4 p1, 0x1 return p1 .end method .method public resetContentRect()V .registers 3 .line 57 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAxesMargins:Landroid/graphics/Rect; iget-object v1, p0, Lcom/example/linechartlibrary/ChartComputator;->maxContentRect:Landroid/graphics/Rect; invoke-virtual {v0, v1}, Landroid/graphics/Rect;->set(Landroid/graphics/Rect;)V .line 58 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAllMargins:Landroid/graphics/Rect; iget-object v1, p0, Lcom/example/linechartlibrary/ChartComputator;->maxContentRect:Landroid/graphics/Rect; invoke-virtual {v0, v1}, Landroid/graphics/Rect;->set(Landroid/graphics/Rect;)V return-void .end method .method public setContentRect(IIIIII)V .registers 8 .line 49 iput p1, p0, Lcom/example/linechartlibrary/ChartComputator;->chartWidth:I .line 50 iput p2, p0, Lcom/example/linechartlibrary/ChartComputator;->chartHeight:I .line 51 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->maxContentRect:Landroid/graphics/Rect; sub-int/2addr p1, p5 sub-int/2addr p2, p6 invoke-virtual {v0, p3, p4, p1, p2}, Landroid/graphics/Rect;->set(IIII)V .line 52 iget-object p1, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAxesMargins:Landroid/graphics/Rect; iget-object p2, p0, Lcom/example/linechartlibrary/ChartComputator;->maxContentRect:Landroid/graphics/Rect; invoke-virtual {p1, p2}, Landroid/graphics/Rect;->set(Landroid/graphics/Rect;)V .line 53 iget-object p1, p0, Lcom/example/linechartlibrary/ChartComputator;->contentRectMinusAllMargins:Landroid/graphics/Rect; iget-object p2, p0, Lcom/example/linechartlibrary/ChartComputator;->maxContentRect:Landroid/graphics/Rect; invoke-virtual {p1, p2}, Landroid/graphics/Rect;->set(Landroid/graphics/Rect;)V return-void .end method .method public setCurrentViewport(FFFF)V .registers 5 .line 258 invoke-virtual {p0, p1, p2, p3, p4}, Lcom/example/linechartlibrary/ChartComputator;->constrainViewport(FFFF)V return-void .end method .method public setCurrentViewport(Lcom/example/linechartlibrary/Viewport;)V .registers 5 .line 250 iget v0, p1, Lcom/example/linechartlibrary/Viewport;->left:F iget v1, p1, Lcom/example/linechartlibrary/Viewport;->top:F iget v2, p1, Lcom/example/linechartlibrary/Viewport;->right:F iget p1, p1, Lcom/example/linechartlibrary/Viewport;->bottom:F invoke-virtual {p0, v0, v1, v2, p1}, Lcom/example/linechartlibrary/ChartComputator;->constrainViewport(FFFF)V return-void .end method .method public setMaxViewport(FFFF)V .registers 6 .line 282 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->maxViewport:Lcom/example/linechartlibrary/Viewport; invoke-virtual {v0, p1, p2, p3, p4}, Lcom/example/linechartlibrary/Viewport;->set(FFFF)V .line 283 invoke-direct {p0}, Lcom/example/linechartlibrary/ChartComputator;->computeMinimumWidthAndHeight()V return-void .end method .method public setMaxViewport(Lcom/example/linechartlibrary/Viewport;)V .registers 5 .line 275 iget v0, p1, Lcom/example/linechartlibrary/Viewport;->left:F iget v1, p1, Lcom/example/linechartlibrary/Viewport;->top:F iget v2, p1, Lcom/example/linechartlibrary/Viewport;->right:F iget p1, p1, Lcom/example/linechartlibrary/Viewport;->bottom:F invoke-virtual {p0, v0, v1, v2, p1}, Lcom/example/linechartlibrary/ChartComputator;->setMaxViewport(FFFF)V return-void .end method .method public setMaxZoom(F)V .registers 4 const/high16 v0, 0x3f800000 # 1.0f cmpg-float v1, p1, v0 if-gez v1, :cond_7 move p1, v0 .line 337 :cond_7 iput p1, p0, Lcom/example/linechartlibrary/ChartComputator;->maxZoom:F .line 339 invoke-direct {p0}, Lcom/example/linechartlibrary/ChartComputator;->computeMinimumWidthAndHeight()V .line 341 iget-object p1, p0, Lcom/example/linechartlibrary/ChartComputator;->currentViewport:Lcom/example/linechartlibrary/Viewport; invoke-virtual {p0, p1}, Lcom/example/linechartlibrary/ChartComputator;->setCurrentViewport(Lcom/example/linechartlibrary/Viewport;)V return-void .end method .method public setViewportChangeListener(Lcom/example/linechartlibrary/ViewportChangeListener;)V .registers 2 if-nez p1, :cond_a .line 309 new-instance p1, Lcom/example/linechartlibrary/DummyVieportChangeListener; invoke-direct {p1}, Lcom/example/linechartlibrary/DummyVieportChangeListener;->()V iput-object p1, p0, Lcom/example/linechartlibrary/ChartComputator;->viewportChangeListener:Lcom/example/linechartlibrary/ViewportChangeListener; goto :goto_c .line 311 :cond_a iput-object p1, p0, Lcom/example/linechartlibrary/ChartComputator;->viewportChangeListener:Lcom/example/linechartlibrary/ViewportChangeListener; :goto_c return-void .end method .method public setViewportTopLeft(FF)V .registers 7 .line 125 iget-object v0, p0, Lcom/example/linechartlibrary/ChartComputator;->currentViewport:Lcom/example/linechartlibrary/Viewport; invoke-virtual {v0}, Lcom/example/linechartlibrary/Viewport;->width()F move-result v0 .line 126 iget-object v1, p0, Lcom/example/linechartlibrary/ChartComputator;->currentViewport:Lcom/example/linechartlibrary/Viewport; invoke-virtual {v1}, Lcom/example/linechartlibrary/Viewport;->height()F move-result v1 .line 128 iget-object v2, p0, Lcom/example/linechartlibrary/ChartComputator;->maxViewport:Lcom/example/linechartlibrary/Viewport; iget v2, v2, Lcom/example/linechartlibrary/Viewport;->left:F iget-object v3, p0, Lcom/example/linechartlibrary/ChartComputator;->maxViewport:Lcom/example/linechartlibrary/Viewport; iget v3, v3, Lcom/example/linechartlibrary/Viewport;->right:F sub-float/2addr v3, v0 invoke-static {p1, v3}, Ljava/lang/Math;->min(FF)F move-result p1 invoke-static {v2, p1}, Ljava/lang/Math;->max(FF)F move-result p1 .line 129 iget-object v2, p0, Lcom/example/linechartlibrary/ChartComputator;->maxViewport:Lcom/example/linechartlibrary/Viewport; iget v2, v2, Lcom/example/linechartlibrary/Viewport;->bottom:F add-float/2addr v2, v1 iget-object v3, p0, Lcom/example/linechartlibrary/ChartComputator;->maxViewport:Lcom/example/linechartlibrary/Viewport; iget v3, v3, Lcom/example/linechartlibrary/Viewport;->top:F invoke-static {p2, v3}, Ljava/lang/Math;->min(FF)F move-result p2 invoke-static {v2, p2}, Ljava/lang/Math;->max(FF)F move-result p2 add-float/2addr v0, p1 sub-float v1, p2, v1 .line 130 invoke-virtual {p0, p1, p2, v0, v1}, Lcom/example/linechartlibrary/ChartComputator;->constrainViewport(FFFF)V return-void .end method .method public setVisibleViewport(Lcom/example/linechartlibrary/Viewport;)V .registers 2 .line 296 invoke-virtual {p0, p1}, Lcom/example/linechartlibrary/ChartComputator;->setCurrentViewport(Lcom/example/linechartlibrary/Viewport;)V return-void .end method