code: def _reflowed_text(self):
          
          if self._reflowed_text_cache is None:
              if self._line_wrap:
                  self._reflowed_text_cache = []
                  limit = self._w - self._offset
                  for i, line in enumerate(self._value):
                      column = 0
                      while self.string_len(line) >= limit:
                          sub_string = _enforce_width(
                              line, limit, self._frame.canvas.unicode_aware)
                          self._reflowed_text_cache.append((sub_string, i, column))
                          line = line[len(sub_string):]
                          column += len(sub_string)
                      self._reflowed_text_cache.append((line, i, column))
              else:
                  self._reflowed_text_cache = [(x, i, 0) for i, x in enumerate(self._value)]
  
          return self._reflowed_text_cache
docs: The text as should be formatted on the screen.
  
          This is an array of tuples of the form (text, value line, value column offset) where
          the line and column offsets are indeces into the value (not displayed glyph coordinates).