@Override
  public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);

    int width = getMeasuredWidth();
    int height = getMeasuredHeight();
    int curve = (int) (height * 1.125f);

    mPath.reset();

    if (mSide == CurveTowards.LEFT) {
      mPath.moveTo(0, height);
      mPath.cubicTo(curve * 0.75f, height, curve * 0.25f, 0, curve, 0);
      mPath.lineTo(0, 0);
      mPath.lineTo(0, height);
    } else if (mSide == CurveTowards.RIGHT) {
      mPath.moveTo(width, height);
      mPath.cubicTo(
          (width - (curve * 0.75f)), height,
          (width - (curve * 0.25f)), 0,
          (width - curve), 0);
      mPath.lineTo(width, 0);
      mPath.lineTo(width, height);
    }
  }
Exemple #2
0
 protected final int h(int paramInt, Object... paramVarArgs) {
   switch (paramInt) {
   }
   for (; ; ) {
     return 0;
     return 46;
     return 46;
     Canvas localCanvas = (Canvas) paramVarArgs[0];
     paramVarArgs = (Looper) paramVarArgs[1];
     c.e(paramVarArgs);
     c.d(paramVarArgs);
     Object localObject = c.h(paramVarArgs);
     ((Paint) localObject).setFlags(385);
     ((Paint) localObject).setStyle(Paint.Style.FILL);
     Paint localPaint1 = c.h(paramVarArgs);
     localPaint1.setFlags(385);
     localPaint1.setStyle(Paint.Style.STROKE);
     ((Paint) localObject).setColor(-16777216);
     localPaint1.setStrokeWidth(1.0F);
     localPaint1.setStrokeCap(Paint.Cap.BUTT);
     localPaint1.setStrokeJoin(Paint.Join.MITER);
     localPaint1.setStrokeMiter(4.0F);
     localPaint1.setPathEffect(null);
     Paint localPaint2 = c.a(localPaint1, paramVarArgs);
     localPaint2.set(localPaint1);
     localPaint2.setStrokeWidth(1.0F);
     localCanvas.save();
     localPaint1 = c.a((Paint) localObject, paramVarArgs);
     localPaint1.set((Paint) localObject);
     localPaint1.setColor(-8744017);
     localObject = c.i(paramVarArgs);
     ((Path) localObject).moveTo(30.430653F, 34.178318F);
     ((Path) localObject).cubicTo(27.249908F, 36.57749F, 23.291077F, 38.0F, 19.0F, 38.0F);
     ((Path) localObject).cubicTo(8.50659F, 38.0F, 0.0F, 29.49341F, 0.0F, 19.0F);
     ((Path) localObject).cubicTo(0.0F, 8.50659F, 8.50659F, 0.0F, 19.0F, 0.0F);
     ((Path) localObject).cubicTo(29.49341F, 0.0F, 38.0F, 8.50659F, 38.0F, 19.0F);
     ((Path) localObject)
         .cubicTo(38.0F, 23.291077F, 36.57749F, 27.249908F, 34.178318F, 30.430653F);
     ((Path) localObject).lineTo(45.619164F, 41.8715F);
     ((Path) localObject).lineTo(41.8715F, 45.619164F);
     ((Path) localObject).lineTo(30.430653F, 34.178318F);
     ((Path) localObject).close();
     ((Path) localObject).moveTo(27.062714F, 30.44662F);
     ((Path) localObject).cubicTo(24.783264F, 32.055153F, 22.001972F, 33.0F, 19.0F, 33.0F);
     ((Path) localObject).cubicTo(11.268014F, 33.0F, 5.0F, 26.731987F, 5.0F, 19.0F);
     ((Path) localObject).cubicTo(5.0F, 11.268014F, 11.268014F, 5.0F, 19.0F, 5.0F);
     ((Path) localObject).cubicTo(26.731987F, 5.0F, 33.0F, 11.268014F, 33.0F, 19.0F);
     ((Path) localObject)
         .cubicTo(33.0F, 22.001972F, 32.055153F, 24.783264F, 30.44662F, 27.062714F);
     ((Path) localObject).lineTo(27.062714F, 30.44662F);
     ((Path) localObject).close();
     WeChatSVGRenderC2Java.setFillType((Path) localObject, 2);
     localCanvas.drawPath((Path) localObject, localPaint1);
     localCanvas.restore();
     c.g(paramVarArgs);
   }
 }
 static {
   PATH_INDETERMINATE_HORIZONTAL_RECT1_SCALE_X = new Path();
   PATH_INDETERMINATE_HORIZONTAL_RECT1_SCALE_X.moveTo(0, 0);
   PATH_INDETERMINATE_HORIZONTAL_RECT1_SCALE_X.lineTo(0.3665f, 0);
   PATH_INDETERMINATE_HORIZONTAL_RECT1_SCALE_X.cubicTo(
       0.47252618112021f, 0.062409910275f, 0.61541608570164f, 0.5f, 0.68325f, 0.5f);
   PATH_INDETERMINATE_HORIZONTAL_RECT1_SCALE_X.cubicTo(
       0.75475061236836f, 0.5f, 0.75725829093844f, 0.814510098964f, 1, 1);
 }
 static {
   PATH_INDETERMINATE_HORIZONTAL_RECT1_TRANSLATE_X = new Path();
   PATH_INDETERMINATE_HORIZONTAL_RECT1_TRANSLATE_X.moveTo(0, 0);
   PATH_INDETERMINATE_HORIZONTAL_RECT1_TRANSLATE_X.lineTo(0.2f, 0);
   PATH_INDETERMINATE_HORIZONTAL_RECT1_TRANSLATE_X.cubicTo(
       0.3958333333336f, 0, 0.474845090492f, 0.206797621729f, 0.5916666666664f, 0.417082932942f);
   PATH_INDETERMINATE_HORIZONTAL_RECT1_TRANSLATE_X.cubicTo(
       0.7151610251224f, 0.639379624869f, 0.81625f, 0.974556908664f, 1, 1);
 }
 protected final int i(int paramInt, Object... paramVarArgs) {
   switch (paramInt) {
   }
   for (; ; ) {
     return 0;
     return 28;
     return 16;
     Canvas localCanvas = (Canvas) paramVarArgs[0];
     paramVarArgs = (Looper) paramVarArgs[1];
     c.d(paramVarArgs);
     c.c(paramVarArgs);
     Paint localPaint = c.g(paramVarArgs);
     localPaint.setFlags(385);
     localPaint.setStyle(Paint.Style.FILL);
     Object localObject = c.g(paramVarArgs);
     ((Paint) localObject).setFlags(385);
     ((Paint) localObject).setStyle(Paint.Style.STROKE);
     localPaint.setColor(-16777216);
     ((Paint) localObject).setStrokeWidth(1.0F);
     ((Paint) localObject).setStrokeCap(Paint.Cap.BUTT);
     ((Paint) localObject).setStrokeJoin(Paint.Join.MITER);
     ((Paint) localObject).setStrokeMiter(4.0F);
     ((Paint) localObject).setPathEffect(null);
     c.a((Paint) localObject, paramVarArgs).setStrokeWidth(1.0F);
     localCanvas.save();
     localPaint = c.a(localPaint, paramVarArgs);
     localPaint.setColor(-3355444);
     localObject = c.h(paramVarArgs);
     ((Path) localObject).moveTo(13.962992F, 10.188502F);
     ((Path) localObject)
         .cubicTo(13.08834F, 9.283867F, 12.178382F, 8.349955F, 11.50355F, 7.6751227F);
     ((Path) localObject).lineTo(3.828427F, 8.881784E-16F);
     ((Path) localObject).lineTo(1.0F, 2.828427F);
     ((Path) localObject).lineTo(13.9616785F, 15.961207F);
     ((Path) localObject).lineTo(13.994814F, 15.928072F);
     ((Path) localObject).lineTo(14.008518F, 15.941776F);
     ((Path) localObject).lineTo(15.711977F, 14.210909F);
     ((Path) localObject).lineTo(16.790106F, 13.13278F);
     ((Path) localObject)
         .cubicTo(16.790106F, 13.13278F, 16.787266F, 13.1298F, 16.781706F, 13.123969F);
     ((Path) localObject).lineTo(26.914213F, 2.828427F);
     ((Path) localObject).lineTo(24.085787F, -5.3290705E-15F);
     ((Path) localObject).lineTo(16.410664F, 7.6751227F);
     ((Path) localObject)
         .cubicTo(15.7343025F, 8.351483F, 14.829623F, 9.285367F, 13.962992F, 10.188502F);
     ((Path) localObject).close();
     WeChatSVGRenderC2Java.setFillType((Path) localObject, 2);
     localCanvas.drawPath((Path) localObject, localPaint);
     localCanvas.restore();
     c.f(paramVarArgs);
   }
 }
 protected final int i(int paramInt, Object... paramVarArgs) {
   switch (paramInt) {
   }
   for (; ; ) {
     return 0;
     return 168;
     return 168;
     Canvas localCanvas = (Canvas) paramVarArgs[0];
     paramVarArgs = (Looper) paramVarArgs[1];
     Object localObject1 = c.d(paramVarArgs);
     Object localObject2 = c.c(paramVarArgs);
     Paint localPaint1 = c.g(paramVarArgs);
     localPaint1.setFlags(385);
     localPaint1.setStyle(Paint.Style.FILL);
     Paint localPaint2 = c.g(paramVarArgs);
     localPaint2.setFlags(385);
     localPaint2.setStyle(Paint.Style.STROKE);
     localPaint1.setColor(-16777216);
     localPaint2.setStrokeWidth(1.0F);
     localPaint2.setStrokeCap(Paint.Cap.BUTT);
     localPaint2.setStrokeJoin(Paint.Join.MITER);
     localPaint2.setStrokeMiter(4.0F);
     localPaint2.setPathEffect(null);
     c.a(localPaint2, paramVarArgs).setStrokeWidth(1.0F);
     localPaint1 = c.a(localPaint1, paramVarArgs);
     localPaint1.setColor(-9473160);
     localCanvas.save();
     localObject2 = c.a((float[]) localObject2, 1.0F, 0.0F, 51.0F, 0.0F, 1.0F, 39.0F);
     ((Matrix) localObject1).reset();
     ((Matrix) localObject1).setValues((float[]) localObject2);
     localCanvas.concat((Matrix) localObject1);
     localCanvas.save();
     localObject1 = c.a(localPaint1, paramVarArgs);
     localObject2 = c.h(paramVarArgs);
     ((Path) localObject2).moveTo(31.624044F, 90.34997F);
     ((Path) localObject2)
         .cubicTo(32.383965F, 91.14044F, 33.629753F, 91.13373F, 34.386406F, 90.3389F);
     ((Path) localObject2).cubicTo(34.386406F, 90.3389F, 66.0F, 58.57656F, 66.0F, 33.461914F);
     ((Path) localObject2).cubicTo(66.0F, 14.90092F, 51.225395F, 0.0F, 33.47826F, 0.0F);
     ((Path) localObject2).cubicTo(14.774603F, 0.0F, 0.0F, 14.90092F, 0.0F, 33.461914F);
     ((Path) localObject2).cubicTo(0.0F, 58.57656F, 31.624044F, 90.34997F, 31.624044F, 90.34997F);
     ((Path) localObject2).close();
     ((Path) localObject2).moveTo(33.0F, 44.30819F);
     ((Path) localObject2).cubicTo(39.07513F, 44.30819F, 44.0F, 39.348827F, 44.0F, 33.231144F);
     ((Path) localObject2).cubicTo(44.0F, 27.113459F, 39.07513F, 22.154095F, 33.0F, 22.154095F);
     ((Path) localObject2).cubicTo(26.924868F, 22.154095F, 22.0F, 27.113459F, 22.0F, 33.231144F);
     ((Path) localObject2).cubicTo(22.0F, 39.348827F, 26.924868F, 44.30819F, 33.0F, 44.30819F);
     ((Path) localObject2).close();
     WeChatSVGRenderC2Java.setFillType((Path) localObject2, 2);
     localCanvas.drawPath((Path) localObject2, (Paint) localObject1);
     localCanvas.restore();
     localCanvas.restore();
     c.f(paramVarArgs);
   }
 }
 static {
   PATH_INDETERMINATE_HORIZONTAL_RECT2_TRANSLATE_X = new Path();
   PATH_INDETERMINATE_HORIZONTAL_RECT2_TRANSLATE_X.moveTo(0, 0);
   PATH_INDETERMINATE_HORIZONTAL_RECT2_TRANSLATE_X.cubicTo(
       0.0375f, 0, 0.128764607715f, 0.0895380946618f, 0.25f, 0.218553507947f);
   PATH_INDETERMINATE_HORIZONTAL_RECT2_TRANSLATE_X.cubicTo(
       0.322410320025f,
       0.295610602487f,
       0.436666666667f,
       0.417591408114f,
       0.483333333333f,
       0.489826169306f);
   PATH_INDETERMINATE_HORIZONTAL_RECT2_TRANSLATE_X.cubicTo(
       0.69f, 0.80972296795f, 0.793333333333f, 0.950016125212f, 1, 1);
 }
Exemple #8
0
 private void drawYMotion(Canvas canvas) {
   canvas.drawArc(mOval, 0, -180, true, mFstHalfPaint);
   canvas.drawArc(mOval, -180, -180, true, mScndHalfPaint);
   mPath.reset();
   mPath.moveTo(0, mHalf);
   mPath.cubicTo(0, mAxisValue, mDiameter, mAxisValue, mDiameter, mHalf);
 }
Exemple #9
0
  /**
   * 描述:TODO.
   *
   * @param canvas the canvas
   * @param points the points
   * @param paint the paint
   * @param circular the circular
   * @see com.ab.view.chart.AbstractChart#drawPath(android.graphics.Canvas, float[],
   *     android.graphics.Paint, boolean)
   */
  @Override
  protected void drawPath(Canvas canvas, float[] points, Paint paint, boolean circular) {
    Path p = new Path();
    float x = points[0];
    float y = points[1];
    p.moveTo(x, y);

    int length = points.length;
    if (circular) {
      length -= 4;
    }

    for (int i = 0; i < length; i += 2) {
      int nextIndex = i + 2 < length ? i + 2 : i;
      int nextNextIndex = i + 4 < length ? i + 4 : nextIndex;
      calc(points, p1, i, nextIndex, secondMultiplier);
      p2.setX(points[nextIndex]);
      p2.setY(points[nextIndex + 1]);
      calc(points, p3, nextIndex, nextNextIndex, firstMultiplier);
      // From last point, approaching x1/y1 and x2/y2 and ends up at x3/y3
      p.cubicTo(p1.getX(), p1.getY(), p2.getX(), p2.getY(), p3.getX(), p3.getY());
    }
    if (circular) {
      for (int i = length; i < length + 4; i += 2) {
        p.lineTo(points[i], points[i + 1]);
      }
      p.lineTo(points[0], points[1]);
    }
    canvas.drawPath(p, paint);
  }
