A (left, top, width, height) tuple describing range extents.

        Note this is normalized to accommodate the various orderings of the
        corner cells provided on construction, which may be in any of four
        configurations such as (top-left, bottom-right),
        (bottom-left, top-right), etc.

def _extents(self):
        """A (left, top, width, height) tuple describing range extents.

        Note this is normalized to accommodate the various orderings of the
        corner cells provided on construction, which may be in any of four
        configurations such as (top-left, bottom-right),
        (bottom-left, top-right), etc.
        """
        def start_and_size(idx, other_idx):
            """Return beginning and length of range based on two indexes."""
            return min(idx, other_idx), abs(idx - other_idx) + 1

        tc, other_tc = self._tc, self._other_tc

        left, width = start_and_size(tc.col_idx, other_tc.col_idx)
        top, height = start_and_size(tc.row_idx, other_tc.row_idx)

        return left, top, width, height