For example:
<img width="1904" alt="Screen Shot 2021-11-05 at 11 59 05 AM" src="https://user-images.githubusercontent.com/29597/140540816-25d6d47b-7aea-4121-aeaa-565accc65b1f.png">

subview.setVisibleArea(zeroRect);
      }
    });
  }
  /**
   * Draw the contents of this view in the given canvas `context`.
   *
   * Defaults to drawing this view's `subviews`.
   *
   * To be overwritten by subclasses that wish to draw custom content.
   *
   * NOTE: Do not call directly! Use `displayIfNeeded`.
   *
   * @see displayIfNeeded
   */
  draw(context: CanvasRenderingContext2D, viewRefs: ViewRefs) {
    const {subviews, visibleArea} = this;
    subviews.forEach(subview => {
      if (rectIntersectsRect(visibleArea, subview.visibleArea)) {
        subview.displayIfNeeded(context, viewRefs);
      }
    });
    const backgroundColor = this._backgroundColor;
    if (backgroundColor !== null) {
      const desiredSize = this.desiredSize();
      if (visibleArea.size.height > desiredSize.height) {
        context.fillStyle = backgroundColor;
        context.fillRect(
          visibleArea.origin.x,
          visibleArea.origin.y + desiredSize.height,