Exemple #10
0
  Bitmap getSmile() {

    float x1, y1, x3, y3;
    x1 = 200;
    y1 = 300;
    x3 = 250;
    y3 = 300;

    Paint paint =
        new Paint() {
          {
            setStyle(Paint.Style.STROKE);
            setStrokeCap(Paint.Cap.ROUND);
            setStrokeWidth(3.0f);
            setAntiAlias(true);
          }
        };
    final Path path = new Path();
    path.moveTo(x1, 290);

    final float x2 = (x3 + x1) / 2;
    final float y2 = (y3 + y1) / 2;
    path.cubicTo(x1, y1, x2, y2, x3, y3);
    Bitmap bg = Bitmap.createBitmap(480, 800, Bitmap.Config.ARGB_8888);
    Canvas canvas_smile = new Canvas(bg);
    canvas_smile.drawPath(path, paint);
    return bg;
  }
 private static Path createCubic(
     float paramFloat1, float paramFloat2, float paramFloat3, float paramFloat4) {
   Path localPath = new Path();
   localPath.moveTo(0.0F, 0.0F);
   localPath.cubicTo(paramFloat1, paramFloat2, paramFloat3, paramFloat4, 1.0F, 1.0F);
   return localPath;
 }
 static {
   PATH_INDETERMINATE_HORIZONTAL_RECT2_SCALE_X = new Path();
   PATH_INDETERMINATE_HORIZONTAL_RECT2_SCALE_X.moveTo(0, 0);
   PATH_INDETERMINATE_HORIZONTAL_RECT2_SCALE_X.cubicTo(
       0.06834272400867f,
       0.01992566661414f,
       0.19220331656133f,
       0.15855429260523f,
       0.33333333333333f,
       0.34926160892842f);
   PATH_INDETERMINATE_HORIZONTAL_RECT2_SCALE_X.cubicTo(
       0.38410433133433f,
       0.41477913453861f,
       0.54945792615267f,
       0.68136029463551f,
       0.66666666666667f,
       0.68279962777002f);
   PATH_INDETERMINATE_HORIZONTAL_RECT2_SCALE_X.cubicTo(
       0.752586273196f, 0.68179620963216f, 0.737253971954f, 0.878896194318f, 1, 1);
 }
  @Override
  protected void onDraw(Canvas canvas) {
    //        if (y > -50) {
    //            y--;
    //        }
    // 采用三阶贝塞尔   不停地改变X 模拟水波效果
    if (x > 50) {
      isLeft = true;
    } else if (x < 0) {
      isLeft = false;
    }

    if (isLeft) {
      x = x - 1;
    } else {
      x = x + 1;
    }
    mPath.reset();
    y = (int) ((1 - mPercent / 100f) * mHeight);
    // 设置起点
    mPath.moveTo(0, y);
    // 画二阶贝塞尔曲线,前两个为辅助坐标点   第三个点为终点
    mPath.cubicTo(100 + x * 2, 50 + y, 100 + x * 2, y - 50, mWidth, y);
    mPath.lineTo(mWidth, mHeight); // 充满整个画布
    mPath.lineTo(0, mHeight); // 充满整个画布
    mPath.close();

    // 清除掉图像 不然path会重叠
    mBitmap.eraseColor(Color.parseColor("#00000000"));
    // dst
    //        mCanvas.drawBitmap(bgBitmap,0,0,null);
    //        mSRCPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_OVER));

    mCanvas.drawCircle(mWidth / 2, mHeight / 2, mWidth / 2, mSRCPaint);

    mWavePaint.setXfermode(mMode);
    // src
    mCanvas.drawPath(mPath, mWavePaint);
    mWavePaint.setXfermode(null);
    // 清空mBitmap,不然path会重叠
    canvas.drawBitmap(mBitmap, 0, 0, null);
    String str = mPercent + "";
    mTextPaint.setTextSize(80);
    float txtLength = mTextPaint.measureText(str);
    canvas.drawText(str, mWidth / 2 - txtLength / 2, mHeight / 2 + 15, mTextPaint);
    mTextPaint.setTextSize(40);
    canvas.drawText("%", mWidth / 2 + 50, mHeight / 2 - 20, mTextPaint);

    postInvalidateDelayed(10);
  }
 protected final int i(int paramInt, Object... paramVarArgs) {
   switch (paramInt) {
   }
   for (; ; ) {
     return 0;
     return 100;
     return 100;
     Canvas localCanvas = (Canvas) paramVarArgs[0];
     paramVarArgs = (Looper) paramVarArgs[1];
     c.d(paramVarArgs);
     c.c(paramVarArgs);
     Paint localPaint = c.g(paramVarArgs);
     localPaint.setFlags(385);
     localPaint.setStyle(Paint.Style.FILL);
     Object localObject = c.g(paramVarArgs);
     ((Paint) localObject).setFlags(385);
     ((Paint) localObject).setStyle(Paint.Style.STROKE);
     localPaint.setColor(-16777216);
     ((Paint) localObject).setStrokeWidth(1.0F);
     ((Paint) localObject).setStrokeCap(Paint.Cap.BUTT);
     ((Paint) localObject).setStrokeJoin(Paint.Join.MITER);
     ((Paint) localObject).setStrokeMiter(4.0F);
     ((Paint) localObject).setPathEffect(null);
     c.a((Paint) localObject, paramVarArgs).setStrokeWidth(1.0F);
     localPaint = c.a(localPaint, paramVarArgs);
     localPaint.setColor(-4210753);
     localCanvas.save();
     localPaint = c.a(localPaint, paramVarArgs);
     localObject = c.h(paramVarArgs);
     ((Path) localObject).moveTo(47.0F, 0.0F);
     ((Path) localObject).lineTo(53.0F, 0.0F);
     ((Path) localObject).lineTo(53.0F, 47.0F);
     ((Path) localObject).lineTo(100.0F, 47.0F);
     ((Path) localObject).lineTo(100.0F, 53.0F);
     ((Path) localObject).lineTo(53.0F, 53.0F);
     ((Path) localObject).lineTo(53.0F, 100.0F);
     ((Path) localObject).lineTo(47.0F, 100.0F);
     ((Path) localObject).lineTo(47.0F, 53.0F);
     ((Path) localObject).lineTo(0.0F, 53.0F);
     ((Path) localObject).lineTo(0.0F, 47.0F);
     ((Path) localObject).lineTo(47.0F, 47.0F);
     ((Path) localObject).cubicTo(47.01F, 31.33F, 47.0F, 15.67F, 47.0F, 0.0F);
     ((Path) localObject).lineTo(47.0F, 0.0F);
     ((Path) localObject).close();
     WeChatSVGRenderC2Java.setFillType((Path) localObject, 2);
     localCanvas.drawPath((Path) localObject, localPaint);
     localCanvas.restore();
     c.f(paramVarArgs);
   }
 }
  private void parsePath() {
    mPath = new Path();
    char method;

    Scanner in = new Scanner(mPathData);

    while (in.hasNextLine()) {
      // Handle first string, which is a letter indicating which path method to use
      method = in.next().charAt(0);

      switch (method) {
        case 'M':
          mPath.moveTo(in.nextFloat(), in.nextFloat());
          break;
        case 'c':
          mPath.rCubicTo(
              in.nextFloat(),
              in.nextFloat(),
              in.nextFloat(),
              in.nextFloat(),
              in.nextFloat(),
              in.nextFloat());
          break;
        case 'C':
          mPath.cubicTo(
              in.nextFloat(),
              in.nextFloat(),
              in.nextFloat(),
              in.nextFloat(),
              in.nextFloat(),
              in.nextFloat());
          break;
        case 'L':
          mPath.lineTo(in.nextFloat(), in.nextFloat());
          break;
        case 'l':
          mPath.rLineTo(in.nextFloat(), in.nextFloat());
          break;
        case 'z':
          mPath.close();
          break;
      }
    }
  }
 protected final int i(int paramInt, Object... paramVarArgs) {
   switch (paramInt) {
   }
   for (; ; ) {
     return 0;
     return 28;
     return 21;
     Canvas localCanvas = (Canvas) paramVarArgs[0];
     paramVarArgs = (Looper) paramVarArgs[1];
     c.d(paramVarArgs);
     c.c(paramVarArgs);
     Paint localPaint = c.g(paramVarArgs);
     localPaint.setFlags(385);
     localPaint.setStyle(Paint.Style.FILL);
     Object localObject = c.g(paramVarArgs);
     ((Paint) localObject).setFlags(385);
     ((Paint) localObject).setStyle(Paint.Style.STROKE);
     localPaint.setColor(-16777216);
     ((Paint) localObject).setStrokeWidth(1.0F);
     ((Paint) localObject).setStrokeCap(Paint.Cap.BUTT);
     ((Paint) localObject).setStrokeJoin(Paint.Join.MITER);
     ((Paint) localObject).setStrokeMiter(4.0F);
     ((Paint) localObject).setPathEffect(null);
     c.a((Paint) localObject, paramVarArgs).setStrokeWidth(1.0F);
     localPaint = c.a(localPaint, paramVarArgs);
     localPaint.setColor(-2763307);
     localCanvas.save();
     localPaint = c.a(localPaint, paramVarArgs);
     localObject = c.h(paramVarArgs);
     ((Path) localObject).moveTo(9.740437F, 16.82034F);
     ((Path) localObject).cubicTo(15.206292F, 11.2271185F, 20.54201F, 5.501695F, 26.097961F, 0.0F);
     ((Path) localObject)
         .cubicTo(26.568466F, 0.4881356F, 27.519485F, 1.4745762F, 28.0F, 1.9728813F);
     ((Path) localObject)
         .cubicTo(22.303898F, 8.583051F, 15.887022F, 14.532204F, 10.040758F, 21.0F);
     ((Path) localObject).cubicTo(6.677154F, 18.21356F, 3.283518F, 15.488135F, 0.0F, 12.620339F);
     ((Path) localObject).lineTo(0.0F, 10.932203F);
     ((Path) localObject)
         .cubicTo(0.41043976F, 10.718644F, 1.2313193F, 10.291526F, 1.641759F, 10.088136F);
     ((Path) localObject)
         .cubicTo(4.3346443F, 12.335593F, 7.0275297F, 14.593221F, 9.740437F, 16.82034F);
     ((Path) localObject).lineTo(9.740437F, 16.82034F);
     ((Path) localObject).close();
     WeChatSVGRenderC2Java.setFillType((Path) localObject, 2);
     localCanvas.drawPath((Path) localObject, localPaint);
     localCanvas.restore();
     c.f(paramVarArgs);
   }
 }
  private void drawscrollline(Point[] ps, Canvas canvas, Paint paint) {
    Point startp = new Point();
    Point endp = new Point();
    for (int i = 0; i < ps.length - 1; i++) {
      startp = ps[i];
      endp = ps[i + 1];
      int wt = (startp.x + endp.x) / 2;
      Point p3 = new Point();
      Point p4 = new Point();
      p3.y = startp.y;
      p3.x = wt;
      p4.y = endp.y;
      p4.x = wt;

      Path path = new Path();
      path.moveTo(startp.x, startp.y);
      path.cubicTo(p3.x, p3.y, p4.x, p4.y, endp.x, endp.y);
      canvas.drawPath(path, paint);
    }
  }
