@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); } }
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); }
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); }
/** * 描述: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); }
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); } }
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; }
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); } }