docs: @Override
      public void draw(@NonNull Canvas canvas) {
  
          Rect bounds = getBounds();
          if (bounds.width() == 0 || bounds.height() == 0) {
              return;
          }
  
          int saveCount = canvas.save();
          canvas.translate(bounds.left, bounds.top);
          onDraw(canvas, bounds.width(), bounds.height());
          canvas.restoreToCount(saveCount);
      }