Exemple #18
0
  Path smoothPath(Coordinate[] coords) {
    Path path = new Path();
    path.moveTo((float) coords[0].x, (float) coords[0].y);

    Iterator<Coordinate> ctrl = cubicSplineControlPoints(coords, 0).iterator();

    for (int i = 1; i < coords.length; i++) {
      Coordinate c = coords[i];
      Coordinate ctrl1 = ctrl.next();
      Coordinate ctrl2 = ctrl.next();

      path.cubicTo(
          (float) ctrl1.x,
          (float) ctrl1.y,
          (float) ctrl2.x,
          (float) ctrl2.y,
          (float) c.x,
          (float) c.y);
    }
    path.transform(tx.worldToCanvas);
    return path;
  }
  public void setWidth(float width, float height) {
    mPaperPath.moveTo(0.038f * width, 0.025f * height);
    mPaperPath.cubicTo(
        0.038f * width, 0.025f * height,
        0.993f * width, 0.024f * height,
        0.993f * width, 0.024f * height);
    mPaperPath.cubicTo(
        0.994f * width, 0.117f * height,
        1.0f * width, 0.147f * height,
        0.988f * width, 0.501f * height);

    mPaperPath.cubicTo(
        0.977f * width, 0.851f * height,
        0.953f * width, 0.888f * height,
        0.948f * width, 0.947f * height);
    mPaperPath.cubicTo(
        0.948f * width, 0.947f * height,
        0.248f * width, 0.937f * height,
        0.003f * width, 0.922f * height);
    mPaperPath.cubicTo(
        0.003f * width, 0.922f * height,
        0.023f * width, 0.797f * height,
        0.031f * width, 0.529f * height);
    mPaperPath.cubicTo(
        0.041f * width, 0.196f * height,
        0.03f * width, 0.136f * height,
        0.038f * width, 0.025f * height);
    mPaperPath.close();

    mLinePath.moveTo(0.15f * width, 0.08f * height);
    mLinePath.lineTo(0.68f * width, 0.08f * height);
    mLinePath.moveTo(0.186f * width, 0.12f * height);
    mLinePath.lineTo(0.698f * width, 0.12f * height);
    mLinePath.close();
    /*        mLinePath.moveTo(0.334f * width, 0.82f * height);
    mLinePath.lineTo(0.85f * width, 0.82f * height);
    mLinePath.moveTo(0.32f * width, 0.86f * height);
    mLinePath.lineTo(0.832f * width, 0.86f * height);*/

    mShadowPath.moveTo(0.03f * width, 0.03f * height);
    mShadowPath.lineTo(0.03f * width, 0.96f * height);
    mShadowPath.lineTo(0.98f * width, 0.96f * height);
    mShadowPath.lineTo(0.98f * width, 0.03f * height);
    mShadowPath.close();
  }
  private Path convertAwtPathToAndroid(PathIterator pi) {
    Path path = new Path();
    float[] coords = new float[6];
    while (!pi.isDone()) {
      int windingRule = pi.getWindingRule();

      if (windingRule == PathIterator.WIND_EVEN_ODD) {
        path.setFillType(Path.FillType.EVEN_ODD);
      } else {
        path.setFillType(Path.FillType.WINDING);
      }

      int pathType = pi.currentSegment(coords);

      switch (pathType) {
        case PathIterator.SEG_CLOSE:
          path.close();
          break;
        case PathIterator.SEG_CUBICTO:
          path.cubicTo(coords[0], coords[1], coords[2], coords[3], coords[4], coords[5]);
          break;
        case PathIterator.SEG_LINETO:
          path.lineTo(coords[0], coords[1]);
          break;
        case PathIterator.SEG_MOVETO:
          path.moveTo(coords[0], coords[1]);
          break;
        case PathIterator.SEG_QUADTO:
          path.quadTo(coords[0], coords[1], coords[2], coords[3]);
          break;
      }

      pi.next();
    }
    return path;
  }
 protected final int i(int paramInt, Object... paramVarArgs) {
   switch (paramInt) {
   }
   for (; ; ) {
     return 0;
     return 96;
     return 96;
     Canvas localCanvas = (Canvas) paramVarArgs[0];
     paramVarArgs = (Looper) paramVarArgs[1];
     c.d(paramVarArgs);
     c.c(paramVarArgs);
     Paint localPaint = c.g(paramVarArgs);
     localPaint.setFlags(385);
     localPaint.setStyle(Paint.Style.FILL);
     Object localObject = c.g(paramVarArgs);
     ((Paint) localObject).setFlags(385);
     ((Paint) localObject).setStyle(Paint.Style.STROKE);
     localPaint.setColor(-16777216);
     ((Paint) localObject).setStrokeWidth(1.0F);
     ((Paint) localObject).setStrokeCap(Paint.Cap.BUTT);
     ((Paint) localObject).setStrokeJoin(Paint.Join.MITER);
     ((Paint) localObject).setStrokeMiter(4.0F);
     ((Paint) localObject).setPathEffect(null);
     c.a((Paint) localObject, paramVarArgs).setStrokeWidth(1.0F);
     localPaint = c.a(localPaint, paramVarArgs);
     localPaint.setColor(-1);
     localCanvas.save();
     localObject = c.a(localPaint, paramVarArgs);
     Path localPath = c.h(paramVarArgs);
     localPath.moveTo(19.0F, 17.0F);
     localPath.cubicTo(26.126581F, 16.871616F, 33.05786F, 17.050594F, 40.0F, 17.0F);
     localPath.cubicTo(41.500694F, 16.901445F, 42.11725F, 18.681273F, 42.0F, 20.0F);
     localPath.cubicTo(41.888527F, 26.516483F, 42.18686F, 33.128685F, 42.0F, 40.0F);
     localPath.cubicTo(41.52058F, 39.96958F, 40.973637F, 40.516457F, 41.0F, 41.0F);
     localPath.cubicTo(33.833527F, 41.142876F, 26.932081F, 40.963898F, 20.0F, 41.0F);
     localPath.cubicTo(18.459415F, 41.04344F, 17.822971F, 39.293446F, 18.0F, 38.0F);
     localPath.cubicTo(18.121304F, 31.388632F, 17.84286F, 24.766487F, 18.0F, 18.0F);
     localPath.cubicTo(18.44947F, 17.925592F, 18.966581F, 17.428434F, 19.0F, 17.0F);
     localPath.lineTo(19.0F, 17.0F);
     localPath.close();
     WeChatSVGRenderC2Java.setFillType(localPath, 2);
     localCanvas.drawPath(localPath, (Paint) localObject);
     localCanvas.restore();
     localCanvas.save();
     localObject = c.a(localPaint, paramVarArgs);
     localPath = c.h(paramVarArgs);
     localPath.moveTo(56.0F, 17.0F);
     localPath.cubicTo(62.90879F, 16.858274F, 69.524796F, 17.087189F, 76.0F, 17.0F);
     localPath.cubicTo(77.37446F, 16.828415F, 79.09561F, 17.495256F, 79.0F, 19.0F);
     localPath.cubicTo(79.04587F, 25.358007F, 78.95633F, 31.707926F, 79.0F, 38.0F);
     localPath.cubicTo(79.155304F, 39.321857F, 78.55837F, 41.07356F, 77.0F, 41.0F);
     localPath.cubicTo(70.64902F, 41.08351F, 64.32153F, 40.954124F, 58.0F, 41.0F);
     localPath.cubicTo(56.73054F, 41.103416F, 54.919846F, 40.575916F, 55.0F, 39.0F);
     localPath.cubicTo(55.04918F, 32.016464F, 54.840252F, 25.049469F, 55.0F, 18.0F);
     localPath.cubicTo(55.49688F, 17.883417F, 56.044067F, 17.395727F, 56.0F, 17.0F);
     localPath.lineTo(56.0F, 17.0F);
     localPath.close();
     WeChatSVGRenderC2Java.setFillType(localPath, 2);
     localCanvas.drawPath(localPath, (Paint) localObject);
     localCanvas.restore();
     localCanvas.save();
     localObject = c.a(localPaint, paramVarArgs);
     localPath = c.h(paramVarArgs);
     localPath.moveTo(19.0F, 54.0F);
     localPath.cubicTo(26.09006F, 53.835354F, 33.019386F, 54.054123F, 40.0F, 54.0F);
     localPath.cubicTo(41.53171F, 53.92485F, 42.129066F, 55.704838F, 42.0F, 57.0F);
     localPath.cubicTo(41.94986F, 63.341885F, 42.08924F, 69.69615F, 42.0F, 76.0F);
     localPath.cubicTo(42.01955F, 77.57185F, 40.317085F, 78.168495F, 39.0F, 78.0F);
     localPath.cubicTo(32.42203F, 77.89006F, 25.77147F, 78.158554F, 19.0F, 78.0F);
     localPath.cubicTo(17.448309F, 76.80616F, 18.214916F, 74.61846F, 18.0F, 73.0F);
     localPath.cubicTo(18.13527F, 67.08086F, 17.826635F, 61.134304F, 18.0F, 55.0F);
     localPath.cubicTo(18.42399F, 54.96898F, 18.951654F, 54.48172F, 19.0F, 54.0F);
     localPath.lineTo(19.0F, 54.0F);
     localPath.close();
     WeChatSVGRenderC2Java.setFillType(localPath, 2);
     localCanvas.drawPath(localPath, (Paint) localObject);
     localCanvas.restore();
     localCanvas.save();
     localPaint = c.a(localPaint, paramVarArgs);
     localObject = c.h(paramVarArgs);
     ((Path) localObject).moveTo(56.0F, 54.0F);
     ((Path) localObject).cubicTo(63.38297F, 53.909332F, 70.59286F, 53.929207F, 78.0F, 54.0F);
     ((Path) localObject).cubicTo(78.01159F, 54.505596F, 78.5486F, 55.032295F, 79.0F, 55.0F);
     ((Path) localObject).cubicTo(79.195F, 61.193676F, 78.84694F, 67.12649F, 79.0F, 73.0F);
     ((Path) localObject).cubicTo(78.77733F, 74.6394F, 79.54307F, 76.8257F, 78.0F, 78.0F);
     ((Path) localObject).cubicTo(71.219376F, 78.15735F, 64.576324F, 77.88903F, 58.0F, 78.0F);
     ((Path) localObject).cubicTo(56.67031F, 78.17722F, 54.959827F, 77.53127F, 55.0F, 76.0F);
     ((Path) localObject).cubicTo(55.049328F, 69.104095F, 54.850433F, 62.187447F, 55.0F, 55.0F);
     ((Path) localObject).cubicTo(55.467007F, 55.042233F, 55.984127F, 54.515533F, 56.0F, 54.0F);
     ((Path) localObject).lineTo(56.0F, 54.0F);
     ((Path) localObject).close();
     WeChatSVGRenderC2Java.setFillType((Path) localObject, 2);
     localCanvas.drawPath((Path) localObject, localPaint);
     localCanvas.restore();
     c.f(paramVarArgs);
   }
 }
 static {
   PATH_TRIM_PATH_START = new Path();
   PATH_TRIM_PATH_START.lineTo(0.5f, 0);
   PATH_TRIM_PATH_START.cubicTo(0.7f, 0, 0.6f, 1, 1, 1);
 }
 static {
   PATH_TRIM_PATH_END = new Path();
   PATH_TRIM_PATH_END.cubicTo(0.2f, 0, 0.1f, 1, 0.5f, 1);
   PATH_TRIM_PATH_END.lineTo(1, 1);
 }
  @Override
  public void draw(Canvas canvas, MapView mapView, boolean shadow) {
    super.draw(canvas, mapView, shadow);

    final Projection prj = mapView.getProjection();

    GeoPoint gp1 = null;
    GeoPoint gp2 = null;
    GeoPoint gp3 = null;
    final Point p1 = new Point();
    final Point p2 = new Point();
    final Point p3 = new Point();
    final Path path = new Path();
    gp1 = new GeoPoint((int) (51.246451 * 1e6), (int) (4.418067 * 1e6));
    prj.toPixels(gp1, p1);
    path.moveTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.246451 * 1e6), (int) (4.417768 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.246504 * 1e6), (int) (4.417768 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.246504 * 1e6), (int) (4.416918 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.246459 * 1e6), (int) (4.416918 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.246459 * 1e6), (int) (4.415888 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.246377 * 1e6), (int) (4.415888 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.246377 * 1e6), (int) (4.415526 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.246165 * 1e6), (int) (4.415343 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.246187 * 1e6), (int) (4.415263 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.245916 * 1e6), (int) (4.415043 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.245905 * 1e6), (int) (4.41508 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.245744 * 1e6), (int) (4.414957 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.245764 * 1e6), (int) (4.414879 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.245377 * 1e6), (int) (4.41456 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.245053 * 1e6), (int) (4.415579 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.245097 * 1e6), (int) (4.415925 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.245262 * 1e6), (int) (4.415955 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.245419 * 1e6), (int) (4.41595 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.245431 * 1e6), (int) (4.415848 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp2 = new GeoPoint((int) (51.245945 * 1e6), (int) (4.415954 * 1e6));
    gp3 = new GeoPoint((int) (51.245760 * 1e6), (int) (4.416719 * 1e6));
    prj.toPixels(gp2, p2);
    prj.toPixels(gp3, p3);
    path.cubicTo(p1.x, p1.y, p2.x, p2.y, p3.x, p3.y);
    gp1 = new GeoPoint((int) (51.245693 * 1e6), (int) (4.416676 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.245638 * 1e6), (int) (4.416974 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.245628 * 1e6), (int) (4.417164 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.245688 * 1e6), (int) (4.417164 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.245691 * 1e6), (int) (4.417256 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.245571 * 1e6), (int) (4.417248 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.245606 * 1e6), (int) (4.417572 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.245665 * 1e6), (int) (4.417846 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.2457 * 1e6), (int) (4.417816 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.2457 * 1e6), (int) (4.417768 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.245752 * 1e6), (int) (4.417768 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.245752 * 1e6), (int) (4.418067 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);
    gp1 = new GeoPoint((int) (51.246451 * 1e6), (int) (4.418067 * 1e6));
    prj.toPixels(gp1, p1);
    path.lineTo(p1.x, p1.y);

    canvas.drawPath(path, paint);
  }
 protected final int i(int paramInt, Object... paramVarArgs) {
   switch (paramInt) {
   }
   for (; ; ) {
     return 0;
     return 641;
     return 224;
     Canvas localCanvas = (Canvas) paramVarArgs[0];
     paramVarArgs = (Looper) paramVarArgs[1];
     Object localObject1 = c.d(paramVarArgs);
     Object localObject3 = c.c(paramVarArgs);
     Object localObject2 = c.g(paramVarArgs);
     ((Paint) localObject2).setFlags(385);
     ((Paint) localObject2).setStyle(Paint.Style.FILL);
     Paint localPaint = c.g(paramVarArgs);
     localPaint.setFlags(385);
     localPaint.setStyle(Paint.Style.STROKE);
     ((Paint) localObject2).setColor(-16777216);
     localPaint.setStrokeWidth(1.0F);
     localPaint.setStrokeCap(Paint.Cap.BUTT);
     localPaint.setStrokeJoin(Paint.Join.MITER);
     localPaint.setStrokeMiter(4.0F);
     localPaint.setPathEffect(null);
     c.a(localPaint, paramVarArgs).setStrokeWidth(1.0F);
     localCanvas.save();
     localObject2 = c.a((Paint) localObject2, paramVarArgs);
     ((Paint) localObject2).setColor(-4934476);
     localObject3 = c.a((float[]) localObject3, 1.0F, 0.0F, -43.0F, 0.0F, 1.0F, -363.0F);
     ((Matrix) localObject1).reset();
     ((Matrix) localObject1).setValues((float[]) localObject3);
     localCanvas.concat((Matrix) localObject1);
     localCanvas.save();
     localObject3 = c.a((float[]) localObject3, 1.0F, 0.0F, 43.0F, 0.0F, 1.0F, 347.0F);
     ((Matrix) localObject1).reset();
     ((Matrix) localObject1).setValues((float[]) localObject3);
     localCanvas.concat((Matrix) localObject1);
     localCanvas.save();
     localObject3 = c.a((float[]) localObject3, 1.0F, 0.0F, 0.0F, 0.0F, 1.0F, 15.0F);
     ((Matrix) localObject1).reset();
     ((Matrix) localObject1).setValues((float[]) localObject3);
     localCanvas.concat((Matrix) localObject1);
     localCanvas.save();
     localPaint = c.a((Paint) localObject2, paramVarArgs);
     Path localPath = c.h(paramVarArgs);
     localPath.moveTo(491.8881F, 224.8092F);
     localPath.lineTo(498.2307F, 222.9777F);
     localPath.cubicTo(477.1635F, 149.9817F, 409.3254F, 99.0F, 333.267F, 99.0F);
     localPath.cubicTo(257.2053F, 99.0F, 189.3705F, 149.985F, 168.3F, 222.9876F);
     localPath.lineTo(174.6426F, 224.8158F);
     localPath.cubicTo(179.7048F, 207.2664F, 187.5819F, 191.0436F, 197.6898F, 176.5731F);
     localPath.cubicTo(207.5733F, 180.9225F, 219.1464F, 184.7307F, 232.0197F, 187.9152F);
     localPath.cubicTo(227.9079F, 198.9702F, 224.565F, 210.7908F, 222.1626F, 223.2747F);
     localPath.lineTo(228.6471F, 224.5221F);
     localPath.cubicTo(231.033F, 212.1141F, 234.366F, 200.3826F, 238.4745F, 189.453F);
     localPath.cubicTo(265.3233F, 195.4755F, 297.0627F, 198.891F, 329.967F, 199.1088F);
     localPath.lineTo(329.967F, 223.905F);
     localPath.lineTo(336.567F, 223.905F);
     localPath.lineTo(336.567F, 199.1088F);
     localPath.cubicTo(369.468F, 198.891F, 401.2107F, 195.4755F, 428.0595F, 189.453F);
     localPath.cubicTo(432.168F, 200.3826F, 435.501F, 212.1141F, 437.8869F, 224.5221F);
     localPath.lineTo(444.3714F, 223.2747F);
     localPath.cubicTo(441.969F, 210.7908F, 438.6261F, 198.9702F, 434.5143F, 187.9152F);
     localPath.cubicTo(447.3876F, 184.7307F, 458.9607F, 180.9225F, 468.8442F, 176.5731F);
     localPath.cubicTo(478.9521F, 191.0403F, 486.8259F, 207.2631F, 491.8881F, 224.8092F);
     localPath.lineTo(491.8881F, 224.8092F);
     localPath.close();
     localPath.moveTo(415.6878F, 127.8288F);
     localPath.cubicTo(410.8467F, 129.2082F, 405.8901F, 130.4622F, 400.8246F, 131.5875F);
     localPath.cubicTo(393.1818F, 123.4035F, 384.879F, 116.5857F, 376.0779F, 111.3387F);
     localPath.cubicTo(390.0204F, 115.1238F, 403.3326F, 120.681F, 415.6878F, 127.8288F);
     localPath.lineTo(415.6878F, 127.8288F);
     localPath.close();
     localPath.moveTo(329.967F, 138.6957F);
     localPath.cubicTo(310.4145F, 138.5043F, 291.2712F, 136.6299F, 273.2796F, 133.1583F);
     localPath.cubicTo(289.8324F, 116.5494F, 309.3717F, 106.6626F, 329.967F, 105.7023F);
     localPath.lineTo(329.967F, 138.6957F);
     localPath.lineTo(329.967F, 138.6957F);
     localPath.close();
     localPath.moveTo(336.567F, 105.7023F);
     localPath.cubicTo(357.1656F, 106.6626F, 376.7082F, 116.5527F, 393.2643F, 133.1682F);
     localPath.cubicTo(375.276F, 136.6398F, 356.1294F, 138.5043F, 336.567F, 138.6957F);
     localPath.lineTo(336.567F, 105.7023F);
     localPath.lineTo(336.567F, 105.7023F);
     localPath.close();
     localPath.moveTo(265.7028F, 131.5974F);
     localPath.cubicTo(260.634F, 130.4721F, 255.6972F, 129.2016F, 250.8627F, 127.8189F);
     localPath.cubicTo(263.2113F, 120.6744F, 276.5202F, 115.1205F, 290.4561F, 111.3387F);
     localPath.cubicTo(281.6517F, 116.589F, 273.3423F, 123.4101F, 265.7028F, 131.5974F);
     localPath.lineTo(265.7028F, 131.5974F);
     localPath.close();
     localPath.moveTo(201.6762F, 171.1149F);
     localPath.cubicTo(213.2592F, 155.9019F, 227.3997F, 142.8504F, 243.3288F, 132.4719F);
     localPath.cubicTo(248.9586F, 134.2275F, 254.7666F, 135.8082F, 260.7264F, 137.214F);
     localPath.cubicTo(250.3677F, 149.6088F, 241.4412F, 164.6436F, 234.4386F, 181.7244F);
     localPath.cubicTo(222.1989F, 178.7346F, 211.1571F, 175.1739F, 201.6762F, 171.1149F);
     localPath.lineTo(201.6762F, 171.1149F);
     localPath.close();
     localPath.moveTo(240.9231F, 183.249F);
     localPath.cubicTo(248.1039F, 165.9636F, 257.3076F, 150.9123F, 267.9666F, 138.798F);
     localPath.cubicTo(287.5422F, 142.8702F, 308.5203F, 145.0878F, 329.967F, 145.2957F);
     localPath.lineTo(329.967F, 192.5088F);
     localPath.cubicTo(297.9141F, 192.2943F, 267.0492F, 189.0174F, 240.9231F, 183.249F);
     localPath.lineTo(240.9231F, 183.249F);
     localPath.close();
     localPath.moveTo(336.567F, 192.5088F);
     localPath.lineTo(336.567F, 145.2924F);
     localPath.cubicTo(358.0302F, 145.0878F, 378.9951F, 142.8702F, 398.5674F, 138.798F);
     localPath.cubicTo(409.2264F, 150.9123F, 418.4301F, 165.9603F, 425.6109F, 183.2457F);
     localPath.cubicTo(399.4815F, 189.0174F, 368.6199F, 192.2943F, 336.567F, 192.5088F);
     localPath.lineTo(336.567F, 192.5088F);
     localPath.close();
     localPath.moveTo(432.0954F, 181.7244F);
     localPath.cubicTo(425.0928F, 164.6502F, 416.1729F, 149.6187F, 405.8175F, 137.2272F);
     localPath.cubicTo(411.774F, 135.8214F, 417.5589F, 134.2176F, 423.192F, 132.462F);
     localPath.cubicTo(439.1277F, 142.8405F, 453.2715F, 155.8986F, 464.8578F, 171.1149F);
     localPath.cubicTo(455.3769F, 175.1739F, 444.3351F, 178.7346F, 432.0954F, 181.7244F);
     localPath.lineTo(432.0954F, 181.7244F);
     localPath.close();
     WeChatSVGRenderC2Java.setFillType(localPath, 2);
     localCanvas.drawPath(localPath, localPaint);
     localCanvas.restore();
     localCanvas.save();
     localPaint = c.a((Paint) localObject2, paramVarArgs);
     localPath = c.h(paramVarArgs);
     localPath.moveTo(34.1F, 67.542984F);
     localPath.cubicTo(37.867435F, 67.542984F, 40.9209F, 64.45843F, 40.9209F, 60.649837F);
     localPath.cubicTo(40.9209F, 56.843513F, 37.867435F, 53.75669F, 34.1F, 53.75669F);
     localPath.cubicTo(30.33481F, 53.75669F, 27.281347F, 56.843513F, 27.281347F, 60.649837F);
     localPath.cubicTo(27.281347F, 64.45843F, 30.33481F, 67.542984F, 34.1F, 67.542984F);
     localPath.moveTo(68.20225F, 67.542984F);
     localPath.cubicTo(71.96744F, 67.542984F, 75.0209F, 64.45843F, 75.0209F, 60.649837F);
     localPath.cubicTo(75.0209F, 56.843513F, 71.96744F, 53.75669F, 68.20225F, 53.75669F);
     localPath.cubicTo(64.43481F, 53.75669F, 61.381348F, 56.843513F, 61.381348F, 60.649837F);
     localPath.cubicTo(61.381348F, 64.45843F, 64.43481F, 67.542984F, 68.20225F, 67.542984F);
     localPath.moveTo(17.674164F, 107.0089F);
     localPath.cubicTo(6.890499F, 99.108F, -8.526513E-14F, 87.4212F, -8.526513E-14F, 74.44067F);
     localPath.cubicTo(-8.526513E-14F, 50.640366F, 22.900974F, 31.35F, 51.15F, 31.35F);
     localPath.cubicTo(79.399025F, 31.35F, 102.3F, 50.640366F, 102.3F, 74.44067F);
     localPath.cubicTo(102.3F, 98.23643F, 79.399025F, 117.52906F, 51.15F, 117.52906F);
     localPath.cubicTo(45.314743F, 117.52906F, 39.679306F, 116.68472F, 34.454742F, 115.16628F);
     localPath.cubicTo(33.97876F, 115.02102F, 33.47359F, 114.93931F, 32.950462F, 114.93931F);
     localPath.cubicTo(31.96931F, 114.93931F, 31.075724F, 115.24118F, 30.233776F, 115.73371F);
     localPath.lineTo(19.039242F, 122.26824F);
     localPath.cubicTo(18.724915F, 122.44982F, 18.421814F, 122.59054F, 18.051355F, 122.59054F);
     localPath.cubicTo(17.11062F, 122.59054F, 16.347254F, 121.81883F, 16.347254F, 120.86782F);
     localPath.cubicTo(16.347254F, 120.44112F, 16.515644F, 120.014404F, 16.621168F, 119.60812F);
     localPath.cubicTo(16.68628F, 119.363F, 18.064827F, 114.16306F, 18.926981F, 110.91509F);
     localPath.cubicTo(19.02577F, 110.54967F, 19.106598F, 110.19786F, 19.106598F, 109.81654F);
     localPath.cubicTo(19.106598F, 108.65899F, 18.540808F, 107.63307F, 17.674164F, 107.0089F);
     WeChatSVGRenderC2Java.setFillType(localPath, 2);
     localCanvas.drawPath(localPath, localPaint);
     localCanvas.restore();
     localCanvas.save();
     localPaint = c.a((Paint) localObject2, paramVarArgs);
     localObject3 =
         c.a(
             (float[]) localObject3,
             -0.9659258F,
             0.25881904F,
             1166.2971F,
             0.25881904F,
             0.9659258F,
             -153.54593F);
     ((Matrix) localObject1).reset();
     ((Matrix) localObject1).setValues((float[]) localObject3);
     localCanvas.concat((Matrix) localObject1);
     localPath = c.h(paramVarArgs);
     localPath.moveTo(594.1839F, 90.56611F);
     localPath.cubicTo(603.446F, 99.828224F, 612.222F, 104.172485F, 615.46735F, 103.91808F);
     localPath.cubicTo(618.71277F, 103.66369F, 626.7947F, 98.105736F, 630.61F, 98.17971F);
     localPath.cubicTo(632.44366F, 98.21526F, 644.4262F, 106.319046F, 645.8767F, 107.255974F);
     localPath.cubicTo(647.32715F, 108.19291F, 648.67206F, 109.28735F, 648.4192F, 110.67228F);
     localPath.cubicTo(648.1663F, 112.0572F, 642.90015F, 127.312065F, 629.45557F, 125.199615F);
     localPath.cubicTo(616.01105F, 123.087166F, 597.26746F, 108.59371F, 586.5869F, 98.16311F);
     localPath.lineTo(594.1839F, 90.56611F);
     localPath.lineTo(594.1839F, 90.56611F);
     localPath.close();
     localPath.moveTo(594.1839F, 90.56611F);
     localPath.cubicTo(584.92175F, 81.30399F, 580.5775F, 72.52803F, 580.8319F, 69.28264F);
     localPath.cubicTo(581.0863F, 66.037254F, 586.6443F, 57.95533F, 586.5703F, 54.140003F);
     localPath.cubicTo(586.5347F, 52.306324F, 578.43097F, 40.323803F, 577.494F, 38.873318F);
     localPath.cubicTo(576.55707F, 37.422832F, 575.46265F, 36.07791F, 574.0777F, 36.330803F);
     localPath.cubicTo(572.6928F, 36.583694F, 557.4379F, 41.849873F, 559.55035F, 55.294426F);
     localPath.cubicTo(561.66284F, 68.738976F, 576.1563F, 87.48256F, 586.5869F, 98.16311F);
     localPath.lineTo(594.1839F, 90.56611F);
     localPath.lineTo(594.1839F, 90.56611F);
     localPath.close();
     WeChatSVGRenderC2Java.setFillType(localPath, 2);
     localCanvas.drawPath(localPath, localPaint);
     localCanvas.restore();
     localCanvas.save();
     localObject3 = c.a((float[]) localObject3, -1.0F, 0.0F, 539.55F, 0.0F, 1.0F, 0.0F);
     ((Matrix) localObject1).reset();
     ((Matrix) localObject1).setValues((float[]) localObject3);
     localCanvas.concat((Matrix) localObject1);
     localCanvas.save();
     localObject1 = c.a((Paint) localObject2, paramVarArgs);
     localObject3 = c.h(paramVarArgs);
     ((Path) localObject3).moveTo(391.6935F, 52.4931F);
     ((Path) localObject3).cubicTo(387.9414F, 50.2557F, 383.9913F, 48.0579F, 379.9587F, 45.9591F);
     ((Path) localObject3).lineTo(383.0046F, 40.1016F);
     ((Path) localObject3).cubicTo(387.1494F, 42.2598F, 391.2117F, 44.5236F, 395.0727F, 46.8237F);
     ((Path) localObject3).lineTo(391.6935F, 52.4931F);
     ((Path) localObject3).lineTo(391.6935F, 52.4931F);
     ((Path) localObject3).close();
     ((Path) localObject3).moveTo(39.1281F, 41.5866F);
     ((Path) localObject3).lineTo(36.3066F, 35.6202F);
     ((Path) localObject3).cubicTo(40.3656F, 33.6996F, 44.6094F, 31.8219F, 48.9093F, 30.0366F);
     ((Path) localObject3).lineTo(51.4371F, 36.1317F);
     ((Path) localObject3).cubicTo(47.2329F, 37.8741F, 43.0947F, 39.7122F, 39.1281F, 41.5866F);
     ((Path) localObject3).lineTo(39.1281F, 41.5866F);
     ((Path) localObject3).close();
     ((Path) localObject3).moveTo(367.8675F, 40.062F);
     ((Path) localObject3).cubicTo(363.8646F, 38.2338F, 359.6967F, 36.4518F, 355.4826F, 34.7655F);
     ((Path) localObject3).lineTo(357.9378F, 28.6374F);
     ((Path) localObject3).cubicTo(362.2476F, 30.3666F, 366.5112F, 32.1882F, 370.6065F, 34.0593F);
     ((Path) localObject3).lineTo(367.8675F, 40.062F);
     ((Path) localObject3).lineTo(367.8675F, 40.062F);
     ((Path) localObject3).close();
     ((Path) localObject3).moveTo(64.0002F, 31.2444F);
     ((Path) localObject3).lineTo(61.743F, 25.0437F);
     ((Path) localObject3).cubicTo(65.9769F, 23.5026F, 70.356F, 22.0077F, 74.7615F, 20.6052F);
     ((Path) localObject3).lineTo(76.7679F, 26.8917F);
     ((Path) localObject3).cubicTo(72.4482F, 28.2678F, 68.1516F, 29.733F, 64.0002F, 31.2444F);
     ((Path) localObject3).lineTo(64.0002F, 31.2444F);
     ((Path) localObject3).close();
     ((Path) localObject3).moveTo(342.8535F, 30.0234F);
     ((Path) localObject3).cubicTo(338.7087F, 28.5615F, 334.3956F, 27.1458F, 330.0429F, 25.806F);
     ((Path) localObject3).lineTo(331.9833F, 19.4964F);
     ((Path) localObject3).cubicTo(336.4185F, 20.8626F, 340.8141F, 22.308F, 345.048F, 23.7963F);
     ((Path) localObject3).lineTo(342.8535F, 30.0234F);
     ((Path) localObject3).lineTo(342.8535F, 30.0234F);
     ((Path) localObject3).close();
     ((Path) localObject3).moveTo(89.7072F, 23.0373F);
     ((Path) localObject3).lineTo(87.9384F, 16.6782F);
     ((Path) localObject3).cubicTo(92.2911F, 15.4737F, 96.7692F, 14.3187F, 101.2506F, 13.2462F);
     ((Path) localObject3).lineTo(102.7818F, 19.6647F);
     ((Path) localObject3).cubicTo(98.3796F, 20.7174F, 93.9807F, 21.8526F, 89.7072F, 23.0373F);
     ((Path) localObject3).lineTo(89.7072F, 23.0373F);
     ((Path) localObject3).close();
     ((Path) localObject3).moveTo(317.064F, 22.0869F);
     ((Path) localObject3).cubicTo(312.7674F, 20.9418F, 308.3553F, 19.8495F, 303.9498F, 18.8397F);
     ((Path) localObject3).lineTo(305.4282F, 12.408F);
     ((Path) localObject3).cubicTo(309.903F, 13.431F, 314.391F, 14.5431F, 318.7668F, 15.7113F);
     ((Path) localObject3).lineTo(317.064F, 22.0869F);
     ((Path) localObject3).lineTo(317.064F, 22.0869F);
     ((Path) localObject3).close();
     ((Path) localObject3).moveTo(115.9818F, 16.7541F);
     ((Path) localObject3).lineTo(114.6651F, 10.2861F);
     ((Path) localObject3).cubicTo(119.1168F, 9.3852F, 123.6609F, 8.5404F, 128.1687F, 7.7748F);
     ((Path) localObject3).lineTo(129.2709F, 14.2824F);
     ((Path) localObject3).cubicTo(124.8291F, 15.0348F, 120.3609F, 15.8664F, 115.9818F, 16.7541F);
     ((Path) localObject3).lineTo(115.9818F, 16.7541F);
     ((Path) localObject3).close();
     ((Path) localObject3).moveTo(290.7267F, 16.0479F);
     ((Path) localObject3).cubicTo(286.3707F, 15.2031F, 281.8926F, 14.4111F, 277.4145F, 13.695F);
     ((Path) localObject3).lineTo(278.4606F, 7.1775F);
     ((Path) localObject3).cubicTo(283.008F, 7.9068F, 287.5587F, 8.712F, 291.9807F, 9.57F);
     ((Path) localObject3).lineTo(290.7267F, 16.0479F);
     ((Path) localObject3).lineTo(290.7267F, 16.0479F);
     ((Path) localObject3).close();
     ((Path) localObject3).moveTo(142.6326F, 12.2397F);
     ((Path) localObject3).lineTo(141.735F, 5.7024F);
     ((Path) localObject3).cubicTo(146.2329F, 5.0853F, 150.777F, 4.5375F, 155.3607F, 4.0491F);
     ((Path) localObject3).lineTo(156.057F, 10.6128F);
     ((Path) localObject3).cubicTo(151.536F, 11.0913F, 147.0645F, 11.6358F, 142.6326F, 12.2397F);
     ((Path) localObject3).lineTo(142.6326F, 12.2397F);
     ((Path) localObject3).close();
     ((Path) localObject3).moveTo(264.0363F, 11.7645F);
     ((Path) localObject3).cubicTo(259.6011F, 11.1969F, 255.1197F, 10.6887F, 250.5954F, 10.2465F);
     ((Path) localObject3).lineTo(251.2356F, 3.6795F);
     ((Path) localObject3).cubicTo(255.8259F, 4.125F, 260.3733F, 4.6398F, 264.8745F, 5.2206F);
     ((Path) localObject3).lineTo(264.0363F, 11.7645F);
     ((Path) localObject3).lineTo(264.0363F, 11.7645F);
     ((Path) localObject3).close();
     ((Path) localObject3).moveTo(169.5276F, 9.3918F);
     ((Path) localObject3).lineTo(169.026F, 2.8116F);
     ((Path) localObject3).cubicTo(173.5536F, 2.4651F, 178.1208F, 2.1879F, 182.7177F, 1.9734F);
     ((Path) localObject3).lineTo(183.0279F, 8.5668F);
     ((Path) localObject3).cubicTo(178.4937F, 8.778F, 173.9925F, 9.0519F, 169.5276F, 9.3918F);
     ((Path) localObject3).lineTo(169.5276F, 9.3918F);
     ((Path) localObject3).close();
     ((Path) localObject3).moveTo(237.1182F, 9.1311F);
     ((Path) localObject3).cubicTo(232.65F, 8.8275F, 228.1455F, 8.5866F, 223.608F, 8.4084F);
     ((Path) localObject3).lineTo(223.8654F, 1.815F);
     ((Path) localObject3).cubicTo(228.4656F, 1.9932F, 233.0361F, 2.2374F, 237.567F, 2.5476F);
     ((Path) localObject3).lineTo(237.1182F, 9.1311F);
     ((Path) localObject3).lineTo(237.1182F, 9.1311F);
     ((Path) localObject3).close();
     ((Path) localObject3).moveTo(196.5447F, 8.1279F);
     ((Path) localObject3).lineTo(196.4259F, 1.5279F);
     ((Path) localObject3).cubicTo(199.3134F, 1.4784F, 202.1085F, 1.4223F, 205.1346F, 1.452F);
     ((Path) localObject3).cubicTo(206.8077F, 1.452F, 208.4775F, 1.4619F, 210.1506F, 1.4784F);
     ((Path) localObject3).lineTo(210.078F, 8.0784F);
     ((Path) localObject3).cubicTo(208.3488F, 8.0586F, 206.6856F, 8.0619F, 204.8772F, 8.052F);
     ((Path) localObject3).cubicTo(202.0854F, 8.052F, 199.3068F, 8.0784F, 196.5447F, 8.1279F);
     ((Path) localObject3).lineTo(196.5447F, 8.1279F);
     ((Path) localObject3).close();
     WeChatSVGRenderC2Java.setFillType((Path) localObject3, 2);
     localCanvas.drawPath((Path) localObject3, (Paint) localObject1);
     localCanvas.restore();
     localCanvas.save();
     localObject1 = c.a((Paint) localObject2, paramVarArgs);
     localObject2 = c.h(paramVarArgs);
     ((Path) localObject2).moveTo(37.2009F, 54.5655F);
     ((Path) localObject2).lineTo(24.0669F, 45.5433F);
     ((Path) localObject2).lineTo(21.4467F, 29.8254F);
     ((Path) localObject2).lineTo(0.0F, 60.8652F);
     ((Path) localObject2).lineTo(37.2009F, 54.5655F);
     WeChatSVGRenderC2Java.setFillType((Path) localObject2, 2);
     localCanvas.drawPath((Path) localObject2, (Paint) localObject1);
     localCanvas.restore();
     localCanvas.restore();
     localCanvas.restore();
     localCanvas.restore();
     localCanvas.restore();
     c.f(paramVarArgs);
   }
 }
 protected final int i(int paramInt, Object... paramVarArgs) {
   switch (paramInt) {
   }
   for (; ; ) {
     return 0;
     return 168;
     return 168;
     Canvas localCanvas = (Canvas) paramVarArgs[0];
     paramVarArgs = (Looper) paramVarArgs[1];
     Object localObject1 = c.d(paramVarArgs);
     Object localObject2 = c.c(paramVarArgs);
     Paint localPaint1 = c.g(paramVarArgs);
     localPaint1.setFlags(385);
     localPaint1.setStyle(Paint.Style.FILL);
     Paint localPaint2 = c.g(paramVarArgs);
     localPaint2.setFlags(385);
     localPaint2.setStyle(Paint.Style.STROKE);
     localPaint1.setColor(-16777216);
     localPaint2.setStrokeWidth(1.0F);
     localPaint2.setStrokeCap(Paint.Cap.BUTT);
     localPaint2.setStrokeJoin(Paint.Join.MITER);
     localPaint2.setStrokeMiter(4.0F);
     localPaint2.setPathEffect(null);
     c.a(localPaint2, paramVarArgs).setStrokeWidth(1.0F);
     localPaint1 = c.a(localPaint1, paramVarArgs);
     localPaint1.setColor(-14187817);
     localCanvas.save();
     localObject2 = c.a((float[]) localObject2, 1.0F, 0.0F, 37.0F, 0.0F, 1.0F, 39.0F);
     ((Matrix) localObject1).reset();
     ((Matrix) localObject1).setValues((float[]) localObject2);
     localCanvas.concat((Matrix) localObject1);
     localCanvas.save();
     localObject1 = c.a(localPaint1, paramVarArgs);
     localObject2 = c.h(paramVarArgs);
     ((Path) localObject2).moveTo(72.0767F, 82.22588F);
     ((Path) localObject2).cubicTo(83.53856F, 73.9851F, 91.0F, 60.553818F, 91.0F, 45.38426F);
     ((Path) localObject2)
         .cubicTo(91.0F, 20.319225F, 70.62896F, -3.5527137E-14F, 45.5F, -3.5527137E-14F);
     ((Path) localObject2)
         .cubicTo(
             20.371044F, -3.5527137E-14F, -2.1316282E-14F, 20.319225F, -2.1316282E-14F, 45.38426F);
     ((Path) localObject2)
         .cubicTo(-2.1316282E-14F, 61.038643F, 7.9460006F, 74.84186F, 20.034418F, 83.0F);
     ((Path) localObject2).lineTo(22.1966F, 79.985435F);
     ((Path) localObject2)
         .cubicTo(11.048177F, 72.50055F, 3.7142856F, 59.796688F, 3.7142856F, 45.38426F);
     ((Path) localObject2)
         .cubicTo(3.7142856F, 22.36535F, 22.422388F, 3.7048376F, 45.5F, 3.7048376F);
     ((Path) localObject2)
         .cubicTo(68.577614F, 3.7048376F, 87.28571F, 22.36535F, 87.28571F, 45.38426F);
     ((Path) localObject2)
         .cubicTo(87.28571F, 59.35643F, 80.393036F, 71.722824F, 69.81427F, 79.285F);
     ((Path) localObject2).lineTo(72.0767F, 82.22588F);
     ((Path) localObject2).close();
     ((Path) localObject2).moveTo(66.62715F, 75.14214F);
     ((Path) localObject2).cubicTo(75.9622F, 68.53627F, 82.054F, 57.669865F, 82.054F, 45.38426F);
     ((Path) localObject2).cubicTo(82.054F, 25.247396F, 65.68822F, 8.923243F, 45.5F, 8.923243F);
     ((Path) localObject2)
         .cubicTo(25.311783F, 8.923243F, 8.945999F, 25.247396F, 8.945999F, 45.38426F);
     ((Path) localObject2)
         .cubicTo(8.945999F, 58.04734F, 15.417901F, 69.202675F, 25.242413F, 75.7389F);
     ((Path) localObject2).lineTo(27.490881F, 72.604034F);
     ((Path) localObject2)
         .cubicTo(18.643457F, 66.76842F, 12.807601F, 56.756123F, 12.807601F, 45.38426F);
     ((Path) localObject2)
         .cubicTo(12.807601F, 27.374676F, 27.444487F, 12.7750225F, 45.5F, 12.7750225F);
     ((Path) localObject2)
         .cubicTo(63.55551F, 12.7750225F, 78.1924F, 27.374676F, 78.1924F, 45.38426F);
     ((Path) localObject2)
         .cubicTo(78.1924F, 56.424984F, 72.69147F, 66.184166F, 64.27428F, 72.083694F);
     ((Path) localObject2).lineTo(66.62715F, 75.14214F);
     ((Path) localObject2).close();
     ((Path) localObject2).moveTo(60.846767F, 67.62836F);
     ((Path) localObject2).cubicTo(67.92764F, 62.75864F, 72.5687F, 54.61206F, 72.5687F, 45.38426F);
     ((Path) localObject2).cubicTo(72.5687F, 30.472656F, 60.44963F, 18.384415F, 45.5F, 18.384415F);
     ((Path) localObject2)
         .cubicTo(30.55037F, 18.384415F, 18.4313F, 30.472656F, 18.4313F, 45.38426F);
     ((Path) localObject2)
         .cubicTo(18.4313F, 54.875706F, 23.341345F, 63.22327F, 30.766079F, 68.03768F);
     ((Path) localObject2).lineTo(33.130417F, 64.741264F);
     ((Path) localObject2)
         .cubicTo(26.732042F, 60.664852F, 22.489536F, 53.51874F, 22.489536F, 45.38426F);
     ((Path) localObject2).cubicTo(22.489536F, 32.70826F, 32.79167F, 22.43233F, 45.5F, 22.43233F);
     ((Path) localObject2)
         .cubicTo(58.20833F, 22.43233F, 68.51047F, 32.70826F, 68.51047F, 45.38426F);
     ((Path) localObject2)
         .cubicTo(68.51047F, 53.303806F, 64.48919F, 60.286526F, 58.372215F, 64.41174F);
     ((Path) localObject2).lineTo(60.846767F, 67.62836F);
     ((Path) localObject2).close();
     ((Path) localObject2).moveTo(54.48061F, 59.353138F);
     ((Path) localObject2)
         .cubicTo(59.084618F, 56.40215F, 62.134594F, 51.248478F, 62.134594F, 45.38426F);
     ((Path) localObject2).cubicTo(62.134594F, 36.220596F, 54.68703F, 28.79198F, 45.5F, 28.79198F);
     ((Path) localObject2)
         .cubicTo(36.31297F, 28.79198F, 28.865408F, 36.220596F, 28.865408F, 45.38426F);
     ((Path) localObject2)
         .cubicTo(28.865408F, 51.386845F, 32.06101F, 56.644955F, 36.847862F, 59.558327F);
     ((Path) localObject2).lineTo(38.943947F, 56.635918F);
     ((Path) localObject2)
         .cubicTo(35.06329F, 54.381386F, 32.454987F, 50.18665F, 32.454987F, 45.38426F);
     ((Path) localObject2)
         .cubicTo(32.454987F, 38.198025F, 38.295437F, 32.37243F, 45.5F, 32.37243F);
     ((Path) localObject2)
         .cubicTo(52.704563F, 32.37243F, 58.545013F, 38.198025F, 58.545013F, 45.38426F);
     ((Path) localObject2)
         .cubicTo(58.545013F, 50.091446F, 56.0391F, 54.214832F, 52.285336F, 56.499557F);
     ((Path) localObject2).lineTo(54.48061F, 59.353138F);
     ((Path) localObject2).close();
     ((Path) localObject2).moveTo(49.096928F, 52.35502F);
     ((Path) localObject2)
         .cubicTo(51.627728F, 51.053127F, 53.35822F, 48.42027F, 53.35822F, 45.38426F);
     ((Path) localObject2).cubicTo(53.35822F, 41.055325F, 49.839973F, 37.54603F, 45.5F, 37.54603F);
     ((Path) localObject2)
         .cubicTo(41.160027F, 37.54603F, 37.64178F, 41.055325F, 37.64178F, 45.38426F);
     ((Path) localObject2)
         .cubicTo(37.64178F, 48.452805F, 39.40956F, 51.10951F, 41.984715F, 52.39641F);
     ((Path) localObject2).lineTo(44.138638F, 49.39336F);
     ((Path) localObject2)
         .cubicTo(42.463356F, 48.82757F, 41.257534F, 47.246376F, 41.257534F, 45.38426F);
     ((Path) localObject2)
         .cubicTo(41.257534F, 43.047173F, 43.15695F, 41.152588F, 45.5F, 41.152588F);
     ((Path) localObject2)
         .cubicTo(47.84305F, 41.152588F, 49.742466F, 43.047173F, 49.742466F, 45.38426F);
     ((Path) localObject2)
         .cubicTo(49.742466F, 47.258987F, 48.520252F, 48.848984F, 46.82725F, 49.40472F);
     ((Path) localObject2).lineTo(49.096928F, 52.35502F);
     ((Path) localObject2).close();
     WeChatSVGRenderC2Java.setFillType((Path) localObject2, 2);
     localCanvas.drawPath((Path) localObject2, (Paint) localObject1);
     localCanvas.restore();
     localCanvas.restore();
     c.f(paramVarArgs);
   }
 }
  /**
   * Draw a curvy stem tail. This is only used for single chords, not chord pairs.
   *
   * @param ytop The y location (in pixels) where the top of the staff starts.
   * @param topstaff The note at the top of the staff.
   */
  private void DrawCurvyStem(Canvas canvas, Paint paint, int ytop, WhiteNote topstaff) {
    Path bezierPath;
    paint.setStrokeWidth(2);

    int xstart = 0;
    if (side == LeftSide) xstart = SheetMusic.LineSpace / 4 + 1;
    else xstart = SheetMusic.LineSpace / 4 + SheetMusic.NoteWidth;

    if (direction == Up) {
      int ystem = ytop + topstaff.Dist(end) * SheetMusic.NoteHeight / 2;

      if (duration == NoteDuration.Eighth
          || duration == NoteDuration.DottedEighth
          || duration == NoteDuration.Triplet
          || duration == NoteDuration.Sixteenth
          || duration == NoteDuration.ThirtySecond) {

        bezierPath = new Path();
        bezierPath.moveTo(xstart, ystem);
        bezierPath.cubicTo(
            xstart,
            ystem + 3 * SheetMusic.LineSpace / 2,
            xstart + SheetMusic.LineSpace * 2,
            ystem + SheetMusic.NoteHeight * 2,
            xstart + SheetMusic.LineSpace / 2,
            ystem + SheetMusic.NoteHeight * 3);
        canvas.drawPath(bezierPath, paint);
      }
      ystem += SheetMusic.NoteHeight;

      if (duration == NoteDuration.Sixteenth || duration == NoteDuration.ThirtySecond) {

        bezierPath = new Path();
        bezierPath.moveTo(xstart, ystem);
        bezierPath.cubicTo(
            xstart,
            ystem + 3 * SheetMusic.LineSpace / 2,
            xstart + SheetMusic.LineSpace * 2,
            ystem + SheetMusic.NoteHeight * 2,
            xstart + SheetMusic.LineSpace / 2,
            ystem + SheetMusic.NoteHeight * 3);
        canvas.drawPath(bezierPath, paint);
      }

      ystem += SheetMusic.NoteHeight;
      if (duration == NoteDuration.ThirtySecond) {
        bezierPath = new Path();
        bezierPath.moveTo(xstart, ystem);
        bezierPath.cubicTo(
            xstart,
            ystem + 3 * SheetMusic.LineSpace / 2,
            xstart + SheetMusic.LineSpace * 2,
            ystem + SheetMusic.NoteHeight * 2,
            xstart + SheetMusic.LineSpace / 2,
            ystem + SheetMusic.NoteHeight * 3);
        canvas.drawPath(bezierPath, paint);
      }

    } else if (direction == Down) {
      int ystem = ytop + topstaff.Dist(end) * SheetMusic.NoteHeight / 2 + SheetMusic.NoteHeight;

      if (duration == NoteDuration.Eighth
          || duration == NoteDuration.DottedEighth
          || duration == NoteDuration.Triplet
          || duration == NoteDuration.Sixteenth
          || duration == NoteDuration.ThirtySecond) {

        bezierPath = new Path();
        bezierPath.moveTo(xstart, ystem);
        bezierPath.cubicTo(
            xstart,
            ystem - SheetMusic.LineSpace,
            xstart + SheetMusic.LineSpace * 2,
            ystem - SheetMusic.NoteHeight * 2,
            xstart + SheetMusic.LineSpace,
            ystem - SheetMusic.NoteHeight * 2 - SheetMusic.LineSpace / 2);
        canvas.drawPath(bezierPath, paint);
      }
      ystem -= SheetMusic.NoteHeight;

      if (duration == NoteDuration.Sixteenth || duration == NoteDuration.ThirtySecond) {

        bezierPath = new Path();
        bezierPath.moveTo(xstart, ystem);
        bezierPath.cubicTo(
            xstart,
            ystem - SheetMusic.LineSpace,
            xstart + SheetMusic.LineSpace * 2,
            ystem - SheetMusic.NoteHeight * 2,
            xstart + SheetMusic.LineSpace,
            ystem - SheetMusic.NoteHeight * 2 - SheetMusic.LineSpace / 2);
        canvas.drawPath(bezierPath, paint);
      }

      ystem -= SheetMusic.NoteHeight;
      if (duration == NoteDuration.ThirtySecond) {
        bezierPath = new Path();
        bezierPath.moveTo(xstart, ystem);
        bezierPath.cubicTo(
            xstart,
            ystem - SheetMusic.LineSpace,
            xstart + SheetMusic.LineSpace * 2,
            ystem - SheetMusic.NoteHeight * 2,
            xstart + SheetMusic.LineSpace,
            ystem - SheetMusic.NoteHeight * 2 - SheetMusic.LineSpace / 2);
        canvas.drawPath(bezierPath, paint);
      }
    }
    paint.setStrokeWidth(1);
  }
  /**
   * This is where the hard-to-parse paths are handled. Uppercase rules are absolute positions,
   * lowercase are relative. Types of path rules:
   *
   * <p>
   *
   * <ol>
   *   <li>M/m - (x y)+ - Move to (without drawing)
   *   <li>Z/z - (no params) - Close path (back to starting point)
   *   <li>L/l - (x y)+ - Line to
   *   <li>H/h - x+ - Horizontal ine to
   *   <li>V/v - y+ - Vertical line to
   *   <li>C/c - (x1 y1 x2 y2 x y)+ - Cubic bezier to
   *   <li>S/s - (x2 y2 x y)+ - Smooth cubic bezier to (shorthand that assumes the x2, y2 from
   *       previous C/S is the x1, y1 of this bezier)
   *   <li>Q/q - (x1 y1 x y)+ - Quadratic bezier to
   *   <li>T/t - (x y)+ - Smooth quadratic bezier to (assumes previous control point is "reflection"
   *       of last one w.r.t. to current point)
   * </ol>
   *
   * <p>Numbers are separate by whitespace, comma or nothing at all (!) if they are self-delimiting,
   * (ie. begin with a - sign)
   *
   * @param s the path string from the XML
   */
  private static Path doPath(String s) {
    int n = s.length();
    ParserHelper ph = new ParserHelper(s, 0);
    ph.skipWhitespace();
    Path p = new Path();
    float lastX = 0;
    float lastY = 0;
    float lastX1 = 0;
    float lastY1 = 0;
    float subPathStartX = 0;
    float subPathStartY = 0;
    char prevCmd = 0;
    while (ph.pos < n) {
      char cmd = s.charAt(ph.pos);
      switch (cmd) {
        case '-':
        case '+':
        case '0':
        case '1':
        case '2':
        case '3':
        case '4':
        case '5':
        case '6':
        case '7':
        case '8':
        case '9':
          if (prevCmd == 'm' || prevCmd == 'M') {
            cmd = (char) (((int) prevCmd) - 1);
            break;
          } else if (prevCmd == 'c' || prevCmd == 'C') {
            cmd = prevCmd;
            break;
          } else if (prevCmd == 'l' || prevCmd == 'L') {
            cmd = prevCmd;
            break;
          }
        default:
          {
            ph.advance();
            prevCmd = cmd;
          }
      }

      boolean wasCurve = false;
      switch (cmd) {
        case 'M':
        case 'm':
          {
            float x = ph.nextFloat();
            float y = ph.nextFloat();
            if (cmd == 'm') {
              subPathStartX += x;
              subPathStartY += y;
              p.rMoveTo(x, y);
              lastX += x;
              lastY += y;
            } else {
              subPathStartX = x;
              subPathStartY = y;
              p.moveTo(x, y);
              lastX = x;
              lastY = y;
            }
            break;
          }
        case 'Z':
        case 'z':
          {
            p.close();
            p.moveTo(subPathStartX, subPathStartY);
            lastX = subPathStartX;
            lastY = subPathStartY;
            lastX1 = subPathStartX;
            lastY1 = subPathStartY;
            wasCurve = true;
            break;
          }
        case 'L':
        case 'l':
          {
            float x = ph.nextFloat();
            float y = ph.nextFloat();
            if (cmd == 'l') {
              p.rLineTo(x, y);
              lastX += x;
              lastY += y;
            } else {
              p.lineTo(x, y);
              lastX = x;
              lastY = y;
            }
            break;
          }
        case 'H':
        case 'h':
          {
            float x = ph.nextFloat();
            if (cmd == 'h') {
              p.rLineTo(x, 0);
              lastX += x;
            } else {
              p.lineTo(x, lastY);
              lastX = x;
            }
            break;
          }
        case 'V':
        case 'v':
          {
            float y = ph.nextFloat();
            if (cmd == 'v') {
              p.rLineTo(0, y);
              lastY += y;
            } else {
              p.lineTo(lastX, y);
              lastY = y;
            }
            break;
          }
        case 'C':
        case 'c':
          {
            wasCurve = true;
            float x1 = ph.nextFloat();
            float y1 = ph.nextFloat();
            float x2 = ph.nextFloat();
            float y2 = ph.nextFloat();
            float x = ph.nextFloat();
            float y = ph.nextFloat();
            if (cmd == 'c') {
              x1 += lastX;
              x2 += lastX;
              x += lastX;
              y1 += lastY;
              y2 += lastY;
              y += lastY;
            }
            p.cubicTo(x1, y1, x2, y2, x, y);
            lastX1 = x2;
            lastY1 = y2;
            lastX = x;
            lastY = y;
            break;
          }
        case 'S':
        case 's':
          {
            wasCurve = true;
            float x2 = ph.nextFloat();
            float y2 = ph.nextFloat();
            float x = ph.nextFloat();
            float y = ph.nextFloat();
            if (cmd == 's') {
              x2 += lastX;
              x += lastX;
              y2 += lastY;
              y += lastY;
            }
            float x1 = 2 * lastX - lastX1;
            float y1 = 2 * lastY - lastY1;
            p.cubicTo(x1, y1, x2, y2, x, y);
            lastX1 = x2;
            lastY1 = y2;
            lastX = x;
            lastY = y;
            break;
          }
        case 'A':
        case 'a':
          {
            float rx = ph.nextFloat();
            float ry = ph.nextFloat();
            float theta = ph.nextFloat();
            int largeArc = (int) ph.nextFloat();
            int sweepArc = (int) ph.nextFloat();
            float x = ph.nextFloat();
            float y = ph.nextFloat();
            drawArc(p, lastX, lastY, x, y, rx, ry, theta, largeArc, sweepArc);
            lastX = x;
            lastY = y;
            break;
          }
      }
      if (!wasCurve) {
        lastX1 = lastX;
        lastY1 = lastY;
      }
      ph.skipWhitespace();
    }
    return p;
  }
Exemple #29
0
  public static Path getDogezaPath(float width, float[] centerPoint) {
    Path path = new Path();

    path.moveTo(
        centerPoint[0] - width / 2 + 0.927f * width, centerPoint[1] - width / 2 + 0.519f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.906f * width, centerPoint[1] - width / 2 + 0.511f * width,
        centerPoint[0] - width / 2 + 0.832f * width, centerPoint[1] - width / 2 + 0.476f * width,
        centerPoint[0] - width / 2 + 0.816f * width, centerPoint[1] - width / 2 + 0.471f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.804f * width, centerPoint[1] - width / 2 + 0.467f * width,
        centerPoint[0] - width / 2 + 0.784f * width, centerPoint[1] - width / 2 + 0.46f * width,
        centerPoint[0] - width / 2 + 0.774f * width, centerPoint[1] - width / 2 + 0.456f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.774f * width, centerPoint[1] - width / 2 + 0.445f * width,
        centerPoint[0] - width / 2 + 0.771f * width, centerPoint[1] - width / 2 + 0.433f * width,
        centerPoint[0] - width / 2 + 0.764f * width, centerPoint[1] - width / 2 + 0.424f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.739f * width, centerPoint[1] - width / 2 + 0.394f * width,
        centerPoint[0] - width / 2 + 0.684f * width, centerPoint[1] - width / 2 + 0.306f * width,
        centerPoint[0] - width / 2 + 0.659f * width, centerPoint[1] - width / 2 + 0.265f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.654f * width, centerPoint[1] - width / 2 + 0.253f * width,
        centerPoint[0] - width / 2 + 0.646f * width, centerPoint[1] - width / 2 + 0.244f * width,
        centerPoint[0] - width / 2 + 0.646f * width, centerPoint[1] - width / 2 + 0.244f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.646f * width, centerPoint[1] - width / 2 + 0.244f * width,
        centerPoint[0] - width / 2 + 0.65f * width, centerPoint[1] - width / 2 + 0.235f * width,
        centerPoint[0] - width / 2 + 0.65f * width, centerPoint[1] - width / 2 + 0.235f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.65f * width, centerPoint[1] - width / 2 + 0.235f * width,
        centerPoint[0] - width / 2 + 0.617f * width, centerPoint[1] - width / 2 + 0.174f * width,
        centerPoint[0] - width / 2 + 0.5f * width, centerPoint[1] - width / 2 + 0.173f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.383f * width, centerPoint[1] - width / 2 + 0.174f * width,
        centerPoint[0] - width / 2 + 0.35f * width, centerPoint[1] - width / 2 + 0.235f * width,
        centerPoint[0] - width / 2 + 0.35f * width, centerPoint[1] - width / 2 + 0.235f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.35f * width, centerPoint[1] - width / 2 + 0.235f * width,
        centerPoint[0] - width / 2 + 0.354f * width, centerPoint[1] - width / 2 + 0.244f * width,
        centerPoint[0] - width / 2 + 0.354f * width, centerPoint[1] - width / 2 + 0.244f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.354f * width, centerPoint[1] - width / 2 + 0.244f * width,
        centerPoint[0] - width / 2 + 0.335f * width, centerPoint[1] - width / 2 + 0.265f * width,
        centerPoint[0] - width / 2 + 0.336f * width, centerPoint[1] - width / 2 + 0.291f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.336f * width, centerPoint[1] - width / 2 + 0.293f * width,
        centerPoint[0] - width / 2 + 0.336f * width, centerPoint[1] - width / 2 + 0.294f * width,
        centerPoint[0] - width / 2 + 0.336f * width, centerPoint[1] - width / 2 + 0.296f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.299f * width, centerPoint[1] - width / 2 + 0.338f * width,
        centerPoint[0] - width / 2 + 0.229f * width, centerPoint[1] - width / 2 + 0.42f * width,
        centerPoint[0] - width / 2 + 0.218f * width, centerPoint[1] - width / 2 + 0.459f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.208f * width, centerPoint[1] - width / 2 + 0.463f * width,
        centerPoint[0] - width / 2 + 0.193f * width, centerPoint[1] - width / 2 + 0.467f * width,
        centerPoint[0] - width / 2 + 0.184f * width, centerPoint[1] - width / 2 + 0.471f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.168f * width, centerPoint[1] - width / 2 + 0.476f * width,
        centerPoint[0] - width / 2 + 0.094f * width, centerPoint[1] - width / 2 + 0.511f * width,
        centerPoint[0] - width / 2 + 0.073f * width, centerPoint[1] - width / 2 + 0.519f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.052f * width, centerPoint[1] - width / 2 + 0.526f * width,
        centerPoint[0] - width / 2 + 0.06f * width, centerPoint[1] - width / 2 + 0.542f * width,
        centerPoint[0] - width / 2 + 0.061f * width, centerPoint[1] - width / 2 + 0.555f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.062f * width, centerPoint[1] - width / 2 + 0.568f * width,
        centerPoint[0] - width / 2 + 0.092f * width, centerPoint[1] - width / 2 + 0.622f * width,
        centerPoint[0] - width / 2 + 0.099f * width, centerPoint[1] - width / 2 + 0.633f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.105f * width, centerPoint[1] - width / 2 + 0.644f * width,
        centerPoint[0] - width / 2 + 0.134f * width, centerPoint[1] - width / 2 + 0.706f * width,
        centerPoint[0] - width / 2 + 0.145f * width, centerPoint[1] - width / 2 + 0.725f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.155f * width, centerPoint[1] - width / 2 + 0.744f * width,
        centerPoint[0] - width / 2 + 0.154f * width, centerPoint[1] - width / 2 + 0.734f * width,
        centerPoint[0] - width / 2 + 0.169f * width, centerPoint[1] - width / 2 + 0.729f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.172f * width, centerPoint[1] - width / 2 + 0.729f * width,
        centerPoint[0] - width / 2 + 0.175f * width, centerPoint[1] - width / 2 + 0.727f * width,
        centerPoint[0] - width / 2 + 0.179f * width, centerPoint[1] - width / 2 + 0.725f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.179f * width, centerPoint[1] - width / 2 + 0.725f * width,
        centerPoint[0] - width / 2 + 0.186f * width, centerPoint[1] - width / 2 + 0.734f * width,
        centerPoint[0] - width / 2 + 0.186f * width, centerPoint[1] - width / 2 + 0.734f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.186f * width, centerPoint[1] - width / 2 + 0.734f * width,
        centerPoint[0] - width / 2 + 0.195f * width, centerPoint[1] - width / 2 + 0.733f * width,
        centerPoint[0] - width / 2 + 0.204f * width, centerPoint[1] - width / 2 + 0.729f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.206f * width, centerPoint[1] - width / 2 + 0.732f * width,
        centerPoint[0] - width / 2 + 0.208f * width, centerPoint[1] - width / 2 + 0.734f * width,
        centerPoint[0] - width / 2 + 0.209f * width, centerPoint[1] - width / 2 + 0.736f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.211f * width, centerPoint[1] - width / 2 + 0.743f * width,
        centerPoint[0] - width / 2 + 0.212f * width, centerPoint[1] - width / 2 + 0.767f * width,
        centerPoint[0] - width / 2 + 0.223f * width, centerPoint[1] - width / 2 + 0.78f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.233f * width, centerPoint[1] - width / 2 + 0.792f * width,
        centerPoint[0] - width / 2 + 0.236f * width, centerPoint[1] - width / 2 + 0.797f * width,
        centerPoint[0] - width / 2 + 0.246f * width, centerPoint[1] - width / 2 + 0.806f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.256f * width, centerPoint[1] - width / 2 + 0.816f * width,
        centerPoint[0] - width / 2 + 0.266f * width, centerPoint[1] - width / 2 + 0.816f * width,
        centerPoint[0] - width / 2 + 0.262f * width, centerPoint[1] - width / 2 + 0.808f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.258f * width, centerPoint[1] - width / 2 + 0.801f * width,
        centerPoint[0] - width / 2 + 0.242f * width, centerPoint[1] - width / 2 + 0.775f * width,
        centerPoint[0] - width / 2 + 0.242f * width, centerPoint[1] - width / 2 + 0.775f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.242f * width, centerPoint[1] - width / 2 + 0.775f * width,
        centerPoint[0] - width / 2 + 0.269f * width, centerPoint[1] - width / 2 + 0.804f * width,
        centerPoint[0] - width / 2 + 0.281f * width, centerPoint[1] - width / 2 + 0.817f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.294f * width, centerPoint[1] - width / 2 + 0.83f * width,
        centerPoint[0] - width / 2 + 0.301f * width, centerPoint[1] - width / 2 + 0.829f * width,
        centerPoint[0] - width / 2 + 0.297f * width, centerPoint[1] - width / 2 + 0.82f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.294f * width, centerPoint[1] - width / 2 + 0.812f * width,
        centerPoint[0] - width / 2 + 0.277f * width, centerPoint[1] - width / 2 + 0.784f * width,
        centerPoint[0] - width / 2 + 0.277f * width, centerPoint[1] - width / 2 + 0.784f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.277f * width, centerPoint[1] - width / 2 + 0.784f * width,
        centerPoint[0] - width / 2 + 0.294f * width, centerPoint[1] - width / 2 + 0.802f * width,
        centerPoint[0] - width / 2 + 0.31f * width, centerPoint[1] - width / 2 + 0.813f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.326f * width, centerPoint[1] - width / 2 + 0.823f * width,
        centerPoint[0] - width / 2 + 0.333f * width, centerPoint[1] - width / 2 + 0.813f * width,
        centerPoint[0] - width / 2 + 0.333f * width, centerPoint[1] - width / 2 + 0.813f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.333f * width, centerPoint[1] - width / 2 + 0.813f * width,
        centerPoint[0] - width / 2 + 0.333f * width, centerPoint[1] - width / 2 + 0.813f * width,
        centerPoint[0] - width / 2 + 0.331f * width, centerPoint[1] - width / 2 + 0.807f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.328f * width, centerPoint[1] - width / 2 + 0.802f * width,
        centerPoint[0] - width / 2 + 0.298f * width, centerPoint[1] - width / 2 + 0.776f * width,
        centerPoint[0] - width / 2 + 0.292f * width, centerPoint[1] - width / 2 + 0.768f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.286f * width, centerPoint[1] - width / 2 + 0.759f * width,
        centerPoint[0] - width / 2 + 0.322f * width, centerPoint[1] - width / 2 + 0.789f * width,
        centerPoint[0] - width / 2 + 0.335f * width, centerPoint[1] - width / 2 + 0.798f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.348f * width, centerPoint[1] - width / 2 + 0.806f * width,
        centerPoint[0] - width / 2 + 0.358f * width, centerPoint[1] - width / 2 + 0.798f * width,
        centerPoint[0] - width / 2 + 0.347f * width, centerPoint[1] - width / 2 + 0.788f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.335f * width, centerPoint[1] - width / 2 + 0.778f * width,
        centerPoint[0] - width / 2 + 0.31f * width, centerPoint[1] - width / 2 + 0.749f * width,
        centerPoint[0] - width / 2 + 0.305f * width, centerPoint[1] - width / 2 + 0.741f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.3f * width, centerPoint[1] - width / 2 + 0.734f * width,
        centerPoint[0] - width / 2 + 0.324f * width, centerPoint[1] - width / 2 + 0.749f * width,
        centerPoint[0] - width / 2 + 0.337f * width, centerPoint[1] - width / 2 + 0.751f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.35f * width, centerPoint[1] - width / 2 + 0.753f * width,
        centerPoint[0] - width / 2 + 0.352f * width, centerPoint[1] - width / 2 + 0.742f * width,
        centerPoint[0] - width / 2 + 0.341f * width, centerPoint[1] - width / 2 + 0.739f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.331f * width, centerPoint[1] - width / 2 + 0.736f * width,
        centerPoint[0] - width / 2 + 0.328f * width, centerPoint[1] - width / 2 + 0.729f * width,
        centerPoint[0] - width / 2 + 0.316f * width, centerPoint[1] - width / 2 + 0.721f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.303f * width, centerPoint[1] - width / 2 + 0.712f * width,
        centerPoint[0] - width / 2 + 0.284f * width, centerPoint[1] - width / 2 + 0.713f * width,
        centerPoint[0] - width / 2 + 0.272f * width, centerPoint[1] - width / 2 + 0.713f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.26f * width, centerPoint[1] - width / 2 + 0.713f * width,
        centerPoint[0] - width / 2 + 0.247f * width, centerPoint[1] - width / 2 + 0.705f * width,
        centerPoint[0] - width / 2 + 0.241f * width, centerPoint[1] - width / 2 + 0.696f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.241f * width, centerPoint[1] - width / 2 + 0.696f * width,
        centerPoint[0] - width / 2 + 0.24f * width, centerPoint[1] - width / 2 + 0.696f * width,
        centerPoint[0] - width / 2 + 0.24f * width, centerPoint[1] - width / 2 + 0.696f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.242f * width, centerPoint[1] - width / 2 + 0.693f * width,
        centerPoint[0] - width / 2 + 0.242f * width, centerPoint[1] - width / 2 + 0.692f * width,
        centerPoint[0] - width / 2 + 0.242f * width, centerPoint[1] - width / 2 + 0.692f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.242f * width, centerPoint[1] - width / 2 + 0.692f * width,
        centerPoint[0] - width / 2 + 0.238f * width, centerPoint[1] - width / 2 + 0.689f * width,
        centerPoint[0] - width / 2 + 0.238f * width, centerPoint[1] - width / 2 + 0.689f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.238f * width, centerPoint[1] - width / 2 + 0.689f * width,
        centerPoint[0] - width / 2 + 0.24f * width, centerPoint[1] - width / 2 + 0.687f * width,
        centerPoint[0] - width / 2 + 0.24f * width, centerPoint[1] - width / 2 + 0.687f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.24f * width, centerPoint[1] - width / 2 + 0.687f * width,
        centerPoint[0] - width / 2 + 0.2f * width, centerPoint[1] - width / 2 + 0.622f * width,
        centerPoint[0] - width / 2 + 0.198f * width, centerPoint[1] - width / 2 + 0.617f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.196f * width, centerPoint[1] - width / 2 + 0.612f * width,
        centerPoint[0] - width / 2 + 0.187f * width, centerPoint[1] - width / 2 + 0.6f * width,
        centerPoint[0] - width / 2 + 0.183f * width, centerPoint[1] - width / 2 + 0.596f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.179f * width, centerPoint[1] - width / 2 + 0.591f * width,
        centerPoint[0] - width / 2 + 0.172f * width, centerPoint[1] - width / 2 + 0.586f * width,
        centerPoint[0] - width / 2 + 0.185f * width, centerPoint[1] - width / 2 + 0.585f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.198f * width, centerPoint[1] - width / 2 + 0.584f * width,
        centerPoint[0] - width / 2 + 0.228f * width, centerPoint[1] - width / 2 + 0.579f * width,
        centerPoint[0] - width / 2 + 0.232f * width, centerPoint[1] - width / 2 + 0.579f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.236f * width, centerPoint[1] - width / 2 + 0.579f * width,
        centerPoint[0] - width / 2 + 0.251f * width, centerPoint[1] - width / 2 + 0.577f * width,
        centerPoint[0] - width / 2 + 0.254f * width, centerPoint[1] - width / 2 + 0.571f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.256f * width, centerPoint[1] - width / 2 + 0.565f * width,
        centerPoint[0] - width / 2 + 0.271f * width, centerPoint[1] - width / 2 + 0.566f * width,
        centerPoint[0] - width / 2 + 0.273f * width, centerPoint[1] - width / 2 + 0.569f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.275f * width, centerPoint[1] - width / 2 + 0.572f * width,
        centerPoint[0] - width / 2 + 0.284f * width, centerPoint[1] - width / 2 + 0.601f * width,
        centerPoint[0] - width / 2 + 0.305f * width, centerPoint[1] - width / 2 + 0.603f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.326f * width, centerPoint[1] - width / 2 + 0.605f * width,
        centerPoint[0] - width / 2 + 0.365f * width, centerPoint[1] - width / 2 + 0.613f * width,
        centerPoint[0] - width / 2 + 0.365f * width, centerPoint[1] - width / 2 + 0.613f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.365f * width, centerPoint[1] - width / 2 + 0.613f * width,
        centerPoint[0] - width / 2 + 0.369f * width, centerPoint[1] - width / 2 + 0.63f * width,
        centerPoint[0] - width / 2 + 0.386f * width, centerPoint[1] - width / 2 + 0.628f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.403f * width, centerPoint[1] - width / 2 + 0.626f * width,
        centerPoint[0] - width / 2 + 0.409f * width, centerPoint[1] - width / 2 + 0.629f * width,
        centerPoint[0] - width / 2 + 0.409f * width, centerPoint[1] - width / 2 + 0.629f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.409f * width, centerPoint[1] - width / 2 + 0.629f * width,
        centerPoint[0] - width / 2 + 0.395f * width, centerPoint[1] - width / 2 + 0.666f * width,
        centerPoint[0] - width / 2 + 0.411f * width, centerPoint[1] - width / 2 + 0.711f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.427f * width, centerPoint[1] - width / 2 + 0.758f * width,
        centerPoint[0] - width / 2 + 0.464f * width, centerPoint[1] - width / 2 + 0.764f * width,
        centerPoint[0] - width / 2 + 0.479f * width, centerPoint[1] - width / 2 + 0.755f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.538f * width, centerPoint[1] - width / 2 + 0.778f * width,
        centerPoint[0] - width / 2 + 0.573f * width, centerPoint[1] - width / 2 + 0.754f * width,
        centerPoint[0] - width / 2 + 0.588f * width, centerPoint[1] - width / 2 + 0.711f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.604f * width, centerPoint[1] - width / 2 + 0.666f * width,
        centerPoint[0] - width / 2 + 0.591f * width, centerPoint[1] - width / 2 + 0.629f * width,
        centerPoint[0] - width / 2 + 0.591f * width, centerPoint[1] - width / 2 + 0.629f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.591f * width, centerPoint[1] - width / 2 + 0.629f * width,
        centerPoint[0] - width / 2 + 0.597f * width, centerPoint[1] - width / 2 + 0.626f * width,
        centerPoint[0] - width / 2 + 0.614f * width, centerPoint[1] - width / 2 + 0.628f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.631f * width, centerPoint[1] - width / 2 + 0.63f * width,
        centerPoint[0] - width / 2 + 0.635f * width, centerPoint[1] - width / 2 + 0.613f * width,
        centerPoint[0] - width / 2 + 0.635f * width, centerPoint[1] - width / 2 + 0.613f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.635f * width, centerPoint[1] - width / 2 + 0.613f * width,
        centerPoint[0] - width / 2 + 0.674f * width, centerPoint[1] - width / 2 + 0.605f * width,
        centerPoint[0] - width / 2 + 0.695f * width, centerPoint[1] - width / 2 + 0.603f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.716f * width, centerPoint[1] - width / 2 + 0.601f * width,
        centerPoint[0] - width / 2 + 0.725f * width, centerPoint[1] - width / 2 + 0.572f * width,
        centerPoint[0] - width / 2 + 0.727f * width, centerPoint[1] - width / 2 + 0.569f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.729f * width, centerPoint[1] - width / 2 + 0.566f * width,
        centerPoint[0] - width / 2 + 0.744f * width, centerPoint[1] - width / 2 + 0.565f * width,
        centerPoint[0] - width / 2 + 0.746f * width, centerPoint[1] - width / 2 + 0.571f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.749f * width, centerPoint[1] - width / 2 + 0.577f * width,
        centerPoint[0] - width / 2 + 0.764f * width, centerPoint[1] - width / 2 + 0.579f * width,
        centerPoint[0] - width / 2 + 0.768f * width, centerPoint[1] - width / 2 + 0.579f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.772f * width, centerPoint[1] - width / 2 + 0.579f * width,
        centerPoint[0] - width / 2 + 0.802f * width, centerPoint[1] - width / 2 + 0.584f * width,
        centerPoint[0] - width / 2 + 0.815f * width, centerPoint[1] - width / 2 + 0.585f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.828f * width, centerPoint[1] - width / 2 + 0.586f * width,
        centerPoint[0] - width / 2 + 0.821f * width, centerPoint[1] - width / 2 + 0.591f * width,
        centerPoint[0] - width / 2 + 0.817f * width, centerPoint[1] - width / 2 + 0.596f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.813f * width, centerPoint[1] - width / 2 + 0.6f * width,
        centerPoint[0] - width / 2 + 0.804f * width, centerPoint[1] - width / 2 + 0.612f * width,
        centerPoint[0] - width / 2 + 0.802f * width, centerPoint[1] - width / 2 + 0.617f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.8f * width, centerPoint[1] - width / 2 + 0.622f * width,
        centerPoint[0] - width / 2 + 0.76f * width, centerPoint[1] - width / 2 + 0.687f * width,
        centerPoint[0] - width / 2 + 0.76f * width, centerPoint[1] - width / 2 + 0.687f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.76f * width, centerPoint[1] - width / 2 + 0.687f * width,
        centerPoint[0] - width / 2 + 0.762f * width, centerPoint[1] - width / 2 + 0.689f * width,
        centerPoint[0] - width / 2 + 0.762f * width, centerPoint[1] - width / 2 + 0.689f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.762f * width, centerPoint[1] - width / 2 + 0.689f * width,
        centerPoint[0] - width / 2 + 0.758f * width, centerPoint[1] - width / 2 + 0.692f * width,
        centerPoint[0] - width / 2 + 0.758f * width, centerPoint[1] - width / 2 + 0.692f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.758f * width, centerPoint[1] - width / 2 + 0.692f * width,
        centerPoint[0] - width / 2 + 0.758f * width, centerPoint[1] - width / 2 + 0.693f * width,
        centerPoint[0] - width / 2 + 0.76f * width, centerPoint[1] - width / 2 + 0.696f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.76f * width, centerPoint[1] - width / 2 + 0.696f * width,
        centerPoint[0] - width / 2 + 0.759f * width, centerPoint[1] - width / 2 + 0.696f * width,
        centerPoint[0] - width / 2 + 0.759f * width, centerPoint[1] - width / 2 + 0.696f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.753f * width, centerPoint[1] - width / 2 + 0.705f * width,
        centerPoint[0] - width / 2 + 0.74f * width, centerPoint[1] - width / 2 + 0.713f * width,
        centerPoint[0] - width / 2 + 0.728f * width, centerPoint[1] - width / 2 + 0.713f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.716f * width, centerPoint[1] - width / 2 + 0.713f * width,
        centerPoint[0] - width / 2 + 0.697f * width, centerPoint[1] - width / 2 + 0.712f * width,
        centerPoint[0] - width / 2 + 0.684f * width, centerPoint[1] - width / 2 + 0.721f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.672f * width, centerPoint[1] - width / 2 + 0.729f * width,
        centerPoint[0] - width / 2 + 0.669f * width, centerPoint[1] - width / 2 + 0.736f * width,
        centerPoint[0] - width / 2 + 0.659f * width, centerPoint[1] - width / 2 + 0.739f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.648f * width, centerPoint[1] - width / 2 + 0.742f * width,
        centerPoint[0] - width / 2 + 0.65f * width, centerPoint[1] - width / 2 + 0.753f * width,
        centerPoint[0] - width / 2 + 0.663f * width, centerPoint[1] - width / 2 + 0.751f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.676f * width, centerPoint[1] - width / 2 + 0.749f * width,
        centerPoint[0] - width / 2 + 0.7f * width, centerPoint[1] - width / 2 + 0.734f * width,
        centerPoint[0] - width / 2 + 0.695f * width, centerPoint[1] - width / 2 + 0.741f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.69f * width, centerPoint[1] - width / 2 + 0.749f * width,
        centerPoint[0] - width / 2 + 0.665f * width, centerPoint[1] - width / 2 + 0.778f * width,
        centerPoint[0] - width / 2 + 0.653f * width, centerPoint[1] - width / 2 + 0.788f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.642f * width, centerPoint[1] - width / 2 + 0.798f * width,
        centerPoint[0] - width / 2 + 0.652f * width, centerPoint[1] - width / 2 + 0.806f * width,
        centerPoint[0] - width / 2 + 0.665f * width, centerPoint[1] - width / 2 + 0.798f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.678f * width, centerPoint[1] - width / 2 + 0.789f * width,
        centerPoint[0] - width / 2 + 0.714f * width, centerPoint[1] - width / 2 + 0.759f * width,
        centerPoint[0] - width / 2 + 0.708f * width, centerPoint[1] - width / 2 + 0.768f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.702f * width, centerPoint[1] - width / 2 + 0.776f * width,
        centerPoint[0] - width / 2 + 0.672f * width, centerPoint[1] - width / 2 + 0.802f * width,
        centerPoint[0] - width / 2 + 0.669f * width, centerPoint[1] - width / 2 + 0.807f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.667f * width, centerPoint[1] - width / 2 + 0.813f * width,
        centerPoint[0] - width / 2 + 0.667f * width, centerPoint[1] - width / 2 + 0.813f * width,
        centerPoint[0] - width / 2 + 0.667f * width, centerPoint[1] - width / 2 + 0.813f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.667f * width, centerPoint[1] - width / 2 + 0.813f * width,
        centerPoint[0] - width / 2 + 0.674f * width, centerPoint[1] - width / 2 + 0.823f * width,
        centerPoint[0] - width / 2 + 0.69f * width, centerPoint[1] - width / 2 + 0.813f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.706f * width, centerPoint[1] - width / 2 + 0.802f * width,
        centerPoint[0] - width / 2 + 0.723f * width, centerPoint[1] - width / 2 + 0.784f * width,
        centerPoint[0] - width / 2 + 0.723f * width, centerPoint[1] - width / 2 + 0.784f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.723f * width, centerPoint[1] - width / 2 + 0.784f * width,
        centerPoint[0] - width / 2 + 0.706f * width, centerPoint[1] - width / 2 + 0.812f * width,
        centerPoint[0] - width / 2 + 0.703f * width, centerPoint[1] - width / 2 + 0.82f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.699f * width, centerPoint[1] - width / 2 + 0.829f * width,
        centerPoint[0] - width / 2 + 0.706f * width, centerPoint[1] - width / 2 + 0.83f * width,
        centerPoint[0] - width / 2 + 0.719f * width, centerPoint[1] - width / 2 + 0.817f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.731f * width, centerPoint[1] - width / 2 + 0.804f * width,
        centerPoint[0] - width / 2 + 0.758f * width, centerPoint[1] - width / 2 + 0.775f * width,
        centerPoint[0] - width / 2 + 0.758f * width, centerPoint[1] - width / 2 + 0.775f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.758f * width, centerPoint[1] - width / 2 + 0.775f * width,
        centerPoint[0] - width / 2 + 0.742f * width, centerPoint[1] - width / 2 + 0.801f * width,
        centerPoint[0] - width / 2 + 0.738f * width, centerPoint[1] - width / 2 + 0.808f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.734f * width, centerPoint[1] - width / 2 + 0.816f * width,
        centerPoint[0] - width / 2 + 0.744f * width, centerPoint[1] - width / 2 + 0.816f * width,
        centerPoint[0] - width / 2 + 0.754f * width, centerPoint[1] - width / 2 + 0.806f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.764f * width, centerPoint[1] - width / 2 + 0.797f * width,
        centerPoint[0] - width / 2 + 0.767f * width, centerPoint[1] - width / 2 + 0.792f * width,
        centerPoint[0] - width / 2 + 0.777f * width, centerPoint[1] - width / 2 + 0.78f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.788f * width, centerPoint[1] - width / 2 + 0.767f * width,
        centerPoint[0] - width / 2 + 0.789f * width, centerPoint[1] - width / 2 + 0.743f * width,
        centerPoint[0] - width / 2 + 0.791f * width, centerPoint[1] - width / 2 + 0.736f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.792f * width, centerPoint[1] - width / 2 + 0.734f * width,
        centerPoint[0] - width / 2 + 0.794f * width, centerPoint[1] - width / 2 + 0.732f * width,
        centerPoint[0] - width / 2 + 0.796f * width, centerPoint[1] - width / 2 + 0.729f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.805f * width, centerPoint[1] - width / 2 + 0.733f * width,
        centerPoint[0] - width / 2 + 0.814f * width, centerPoint[1] - width / 2 + 0.734f * width,
        centerPoint[0] - width / 2 + 0.814f * width, centerPoint[1] - width / 2 + 0.734f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.814f * width, centerPoint[1] - width / 2 + 0.734f * width,
        centerPoint[0] - width / 2 + 0.821f * width, centerPoint[1] - width / 2 + 0.725f * width,
        centerPoint[0] - width / 2 + 0.821f * width, centerPoint[1] - width / 2 + 0.725f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.825f * width, centerPoint[1] - width / 2 + 0.727f * width,
        centerPoint[0] - width / 2 + 0.828f * width, centerPoint[1] - width / 2 + 0.729f * width,
        centerPoint[0] - width / 2 + 0.831f * width, centerPoint[1] - width / 2 + 0.729f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.846f * width, centerPoint[1] - width / 2 + 0.734f * width,
        centerPoint[0] - width / 2 + 0.845f * width, centerPoint[1] - width / 2 + 0.744f * width,
        centerPoint[0] - width / 2 + 0.856f * width, centerPoint[1] - width / 2 + 0.725f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.866f * width, centerPoint[1] - width / 2 + 0.706f * width,
        centerPoint[0] - width / 2 + 0.895f * width, centerPoint[1] - width / 2 + 0.644f * width,
        centerPoint[0] - width / 2 + 0.901f * width, centerPoint[1] - width / 2 + 0.633f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.908f * width, centerPoint[1] - width / 2 + 0.622f * width,
        centerPoint[0] - width / 2 + 0.938f * width, centerPoint[1] - width / 2 + 0.568f * width,
        centerPoint[0] - width / 2 + 0.939f * width, centerPoint[1] - width / 2 + 0.555f * width);
    path.cubicTo(
        centerPoint[0] - width / 2 + 0.94f * width, centerPoint[1] - width / 2 + 0.542f * width,
        centerPoint[0] - width / 2 + 0.948f * width, centerPoint[1] - width / 2 + 0.526f * width,
        centerPoint[0] - width / 2 + 0.927f * width, centerPoint[1] - width / 2 + 0.519f * width);
    return path;
  }
 protected final int i(int paramInt, Object... paramVarArgs) {
   switch (paramInt) {
   }
   for (; ; ) {
     return 0;
     return 270;
     return 270;
     Canvas localCanvas = (Canvas) paramVarArgs[0];
     paramVarArgs = (Looper) paramVarArgs[1];
     c.d(paramVarArgs);
     c.c(paramVarArgs);
     Paint localPaint = c.g(paramVarArgs);
     localPaint.setFlags(385);
     localPaint.setStyle(Paint.Style.FILL);
     Object localObject = c.g(paramVarArgs);
     ((Paint) localObject).setFlags(385);
     ((Paint) localObject).setStyle(Paint.Style.STROKE);
     localPaint.setColor(-16777216);
     ((Paint) localObject).setStrokeWidth(1.0F);
     ((Paint) localObject).setStrokeCap(Paint.Cap.BUTT);
     ((Paint) localObject).setStrokeJoin(Paint.Join.MITER);
     ((Paint) localObject).setStrokeMiter(4.0F);
     ((Paint) localObject).setPathEffect(null);
     c.a((Paint) localObject, paramVarArgs).setStrokeWidth(1.0F);
     localPaint = c.a(localPaint, paramVarArgs);
     localPaint.setColor(-12601288);
     localCanvas.save();
     localPaint = c.a(localPaint, paramVarArgs);
     localObject = c.h(paramVarArgs);
     ((Path) localObject).moveTo(131.16F, 0.0F);
     ((Path) localObject).lineTo(138.59F, 0.0F);
     ((Path) localObject).cubicTo(169.69F, 0.83F, 200.36F, 12.7F, 223.71F, 33.28F);
     ((Path) localObject).cubicTo(251.77F, 57.44F, 268.83F, 93.6F, 270.0F, 130.59F);
     ((Path) localObject).lineTo(270.0F, 137.53F);
     ((Path) localObject).cubicTo(269.48F, 168.53F, 257.86F, 199.15F, 237.66F, 222.67F);
     ((Path) localObject).cubicTo(213.11F, 251.69F, 175.86F, 269.39F, 137.83F, 270.0F);
     ((Path) localObject).lineTo(132.41F, 270.0F);
     ((Path) localObject).cubicTo(106.69F, 269.5F, 81.14F, 261.55F, 59.82F, 247.12F);
     ((Path) localObject).cubicTo(35.24F, 230.72F, 16.33F, 205.99F, 7.01F, 177.95F);
     ((Path) localObject).cubicTo(2.53F, 164.82F, 0.31F, 150.97F, 0.0F, 137.13F);
     ((Path) localObject).lineTo(0.0F, 133.07F);
     ((Path) localObject).cubicTo(0.36F, 94.51F, 18.29F, 56.6F, 47.89F, 31.9F);
     ((Path) localObject).cubicTo(70.96F, 12.2F, 100.85F, 0.89F, 131.16F, 0.0F);
     ((Path) localObject).lineTo(131.16F, 0.0F);
     ((Path) localObject).close();
     ((Path) localObject).moveTo(203.02F, 82.05F);
     ((Path) localObject).cubicTo(171.35F, 113.7F, 139.71F, 145.38F, 108.03F, 177.02F);
     ((Path) localObject).cubicTo(95.98F, 165.08F, 84.03F, 153.03F, 72.01F, 141.05F);
     ((Path) localObject).cubicTo(71.22F, 140.01F, 69.44F, 139.34F, 68.41F, 140.39F);
     ((Path) localObject).cubicTo(65.92F, 142.65F, 63.6F, 145.1F, 61.23F, 147.49F);
     ((Path) localObject).cubicTo(59.98F, 148.45F, 60.3F, 150.46F, 61.49F, 151.33F);
     ((Path) localObject).cubicTo(76.33F, 166.21F, 91.18F, 181.09F, 106.08F, 195.91F);
     ((Path) localObject).cubicTo(107.0F, 197.16F, 108.96F, 197.19F, 109.91F, 195.94F);
     ((Path) localObject).cubicTo(144.3F, 161.65F, 178.59F, 127.26F, 212.96F, 92.94F);
     ((Path) localObject).cubicTo(214.03F, 91.97F, 215.05F, 90.77F, 214.44F, 89.23F);
     ((Path) localObject).cubicTo(211.96F, 86.51F, 209.35F, 83.91F, 206.66F, 81.41F);
     ((Path) localObject).cubicTo(205.59F, 80.26F, 203.84F, 81.02F, 203.02F, 82.05F);
     ((Path) localObject).lineTo(203.02F, 82.05F);
     ((Path) localObject).close();
     WeChatSVGRenderC2Java.setFillType((Path) localObject, 2);
     localCanvas.drawPath((Path) localObject, localPaint);
     localCanvas.restore();
     c.f(paramVarArgs);
   }
 }