.class public Lcom/moji/crop/CropView; .super Landroid/widget/FrameLayout; .source "CropView.java" # instance fields .field private a:Landroid/widget/ImageView; .field private b:Lcom/moji/crop/FocusView; .field private c:Landroid/graphics/Matrix; .field private d:Landroid/graphics/Matrix; .field private e:Landroid/graphics/Matrix; .field private f:Landroid/graphics/PointF; .field private g:Landroid/graphics/PointF; .field private h:F .field private i:[F .field private j:[F .field private k:Landroid/graphics/Bitmap; .field private l:Landroid/graphics/RectF; .field private m:F .field private n:I .field private o:I .field private p:I .field private q:Z .field private r:I .field private s:Z # direct methods .method public constructor (Landroid/content/Context;)V .locals 3 .line 133 invoke-direct {p0, p1}, Landroid/widget/FrameLayout;->(Landroid/content/Context;)V const/4 v0, 0x0 .line 58 iput-object v0, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView; .line 62 iput-object v0, p0, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView; .line 66 new-instance v1, Landroid/graphics/Matrix; invoke-direct {v1}, Landroid/graphics/Matrix;->()V iput-object v1, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix; .line 70 new-instance v1, Landroid/graphics/Matrix; invoke-direct {v1}, Landroid/graphics/Matrix;->()V iput-object v1, p0, Lcom/moji/crop/CropView;->d:Landroid/graphics/Matrix; .line 74 new-instance v1, Landroid/graphics/Matrix; invoke-direct {v1}, Landroid/graphics/Matrix;->()V iput-object v1, p0, Lcom/moji/crop/CropView;->e:Landroid/graphics/Matrix; .line 78 new-instance v1, Landroid/graphics/PointF; invoke-direct {v1}, Landroid/graphics/PointF;->()V iput-object v1, p0, Lcom/moji/crop/CropView;->f:Landroid/graphics/PointF; .line 82 new-instance v1, Landroid/graphics/PointF; invoke-direct {v1}, Landroid/graphics/PointF;->()V iput-object v1, p0, Lcom/moji/crop/CropView;->g:Landroid/graphics/PointF; const/4 v1, 0x0 .line 86 iput v1, p0, Lcom/moji/crop/CropView;->h:F const/16 v1, 0x9 .line 90 new-array v2, v1, [F iput-object v2, p0, Lcom/moji/crop/CropView;->i:[F .line 94 new-array v1, v1, [F iput-object v1, p0, Lcom/moji/crop/CropView;->j:[F .line 98 iput-object v0, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap; .line 99 new-instance v0, Landroid/graphics/RectF; invoke-direct {v0}, Landroid/graphics/RectF;->()V iput-object v0, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF; const/high16 v0, 0x40000000 # 2.0f .line 103 iput v0, p0, Lcom/moji/crop/CropView;->m:F const/4 v0, 0x0 .line 104 iput v0, p0, Lcom/moji/crop/CropView;->n:I .line 105 iput v0, p0, Lcom/moji/crop/CropView;->o:I .line 107 iput-boolean v0, p0, Lcom/moji/crop/CropView;->q:Z const/4 v1, 0x3 .line 112 iput v1, p0, Lcom/moji/crop/CropView;->r:I .line 114 iput-boolean v0, p0, Lcom/moji/crop/CropView;->s:Z .line 134 invoke-direct {p0, p1}, Lcom/moji/crop/CropView;->a(Landroid/content/Context;)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;)V .locals 2 .line 128 invoke-direct {p0, p1, p2}, Landroid/widget/FrameLayout;->(Landroid/content/Context;Landroid/util/AttributeSet;)V const/4 p2, 0x0 .line 58 iput-object p2, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView; .line 62 iput-object p2, p0, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView; .line 66 new-instance v0, Landroid/graphics/Matrix; invoke-direct {v0}, Landroid/graphics/Matrix;->()V iput-object v0, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix; .line 70 new-instance v0, Landroid/graphics/Matrix; invoke-direct {v0}, Landroid/graphics/Matrix;->()V iput-object v0, p0, Lcom/moji/crop/CropView;->d:Landroid/graphics/Matrix; .line 74 new-instance v0, Landroid/graphics/Matrix; invoke-direct {v0}, Landroid/graphics/Matrix;->()V iput-object v0, p0, Lcom/moji/crop/CropView;->e:Landroid/graphics/Matrix; .line 78 new-instance v0, Landroid/graphics/PointF; invoke-direct {v0}, Landroid/graphics/PointF;->()V iput-object v0, p0, Lcom/moji/crop/CropView;->f:Landroid/graphics/PointF; .line 82 new-instance v0, Landroid/graphics/PointF; invoke-direct {v0}, Landroid/graphics/PointF;->()V iput-object v0, p0, Lcom/moji/crop/CropView;->g:Landroid/graphics/PointF; const/4 v0, 0x0 .line 86 iput v0, p0, Lcom/moji/crop/CropView;->h:F const/16 v0, 0x9 .line 90 new-array v1, v0, [F iput-object v1, p0, Lcom/moji/crop/CropView;->i:[F .line 94 new-array v0, v0, [F iput-object v0, p0, Lcom/moji/crop/CropView;->j:[F .line 98 iput-object p2, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap; .line 99 new-instance p2, Landroid/graphics/RectF; invoke-direct {p2}, Landroid/graphics/RectF;->()V iput-object p2, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF; const/high16 p2, 0x40000000 # 2.0f .line 103 iput p2, p0, Lcom/moji/crop/CropView;->m:F const/4 p2, 0x0 .line 104 iput p2, p0, Lcom/moji/crop/CropView;->n:I .line 105 iput p2, p0, Lcom/moji/crop/CropView;->o:I .line 107 iput-boolean p2, p0, Lcom/moji/crop/CropView;->q:Z const/4 v0, 0x3 .line 112 iput v0, p0, Lcom/moji/crop/CropView;->r:I .line 114 iput-boolean p2, p0, Lcom/moji/crop/CropView;->s:Z .line 129 invoke-direct {p0, p1}, Lcom/moji/crop/CropView;->a(Landroid/content/Context;)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;I)V .locals 1 .line 123 invoke-direct {p0, p1, p2, p3}, Landroid/widget/FrameLayout;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V const/4 p2, 0x0 .line 58 iput-object p2, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView; .line 62 iput-object p2, p0, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView; .line 66 new-instance p3, Landroid/graphics/Matrix; invoke-direct {p3}, Landroid/graphics/Matrix;->()V iput-object p3, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix; .line 70 new-instance p3, Landroid/graphics/Matrix; invoke-direct {p3}, Landroid/graphics/Matrix;->()V iput-object p3, p0, Lcom/moji/crop/CropView;->d:Landroid/graphics/Matrix; .line 74 new-instance p3, Landroid/graphics/Matrix; invoke-direct {p3}, Landroid/graphics/Matrix;->()V iput-object p3, p0, Lcom/moji/crop/CropView;->e:Landroid/graphics/Matrix; .line 78 new-instance p3, Landroid/graphics/PointF; invoke-direct {p3}, Landroid/graphics/PointF;->()V iput-object p3, p0, Lcom/moji/crop/CropView;->f:Landroid/graphics/PointF; .line 82 new-instance p3, Landroid/graphics/PointF; invoke-direct {p3}, Landroid/graphics/PointF;->()V iput-object p3, p0, Lcom/moji/crop/CropView;->g:Landroid/graphics/PointF; const/4 p3, 0x0 .line 86 iput p3, p0, Lcom/moji/crop/CropView;->h:F const/16 p3, 0x9 .line 90 new-array v0, p3, [F iput-object v0, p0, Lcom/moji/crop/CropView;->i:[F .line 94 new-array p3, p3, [F iput-object p3, p0, Lcom/moji/crop/CropView;->j:[F .line 98 iput-object p2, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap; .line 99 new-instance p2, Landroid/graphics/RectF; invoke-direct {p2}, Landroid/graphics/RectF;->()V iput-object p2, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF; const/high16 p2, 0x40000000 # 2.0f .line 103 iput p2, p0, Lcom/moji/crop/CropView;->m:F const/4 p2, 0x0 .line 104 iput p2, p0, Lcom/moji/crop/CropView;->n:I .line 105 iput p2, p0, Lcom/moji/crop/CropView;->o:I .line 107 iput-boolean p2, p0, Lcom/moji/crop/CropView;->q:Z const/4 p3, 0x3 .line 112 iput p3, p0, Lcom/moji/crop/CropView;->r:I .line 114 iput-boolean p2, p0, Lcom/moji/crop/CropView;->s:Z .line 124 invoke-direct {p0, p1}, Lcom/moji/crop/CropView;->a(Landroid/content/Context;)V return-void .end method .method private a(IIIIZ)F .locals 0 int-to-float p3, p3 int-to-float p1, p1 div-float/2addr p3, p1 int-to-float p1, p4 int-to-float p2, p2 div-float/2addr p1, p2 if-eqz p5, :cond_0 cmpl-float p2, p3, p1 if-lez p2, :cond_1 :goto_0 move p1, p3 goto :goto_1 :cond_0 cmpg-float p2, p3, p1 if-gez p2, :cond_1 goto :goto_0 :cond_1 :goto_1 return p1 .end method .method static synthetic a(Lcom/moji/crop/CropView;)Landroid/widget/ImageView; .locals 0 .line 39 iget-object p0, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView; return-object p0 .end method .method private a(Landroid/content/Context;)V .locals 3 .line 478 new-instance v0, Landroid/widget/ImageView; invoke-direct {v0, p1}, Landroid/widget/ImageView;->(Landroid/content/Context;)V iput-object v0, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView; .line 479 iget-object v0, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView; new-instance v1, Landroid/widget/FrameLayout$LayoutParams; const/4 v2, -0x1 invoke-direct {v1, v2, v2}, Landroid/widget/FrameLayout$LayoutParams;->(II)V invoke-virtual {p0, v0, v1}, Lcom/moji/crop/CropView;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V .line 482 new-instance v0, Lcom/moji/crop/FocusView; invoke-direct {v0, p1}, Lcom/moji/crop/FocusView;->(Landroid/content/Context;)V iput-object v0, p0, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView; .line 483 iget-object p1, p0, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView; new-instance v0, Landroid/widget/FrameLayout$LayoutParams; invoke-direct {v0, v2, v2}, Landroid/widget/FrameLayout$LayoutParams;->(II)V invoke-virtual {p0, p1, v0}, Lcom/moji/crop/CropView;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V return-void .end method .method private a(Landroid/graphics/PointF;Landroid/view/MotionEvent;)V .locals 4 .line 532 invoke-virtual {p2}, Landroid/view/MotionEvent;->getPointerCount()I move-result v0 const/4 v1, 0x2 if-ge v0, v1, :cond_0 return-void :cond_0 const/4 v0, 0x0 .line 535 invoke-virtual {p2, v0}, Landroid/view/MotionEvent;->getX(I)F move-result v1 const/4 v2, 0x1 invoke-virtual {p2, v2}, Landroid/view/MotionEvent;->getX(I)F move-result v3 add-float/2addr v1, v3 .line 536 invoke-virtual {p2, v0}, Landroid/view/MotionEvent;->getY(I)F move-result v0 invoke-virtual {p2, v2}, Landroid/view/MotionEvent;->getY(I)F move-result p2 add-float/2addr v0, p2 const/high16 p2, 0x40000000 # 2.0f div-float/2addr v1, p2 div-float/2addr v0, p2 .line 537 invoke-virtual {p1, v1, v0}, Landroid/graphics/PointF;->set(FF)V return-void .end method .method private a(Landroid/view/MotionEvent;)V .locals 2 .line 365 iget-object v0, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView; sget-object v1, Landroid/widget/ImageView$ScaleType;->MATRIX:Landroid/widget/ImageView$ScaleType; invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V .line 366 iget-object v0, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix; iget-object v1, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView; invoke-virtual {v1}, Landroid/widget/ImageView;->getImageMatrix()Landroid/graphics/Matrix; move-result-object v1 invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->set(Landroid/graphics/Matrix;)V .line 367 iget-object v0, p0, Lcom/moji/crop/CropView;->d:Landroid/graphics/Matrix; iget-object v1, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix; invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->set(Landroid/graphics/Matrix;)V .line 368 iget-object v0, p0, Lcom/moji/crop/CropView;->f:Landroid/graphics/PointF; invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F move-result v1 invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F move-result p1 invoke-virtual {v0, v1, p1}, Landroid/graphics/PointF;->set(FF)V .line 369 iget-object p1, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF; iget-object v0, p0, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView; invoke-virtual {v0}, Lcom/moji/crop/FocusView;->getFocusRect()Landroid/graphics/RectF; move-result-object v0 invoke-virtual {p1, v0}, Landroid/graphics/RectF;->set(Landroid/graphics/RectF;)V const/4 p1, 0x1 .line 370 iput p1, p0, Lcom/moji/crop/CropView;->r:I return-void .end method .method private b(Landroid/view/MotionEvent;)V .locals 2 .line 379 invoke-direct {p0, p1}, Lcom/moji/crop/CropView;->d(Landroid/view/MotionEvent;)F move-result v0 iput v0, p0, Lcom/moji/crop/CropView;->h:F .line 380 iget v0, p0, Lcom/moji/crop/CropView;->h:F const/4 v1, 0x0 cmpl-float v0, v0, v1 if-lez v0, :cond_0 .line 381 iget-object v0, p0, Lcom/moji/crop/CropView;->d:Landroid/graphics/Matrix; iget-object v1, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix; invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->set(Landroid/graphics/Matrix;)V .line 382 iget-object v0, p0, Lcom/moji/crop/CropView;->g:Landroid/graphics/PointF; invoke-direct {p0, v0, p1}, Lcom/moji/crop/CropView;->a(Landroid/graphics/PointF;Landroid/view/MotionEvent;)V const/4 p1, 0x2 .line 383 iput p1, p0, Lcom/moji/crop/CropView;->r:I :cond_0 return-void .end method .method private c(Landroid/view/MotionEvent;)V .locals 10 .line 393 iget v0, p0, Lcom/moji/crop/CropView;->r:I const/4 v1, 0x5 const/4 v2, 0x2 const/4 v3, 0x0 packed-switch v0, :pswitch_data_0 goto/16 :goto_1 .line 414 :pswitch_0 iget-object v0, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix; iget-object v4, p0, Lcom/moji/crop/CropView;->d:Landroid/graphics/Matrix; invoke-virtual {v0, v4}, Landroid/graphics/Matrix;->set(Landroid/graphics/Matrix;)V .line 415 iget-object v0, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix; iget-object v4, p0, Lcom/moji/crop/CropView;->i:[F invoke-virtual {v0, v4}, Landroid/graphics/Matrix;->getValues([F)V .line 416 invoke-direct {p0, p1}, Lcom/moji/crop/CropView;->d(Landroid/view/MotionEvent;)F move-result p1 const/4 v0, 0x0 cmpl-float v0, p1, v0 if-lez v0, :cond_c .line 418 iget-object v0, p0, Lcom/moji/crop/CropView;->e:Landroid/graphics/Matrix; iget-object v4, p0, Lcom/moji/crop/CropView;->i:[F invoke-virtual {v0, v4}, Landroid/graphics/Matrix;->setValues([F)V .line 419 iget v0, p0, Lcom/moji/crop/CropView;->h:F div-float/2addr p1, v0 .line 421 iget-object v0, p0, Lcom/moji/crop/CropView;->i:[F aget v0, v0, v3 mul-float v0, v0, p1 iget v4, p0, Lcom/moji/crop/CropView;->m:F cmpl-float v0, v0, v4 if-lez v0, :cond_0 .line 422 iget p1, p0, Lcom/moji/crop/CropView;->m:F iget-object v0, p0, Lcom/moji/crop/CropView;->i:[F aget v0, v0, v3 div-float/2addr p1, v0 .line 424 :cond_0 iget-object v0, p0, Lcom/moji/crop/CropView;->i:[F aget v0, v0, v3 mul-float v0, v0, p1 iget v4, p0, Lcom/moji/crop/CropView;->n:I int-to-float v4, v4 mul-float v0, v0, v4 .line 425 iget-object v4, p0, Lcom/moji/crop/CropView;->i:[F const/4 v5, 0x4 aget v4, v4, v5 mul-float v4, v4, p1 iget v6, p0, Lcom/moji/crop/CropView;->o:I int-to-float v6, v6 mul-float v4, v4, v6 .line 426 iget-object v6, p0, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView; invoke-virtual {v6}, Lcom/moji/crop/FocusView;->getFocusWidth()I move-result v6 .line 427 iget-object v7, p0, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView; invoke-virtual {v7}, Lcom/moji/crop/FocusView;->getFocusHeight()I move-result v7 int-to-float v6, v6 div-float/2addr v0, v6 int-to-float v7, v7 div-float/2addr v4, v7 const/high16 v8, 0x3f800000 # 1.0f cmpg-float v9, v0, v8 if-ltz v9, :cond_1 cmpg-float v9, v4, v8 if-gez v9, :cond_3 :cond_1 cmpl-float p1, v0, v4 if-lez p1, :cond_2 .line 432 iget-object p1, p0, Lcom/moji/crop/CropView;->i:[F aget p1, p1, v5 div-float/2addr v7, p1 iget p1, p0, Lcom/moji/crop/CropView;->o:I int-to-float p1, p1 div-float p1, v7, p1 goto :goto_0 .line 434 :cond_2 iget-object p1, p0, Lcom/moji/crop/CropView;->i:[F aget p1, p1, v3 div-float/2addr v6, p1 iget p1, p0, Lcom/moji/crop/CropView;->n:I int-to-float p1, p1 div-float p1, v6, p1 .line 438 :cond_3 :goto_0 iget-object v0, p0, Lcom/moji/crop/CropView;->e:Landroid/graphics/Matrix; iget-object v4, p0, Lcom/moji/crop/CropView;->g:Landroid/graphics/PointF; iget v4, v4, Landroid/graphics/PointF;->x:F iget-object v6, p0, Lcom/moji/crop/CropView;->g:Landroid/graphics/PointF; iget v6, v6, Landroid/graphics/PointF;->y:F invoke-virtual {v0, p1, p1, v4, v6}, Landroid/graphics/Matrix;->postScale(FFFF)Z .line 439 iget-object v0, p0, Lcom/moji/crop/CropView;->e:Landroid/graphics/Matrix; iget-object v4, p0, Lcom/moji/crop/CropView;->j:[F invoke-virtual {v0, v4}, Landroid/graphics/Matrix;->getValues([F)V .line 440 iget-object v0, p0, Lcom/moji/crop/CropView;->j:[F aget v0, v0, v2 iget-object v4, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF; iget v4, v4, Landroid/graphics/RectF;->left:F cmpl-float v0, v0, v4 if-lez v0, :cond_4 const-string v0, "CropView" const-string v4, "Out of left" .line 441 invoke-static {v0, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I .line 442 iget-object v0, p0, Lcom/moji/crop/CropView;->g:Landroid/graphics/PointF; iget-object v4, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF; iget v4, v4, Landroid/graphics/RectF;->left:F iget-object v6, p0, Lcom/moji/crop/CropView;->i:[F aget v6, v6, v2 mul-float v6, v6, p1 sub-float/2addr v4, v6 sub-float v6, v8, p1 div-float/2addr v4, v6 iput v4, v0, Landroid/graphics/PointF;->x:F .line 444 :cond_4 iget-object v0, p0, Lcom/moji/crop/CropView;->j:[F aget v0, v0, v1 iget-object v4, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF; iget v4, v4, Landroid/graphics/RectF;->top:F cmpl-float v0, v0, v4 if-lez v0, :cond_5 const-string v0, "CropView" const-string v4, "Out of top" .line 445 invoke-static {v0, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I .line 446 iget-object v0, p0, Lcom/moji/crop/CropView;->g:Landroid/graphics/PointF; iget-object v4, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF; iget v4, v4, Landroid/graphics/RectF;->top:F iget-object v6, p0, Lcom/moji/crop/CropView;->i:[F aget v6, v6, v1 mul-float v6, v6, p1 sub-float/2addr v4, v6 sub-float v6, v8, p1 div-float/2addr v4, v6 iput v4, v0, Landroid/graphics/PointF;->y:F .line 448 :cond_5 iget-object v0, p0, Lcom/moji/crop/CropView;->j:[F aget v0, v0, v2 iget v4, p0, Lcom/moji/crop/CropView;->n:I int-to-float v4, v4 iget-object v6, p0, Lcom/moji/crop/CropView;->j:[F aget v6, v6, v3 mul-float v4, v4, v6 add-float/2addr v0, v4 iget-object v4, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF; iget v4, v4, Landroid/graphics/RectF;->right:F cmpg-float v0, v0, v4 if-gez v0, :cond_6 const-string v0, "CropView" const-string v4, "Out of right" .line 449 invoke-static {v0, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I .line 450 iget-object v0, p0, Lcom/moji/crop/CropView;->g:Landroid/graphics/PointF; iget-object v4, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF; iget v4, v4, Landroid/graphics/RectF;->right:F iget-object v6, p0, Lcom/moji/crop/CropView;->i:[F aget v2, v6, v2 iget v6, p0, Lcom/moji/crop/CropView;->n:I int-to-float v6, v6 iget-object v7, p0, Lcom/moji/crop/CropView;->i:[F aget v3, v7, v3 mul-float v6, v6, v3 add-float/2addr v2, v6 mul-float v2, v2, p1 sub-float/2addr v4, v2 sub-float v2, v8, p1 div-float/2addr v4, v2 iput v4, v0, Landroid/graphics/PointF;->x:F .line 454 :cond_6 iget-object v0, p0, Lcom/moji/crop/CropView;->j:[F aget v0, v0, v1 iget v2, p0, Lcom/moji/crop/CropView;->o:I int-to-float v2, v2 iget-object v3, p0, Lcom/moji/crop/CropView;->j:[F aget v3, v3, v5 mul-float v2, v2, v3 add-float/2addr v0, v2 iget-object v2, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF; iget v2, v2, Landroid/graphics/RectF;->bottom:F cmpg-float v0, v0, v2 if-gez v0, :cond_7 const-string v0, "CropView" const-string v2, "Out of bottom" .line 455 invoke-static {v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I .line 456 iget-object v0, p0, Lcom/moji/crop/CropView;->g:Landroid/graphics/PointF; iget-object v2, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF; iget v2, v2, Landroid/graphics/RectF;->bottom:F iget-object v3, p0, Lcom/moji/crop/CropView;->i:[F aget v1, v3, v1 iget v3, p0, Lcom/moji/crop/CropView;->o:I int-to-float v3, v3 iget-object v4, p0, Lcom/moji/crop/CropView;->i:[F aget v4, v4, v5 mul-float v3, v3, v4 add-float/2addr v1, v3 mul-float v1, v1, p1 sub-float/2addr v2, v1 sub-float/2addr v8, p1 div-float/2addr v2, v8 iput v2, v0, Landroid/graphics/PointF;->y:F .line 460 :cond_7 iget-object v0, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix; iget-object v1, p0, Lcom/moji/crop/CropView;->g:Landroid/graphics/PointF; iget v1, v1, Landroid/graphics/PointF;->x:F iget-object v2, p0, Lcom/moji/crop/CropView;->g:Landroid/graphics/PointF; iget v2, v2, Landroid/graphics/PointF;->y:F invoke-virtual {v0, p1, p1, v1, v2}, Landroid/graphics/Matrix;->postScale(FFFF)Z goto/16 :goto_1 .line 395 :pswitch_1 iget-object v0, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix; iget-object v4, p0, Lcom/moji/crop/CropView;->d:Landroid/graphics/Matrix; invoke-virtual {v0, v4}, Landroid/graphics/Matrix;->set(Landroid/graphics/Matrix;)V .line 396 iget-object v0, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix; iget-object v4, p0, Lcom/moji/crop/CropView;->i:[F invoke-virtual {v0, v4}, Landroid/graphics/Matrix;->getValues([F)V .line 397 invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F move-result v0 iget-object v4, p0, Lcom/moji/crop/CropView;->f:Landroid/graphics/PointF; iget v4, v4, Landroid/graphics/PointF;->x:F sub-float/2addr v0, v4 .line 398 invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F move-result p1 iget-object v4, p0, Lcom/moji/crop/CropView;->f:Landroid/graphics/PointF; iget v4, v4, Landroid/graphics/PointF;->y:F sub-float/2addr p1, v4 .line 399 iget-object v4, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF; iget v4, v4, Landroid/graphics/RectF;->left:F iget-object v5, p0, Lcom/moji/crop/CropView;->i:[F aget v5, v5, v2 sub-float/2addr v4, v5 .line 400 iget-object v5, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF; iget v5, v5, Landroid/graphics/RectF;->top:F iget-object v6, p0, Lcom/moji/crop/CropView;->i:[F aget v6, v6, v1 sub-float/2addr v5, v6 .line 401 iget-object v6, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF; iget v6, v6, Landroid/graphics/RectF;->right:F iget v7, p0, Lcom/moji/crop/CropView;->n:I int-to-float v7, v7 iget-object v8, p0, Lcom/moji/crop/CropView;->i:[F aget v8, v8, v3 mul-float v7, v7, v8 iget-object v8, p0, Lcom/moji/crop/CropView;->i:[F aget v2, v8, v2 add-float/2addr v7, v2 sub-float/2addr v6, v7 .line 403 iget-object v2, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF; iget v2, v2, Landroid/graphics/RectF;->bottom:F iget v7, p0, Lcom/moji/crop/CropView;->o:I int-to-float v7, v7 iget-object v8, p0, Lcom/moji/crop/CropView;->i:[F aget v3, v8, v3 mul-float v7, v7, v3 iget-object v3, p0, Lcom/moji/crop/CropView;->i:[F aget v1, v3, v1 add-float/2addr v7, v1 sub-float/2addr v2, v7 cmpl-float v1, v0, v4 if-lez v1, :cond_8 move v0, v4 :cond_8 cmpl-float v1, p1, v5 if-lez v1, :cond_9 move p1, v5 :cond_9 cmpg-float v1, v0, v6 if-gez v1, :cond_a move v0, v6 :cond_a cmpg-float v1, p1, v2 if-gez v1, :cond_b move p1, v2 .line 411 :cond_b iget-object v1, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix; invoke-virtual {v1, v0, p1}, Landroid/graphics/Matrix;->postTranslate(FF)Z :cond_c :goto_1 :pswitch_2 return-void :pswitch_data_0 .packed-switch 0x1 :pswitch_1 :pswitch_0 :pswitch_2 .end packed-switch .end method .method private d(Landroid/view/MotionEvent;)F .locals 4 .line 517 invoke-virtual {p1}, Landroid/view/MotionEvent;->getPointerCount()I move-result v0 const/4 v1, 0x2 if-ge v0, v1, :cond_0 const/4 p1, 0x0 return p1 :cond_0 const/4 v0, 0x0 .line 520 invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getX(I)F move-result v1 const/4 v2, 0x1 invoke-virtual {p1, v2}, Landroid/view/MotionEvent;->getX(I)F move-result v3 sub-float/2addr v1, v3 .line 521 invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getY(I)F move-result v0 invoke-virtual {p1, v2}, Landroid/view/MotionEvent;->getY(I)F move-result p1 sub-float/2addr v0, p1 mul-float v1, v1, v1 mul-float v0, v0, v0 add-float/2addr v1, v0 float-to-double v0, v1 .line 522 invoke-static {v0, v1}, Ljava/lang/Math;->sqrt(D)D move-result-wide v0 double-to-float p1, v0 return p1 .end method # virtual methods .method public a()V .locals 1 .line 330 iget-object v0, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap; if-eqz v0, :cond_0 iget-object v0, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap; invoke-virtual {v0}, Landroid/graphics/Bitmap;->isRecycled()Z move-result v0 if-nez v0, :cond_0 .line 331 iget-object v0, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap; invoke-virtual {v0}, Landroid/graphics/Bitmap;->recycle()V :cond_0 return-void .end method .method public a(I)V .locals 2 .line 308 iget-object v0, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap; invoke-static {v0, p1}, Lcom/moji/crop/CropUtil;->a(Landroid/graphics/Bitmap;I)Landroid/graphics/Bitmap; move-result-object v0 iput-object v0, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap; .line 309 iget-object v0, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView; iget-object v1, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap; invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setImageBitmap(Landroid/graphics/Bitmap;)V .line 310 iget-object v0, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView; sget-object v1, Landroid/widget/ImageView$ScaleType;->FIT_CENTER:Landroid/widget/ImageView$ScaleType; invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V .line 311 iget-object v0, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap; invoke-virtual {v0}, Landroid/graphics/Bitmap;->getWidth()I move-result v0 iput v0, p0, Lcom/moji/crop/CropView;->n:I .line 312 iget-object v0, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap; invoke-virtual {v0}, Landroid/graphics/Bitmap;->getHeight()I move-result v0 iput v0, p0, Lcom/moji/crop/CropView;->o:I .line 313 iget v0, p0, Lcom/moji/crop/CropView;->p:I add-int/2addr v0, p1 iput v0, p0, Lcom/moji/crop/CropView;->p:I const/4 p1, 0x1 .line 314 iput-boolean p1, p0, Lcom/moji/crop/CropView;->q:Z return-void .end method .method public a(Landroid/graphics/Bitmap;ILjava/lang/Runnable;)V .locals 2 .line 138 iget-object v0, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView; sget-object v1, Landroid/widget/ImageView$ScaleType;->MATRIX:Landroid/widget/ImageView$ScaleType; invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V .line 139 iget-object v0, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap; invoke-virtual {v0}, Landroid/graphics/Bitmap;->recycle()V .line 140 iget v0, p0, Lcom/moji/crop/CropView;->p:I if-eqz v0, :cond_0 .line 141 iget v0, p0, Lcom/moji/crop/CropView;->p:I rem-int/lit16 v0, v0, 0x168 invoke-static {p1, v0}, Lcom/moji/crop/CropUtil;->a(Landroid/graphics/Bitmap;I)Landroid/graphics/Bitmap; move-result-object p1 .line 143 :cond_0 iput-object p1, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap; .line 144 iget-object v0, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView; invoke-virtual {v0, p1}, Landroid/widget/ImageView;->setImageBitmap(Landroid/graphics/Bitmap;)V .line 145 invoke-virtual {p1}, Landroid/graphics/Bitmap;->getWidth()I move-result v0 iput v0, p0, Lcom/moji/crop/CropView;->n:I .line 146 invoke-virtual {p1}, Landroid/graphics/Bitmap;->getHeight()I move-result p1 iput p1, p0, Lcom/moji/crop/CropView;->o:I const/4 p1, 0x1 .line 147 iput-boolean p1, p0, Lcom/moji/crop/CropView;->q:Z const/high16 p1, 0x3f800000 # 1.0f int-to-float p2, p2 div-float/2addr p1, p2 const/16 p2, 0x9 .line 150 new-array p2, p2, [F .line 151 iget-object v0, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix; invoke-virtual {v0, p2}, Landroid/graphics/Matrix;->getValues([F)V .line 152 new-instance v0, Lcom/moji/crop/CropView$1; invoke-direct {v0, p0, p2, p1, p3}, Lcom/moji/crop/CropView$1;->(Lcom/moji/crop/CropView;[FFLjava/lang/Runnable;)V invoke-virtual {p0, v0}, Lcom/moji/crop/CropView;->post(Ljava/lang/Runnable;)Z return-void .end method .method public getBitmap()Landroid/graphics/Bitmap; .locals 1 .line 323 iget-object v0, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap; return-object v0 .end method .method public getCropRect()Landroid/graphics/Rect; .locals 9 .line 254 new-instance v0, Landroid/graphics/Rect; iget v1, p0, Lcom/moji/crop/CropView;->n:I iget v2, p0, Lcom/moji/crop/CropView;->o:I const/4 v3, 0x0 invoke-direct {v0, v3, v3, v1, v2}, Landroid/graphics/Rect;->(IIII)V .line 255 iget-object v1, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap; invoke-virtual {v1}, Landroid/graphics/Bitmap;->isRecycled()Z move-result v1 if-nez v1, :cond_4 iget-object v1, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView; invoke-virtual {v1}, Landroid/widget/ImageView;->getDrawable()Landroid/graphics/drawable/Drawable; move-result-object v1 if-eqz v1, :cond_4 .line 256 iget-object v1, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView; sget-object v2, Landroid/widget/ImageView$ScaleType;->MATRIX:Landroid/widget/ImageView$ScaleType; invoke-virtual {v1, v2}, Landroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V .line 257 iget-object v1, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix; iget-object v2, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView; invoke-virtual {v2}, Landroid/widget/ImageView;->getImageMatrix()Landroid/graphics/Matrix; move-result-object v2 invoke-virtual {v1, v2}, Landroid/graphics/Matrix;->set(Landroid/graphics/Matrix;)V .line 258 iget-object v1, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix; iget-object v2, p0, Lcom/moji/crop/CropView;->i:[F invoke-virtual {v1, v2}, Landroid/graphics/Matrix;->getValues([F)V .line 259 iget-object v1, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF; iget-object v2, p0, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView; invoke-virtual {v2}, Lcom/moji/crop/FocusView;->getFocusRect()Landroid/graphics/RectF; move-result-object v2 invoke-virtual {v1, v2}, Landroid/graphics/RectF;->set(Landroid/graphics/RectF;)V .line 261 iget-object v1, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF; iget v1, v1, Landroid/graphics/RectF;->left:F iget-object v2, p0, Lcom/moji/crop/CropView;->i:[F const/4 v4, 0x2 aget v2, v2, v4 sub-float/2addr v1, v2 iget-object v2, p0, Lcom/moji/crop/CropView;->i:[F aget v2, v2, v3 div-float/2addr v1, v2 float-to-int v1, v1 .line 262 iget-object v2, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF; iget v2, v2, Landroid/graphics/RectF;->top:F iget-object v5, p0, Lcom/moji/crop/CropView;->i:[F const/4 v6, 0x5 aget v5, v5, v6 sub-float/2addr v2, v5 iget-object v5, p0, Lcom/moji/crop/CropView;->i:[F const/4 v7, 0x4 aget v5, v5, v7 div-float/2addr v2, v5 float-to-int v2, v2 .line 263 iget-object v5, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF; iget v5, v5, Landroid/graphics/RectF;->right:F iget-object v8, p0, Lcom/moji/crop/CropView;->i:[F aget v4, v8, v4 sub-float/2addr v5, v4 iget-object v4, p0, Lcom/moji/crop/CropView;->i:[F aget v4, v4, v3 div-float/2addr v5, v4 float-to-int v4, v5 .line 264 iget-object v5, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF; iget v5, v5, Landroid/graphics/RectF;->bottom:F iget-object v8, p0, Lcom/moji/crop/CropView;->i:[F aget v6, v8, v6 sub-float/2addr v5, v6 iget-object v6, p0, Lcom/moji/crop/CropView;->i:[F aget v6, v6, v7 div-float/2addr v5, v6 float-to-int v5, v5 if-gez v1, :cond_0 const/4 v1, 0x0 :cond_0 if-gez v2, :cond_1 const/4 v2, 0x0 .line 268 :cond_1 iget v3, p0, Lcom/moji/crop/CropView;->n:I if-le v4, v3, :cond_2 iget v4, p0, Lcom/moji/crop/CropView;->n:I .line 269 :cond_2 iget v3, p0, Lcom/moji/crop/CropView;->o:I if-le v5, v3, :cond_3 iget v5, p0, Lcom/moji/crop/CropView;->o:I .line 270 :cond_3 invoke-virtual {v0, v1, v2, v4, v5}, Landroid/graphics/Rect;->set(IIII)V :cond_4 return-object v0 .end method .method protected onLayout(ZIIII)V .locals 11 move-object v6, p0 .line 215 invoke-super/range {p0 .. p5}, Landroid/widget/FrameLayout;->onLayout(ZIIII)V if-nez p1, :cond_0 .line 216 iget-boolean v0, v6, Lcom/moji/crop/CropView;->q:Z if-eqz v0, :cond_1 :cond_0 const/4 v7, 0x0 .line 217 iput-boolean v7, v6, Lcom/moji/crop/CropView;->q:Z sub-int v8, p4, p2 sub-int v9, p5, p3 .line 220 iget-object v0, v6, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView; invoke-virtual {v0}, Lcom/moji/crop/FocusView;->getFocusRect()Landroid/graphics/RectF; move-result-object v0 iput-object v0, v6, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF; .line 221 iget-object v0, v6, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView; sget-object v1, Landroid/widget/ImageView$ScaleType;->MATRIX:Landroid/widget/ImageView$ScaleType; invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V .line 222 iget-object v0, v6, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix; iget-object v1, v6, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView; invoke-virtual {v1}, Landroid/widget/ImageView;->getImageMatrix()Landroid/graphics/Matrix; move-result-object v1 invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->set(Landroid/graphics/Matrix;)V .line 223 iget-object v0, v6, Lcom/moji/crop/CropView;->d:Landroid/graphics/Matrix; iget-object v1, v6, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix; invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->set(Landroid/graphics/Matrix;)V .line 225 iget v1, v6, Lcom/moji/crop/CropView;->n:I iget v2, v6, Lcom/moji/crop/CropView;->o:I iget-object v0, v6, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView; .line 226 invoke-virtual {v0}, Lcom/moji/crop/FocusView;->getFocusWidth()I move-result v3 iget-object v0, v6, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView; invoke-virtual {v0}, Lcom/moji/crop/FocusView;->getFocusHeight()I move-result v4 const/4 v5, 0x1 move-object v0, p0 .line 225 invoke-direct/range {v0 .. v5}, Lcom/moji/crop/CropView;->a(IIIIZ)F move-result v10 .line 228 iget v1, v6, Lcom/moji/crop/CropView;->n:I iget v2, v6, Lcom/moji/crop/CropView;->o:I const/4 v5, 0x0 move v3, v8 move v4, v9 invoke-direct/range {v0 .. v5}, Lcom/moji/crop/CropView;->a(IIIIZ)F .line 236 iget-object v0, v6, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix; iget v1, v6, Lcom/moji/crop/CropView;->n:I const/4 v2, 0x2 div-int/2addr v1, v2 int-to-float v1, v1 iget v3, v6, Lcom/moji/crop/CropView;->o:I div-int/2addr v3, v2 int-to-float v3, v3 invoke-virtual {v0, v10, v10, v1, v3}, Landroid/graphics/Matrix;->setScale(FFFF)V .line 237 iget-object v0, v6, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix; iget-object v1, v6, Lcom/moji/crop/CropView;->i:[F invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->getValues([F)V .line 238 iget-object v0, v6, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView; invoke-virtual {v0}, Lcom/moji/crop/FocusView;->getFocusMidPoint()Landroid/graphics/PointF; move-result-object v0 .line 240 iget v1, v0, Landroid/graphics/PointF;->x:F iget-object v3, v6, Lcom/moji/crop/CropView;->i:[F aget v2, v3, v2 iget v3, v6, Lcom/moji/crop/CropView;->n:I int-to-float v3, v3 iget-object v4, v6, Lcom/moji/crop/CropView;->i:[F aget v4, v4, v7 mul-float v3, v3, v4 const/high16 v4, 0x40000000 # 2.0f div-float/2addr v3, v4 add-float/2addr v2, v3 sub-float/2addr v1, v2 .line 242 iget v0, v0, Landroid/graphics/PointF;->y:F iget-object v2, v6, Lcom/moji/crop/CropView;->i:[F const/4 v3, 0x5 aget v2, v2, v3 iget v3, v6, Lcom/moji/crop/CropView;->o:I int-to-float v3, v3 iget-object v5, v6, Lcom/moji/crop/CropView;->i:[F const/4 v7, 0x4 aget v5, v5, v7 mul-float v3, v3, v5 div-float/2addr v3, v4 add-float/2addr v2, v3 sub-float/2addr v0, v2 .line 243 iget-object v2, v6, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix; invoke-virtual {v2, v1, v0}, Landroid/graphics/Matrix;->postTranslate(FF)Z .line 244 iget-object v0, v6, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView; iget-object v1, v6, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix; invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setImageMatrix(Landroid/graphics/Matrix;)V :cond_1 return-void .end method .method public onTouchEvent(Landroid/view/MotionEvent;)Z .locals 2 .line 167 iget-boolean v0, p0, Lcom/moji/crop/CropView;->s:Z if-nez v0, :cond_1 iget-object v0, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap; if-nez v0, :cond_0 goto :goto_1 .line 170 :cond_0 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result v0 and-int/lit16 v0, v0, 0xff const/4 v1, 0x3 packed-switch v0, :pswitch_data_0 :pswitch_0 goto :goto_0 .line 185 :pswitch_1 iput v1, p0, Lcom/moji/crop/CropView;->r:I .line 186 iget-object p1, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix; iget-object v0, p0, Lcom/moji/crop/CropView;->i:[F invoke-virtual {p1, v0}, Landroid/graphics/Matrix;->getValues([F)V goto :goto_0 .line 175 :pswitch_2 invoke-direct {p0, p1}, Lcom/moji/crop/CropView;->b(Landroid/view/MotionEvent;)V goto :goto_0 .line 178 :pswitch_3 invoke-direct {p0, p1}, Lcom/moji/crop/CropView;->c(Landroid/view/MotionEvent;)V goto :goto_0 .line 181 :pswitch_4 iput v1, p0, Lcom/moji/crop/CropView;->r:I .line 182 iget-object p1, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix; iget-object v0, p0, Lcom/moji/crop/CropView;->i:[F invoke-virtual {p1, v0}, Landroid/graphics/Matrix;->getValues([F)V goto :goto_0 .line 172 :pswitch_5 invoke-direct {p0, p1}, Lcom/moji/crop/CropView;->a(Landroid/view/MotionEvent;)V .line 189 :goto_0 iget-object p1, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView; iget-object v0, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix; invoke-virtual {p1, v0}, Landroid/widget/ImageView;->setImageMatrix(Landroid/graphics/Matrix;)V const/4 p1, 0x1 return p1 .line 168 :cond_1 :goto_1 invoke-super {p0, p1}, Landroid/widget/FrameLayout;->onTouchEvent(Landroid/view/MotionEvent;)Z move-result p1 return p1 nop :pswitch_data_0 .packed-switch 0x0 :pswitch_5 :pswitch_4 :pswitch_3 :pswitch_0 :pswitch_0 :pswitch_2 :pswitch_1 .end packed-switch .end method .method public setCircleCrop(Z)V .locals 1 .line 299 iget-object v0, p0, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView; if-eqz p1, :cond_0 sget-object p1, Lcom/moji/crop/FocusView$Style;->CIRCLE:Lcom/moji/crop/FocusView$Style; goto :goto_0 :cond_0 sget-object p1, Lcom/moji/crop/FocusView$Style;->RECTANGLE:Lcom/moji/crop/FocusView$Style; :goto_0 invoke-virtual {v0, p1}, Lcom/moji/crop/FocusView;->setFocusStyle(Lcom/moji/crop/FocusView$Style;)V return-void .end method .method public setFocusViewHeight(I)V .locals 1 .line 353 iget-object v0, p0, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView; if-nez v0, :cond_0 return-void .line 356 :cond_0 iget-object v0, p0, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView; invoke-virtual {v0, p1}, Lcom/moji/crop/FocusView;->setFocusHeight(I)V return-void .end method .method public setFocusViewWidth(I)V .locals 1 .line 341 iget-object v0, p0, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView; if-nez v0, :cond_0 return-void .line 344 :cond_0 iget-object v0, p0, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView; invoke-virtual {v0, p1}, Lcom/moji/crop/FocusView;->setFocusWidth(I)V return-void .end method .method public setImageBitmap(Landroid/graphics/Bitmap;)V .locals 2 if-eqz p1, :cond_1 .line 203 iput-object p1, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap; .line 204 iget-object v0, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap; invoke-virtual {v0}, Landroid/graphics/Bitmap;->isRecycled()Z move-result v0 if-nez v0, :cond_0 .line 205 iget-object v0, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView; sget-object v1, Landroid/widget/ImageView$ScaleType;->FIT_CENTER:Landroid/widget/ImageView$ScaleType; invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V .line 206 iget-object v0, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView; invoke-virtual {v0, p1}, Landroid/widget/ImageView;->setImageBitmap(Landroid/graphics/Bitmap;)V const/4 p1, 0x1 .line 207 iput-boolean p1, p0, Lcom/moji/crop/CropView;->q:Z .line 208 iget-object p1, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap; invoke-virtual {p1}, Landroid/graphics/Bitmap;->getWidth()I move-result p1 iput p1, p0, Lcom/moji/crop/CropView;->n:I .line 209 iget-object p1, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap; invoke-virtual {p1}, Landroid/graphics/Bitmap;->getHeight()I move-result p1 iput p1, p0, Lcom/moji/crop/CropView;->o:I :cond_0 return-void .line 201 :cond_1 new-instance p1, Ljava/lang/IllegalStateException; const-string v0, "The bitmap sets to should not be null" invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 .end method .method public setSaving(Z)V .locals 0 .line 281 iput-boolean p1, p0, Lcom/moji/crop/CropView;->s:Z return-void .end method