private void updateMinute(WatchCurrentTime watchcurrenttime) { DisplayHelper.clearCanvas(mMinuteRingBitmapCanvas); float f = watchcurrenttime.getMinuteDegreesContinuous(); float f1 = (float) Math.toRadians(f); mRingPath.reset(); mRingPath.arcTo(mMinuteRingRect, -90F, 90F + f); mMinuteRingBitmapCanvas.drawPath(mRingPath, mMinuteRingPaint); TrigHelper.getPointOnCircle(mMinuteDotPoint, mMinuteRingRadius, f1, getCenter()); mMinuteRingBitmapCanvas.drawCircle( mMinuteDotPoint.x, mMinuteDotPoint.y, mRingDotRadius, mMinuteRingArrowPaint); }
protected void onDraw(Canvas canvas) { WatchCurrentTime.getCurrent(mCurrentTime); canvas.drawBitmap(mBackgroundBitmap, 0.0F, 0.0F, null); canvas.drawBitmap(mMinuteRingBitmap, 0.0F, 0.0F, null); canvas.drawBitmap(mHourRingBitmap, 0.0F, 0.0F, null); canvas.drawBitmap(mTimeBitmap, 0.0F, 0.0F, null); if (!isAmbient()) { float f = (float) Math.toRadians(mCurrentTime.getSecondDegrees()); TrigHelper.getPointOnCircle( mTickStartPoint, mSecondTickCircleRadius - mCurrentSecondTickLength / 2.0F, f, getCenter()); TrigHelper.getPointOnCircle( mTickEndPoint, mSecondTickCircleRadius + mCurrentSecondTickLength / 2.0F, f, getCenter()); canvas.drawLine( mTickStartPoint.x, mTickStartPoint.y, mTickEndPoint.x, mTickEndPoint.y, mCurrentSecondTickPaint); } super.onDraw(canvas); }
private void generateBackgroundBitmap(WatchCurrentTime watchcurrenttime) { DisplayHelper.clearCanvas(mBackgroundBitmapCanvas); mBackgroundBitmapCanvas.drawRect(getFaceRect(), mFacePaint); WatchFace watchface = (WatchFace) getContext(); if (!isAmbient()) { if (watchface.isRound()) { mFacePiePath.reset(); mFacePiePath.moveTo(getCenterX(), getCenterY()); mFacePiePath.lineTo(getCenterX(), 0.0F); mFacePiePath.arcTo(getFaceRect(), 270F, 90F); mFacePiePath.lineTo(getCenterX(), getCenterY()); mBackgroundBitmapCanvas.drawPath(mFacePiePath, mFacePiePaint); } else { mFacePiePath.reset(); mFacePiePath.moveTo(getCenterX(), getCenterY()); mFacePiePath.lineTo(getCenterX(), 0.0F); mFacePiePath.lineTo(getFaceWidth(), 0.0F); mFacePiePath.lineTo(getFaceWidth(), getCenterY()); mFacePiePath.lineTo(getCenterX(), getCenterY()); mBackgroundBitmapCanvas.drawPath(mFacePiePath, mFacePiePaint); } if (watchface.isRound()) { mFacePiePath.reset(); mFacePiePath.moveTo(getCenterX(), getCenterY()); mFacePiePath.lineTo(getCenterX(), getFaceHeight()); mFacePiePath.arcTo(getFaceRect(), 90F, 90F); mFacePiePath.lineTo(getCenterX(), getCenterY()); mBackgroundBitmapCanvas.drawPath(mFacePiePath, mFacePiePaint); } else { mFacePiePath.reset(); mFacePiePath.moveTo(getCenterX(), getCenterY()); mFacePiePath.lineTo(getCenterX(), getFaceHeight()); mFacePiePath.lineTo(0.0F, getFaceHeight()); mFacePiePath.lineTo(0.0F, getCenterY()); mFacePiePath.lineTo(getCenterX(), getCenterY()); mBackgroundBitmapCanvas.drawPath(mFacePiePath, mFacePiePaint); } mCirclePaint.setStrokeWidth(mOuterCircleWidth); if (watchface.isRound()) mBackgroundBitmapCanvas.drawCircle( getCenterX(), getCenterY(), getFaceRadius() - mOuterCircleWidth, mCirclePaint); else mBackgroundBitmapCanvas.drawRect(getFaceRect(), mCirclePaint); mCirclePaint.setStrokeWidth(mInnerCircleWidth); mBackgroundBitmapCanvas.drawCircle( getCenterX(), getCenterY(), mInnerCircleRadius, mFacePaint); float f; for (int i = 0; i < 60; i++) { f = (float) Math.toRadians(TimeHelper.getDegreesFromSecond(i)); TrigHelper.getPointOnCircle( mTickStartPoint, mSecondTickCircleRadius - mSecondTickLength / 2.0F, f, getCenter()); TrigHelper.getPointOnCircle( mTickEndPoint, mSecondTickCircleRadius + mSecondTickLength / 2.0F, f, getCenter()); mBackgroundBitmapCanvas.drawLine( mTickStartPoint.x, mTickStartPoint.y, mTickEndPoint.x, mTickEndPoint.y, mSecondTickPaint); } } }