code: protected void drawCheckedState(Canvas canvas, int w, int h) {
          int x = w / 2;
          int y = h / 2;
  
          canvas.drawCircle(x, y,
                  mRadius - (mShadowRadius * 1.5f),
                  mCheckedBackgroundPaint);
          canvas.save();
  
          int shortStrokeHeight = (int) (mLongStrokeHeight * .4f);
          int halfH = (int) (mLongStrokeHeight * .5f);
          int offset = (int)(shortStrokeHeight * .3f);
          int sx = x + offset;
          int sy = y - offset;
          mPath.reset();
          mPath.moveTo(sx, sy - halfH);
          mPath.lineTo(sx, sy + halfH); // draw long stroke
          mPath.moveTo(sx + (getCheckMarkStrokeWidthInPixels() * .5f), sy + halfH);
          mPath.lineTo(sx - shortStrokeHeight, sy + halfH); // draw short stroke
  
          // Rotates the canvas to draw an angled check mark
          canvas.rotate(45f, x, y);
          canvas.drawPath(mPath, mCheckMarkPaint);
          // Restore the canvas to previously saved state
          canvas.restore();
      }
docs: Draws the checked state.
  
  @param canvas
  @param w
  @param h