There are things unclear to me in the addAreasAndFlushRow method of the
RowPainter class. I hope someone can shed some light:
- why is a Map used to store y-offsets of rows? That seems to indicate
  that rows are not added in a sequential order, or that there could be
  hole between them, which sounds unlikely to me.
- there is one condition that I don't understand on l.204: in case the
  primary grid unit at the given column isn't null, then the
  corresponding areas are added only if:
  - forcedFlush == true, or
  - the end of the cell is reached on the current row AND (the current
    grid unit is null or is the last in the row-spanning direction).
    What's the purpose of that second member of the and?
- also, inside the if branch, in case the primary grid unit was null,
  then the primary grid units from the current grid unit (i.e., on the
  current row) is retrieved if:
  - it does not correspond to an empty cell;
  - the cell doesn't span in the column direction
  - it is the last grid unit
  Why such conditions, and can the primary grid unit still be null after
  that (as implied by the if l.223)?
There seems to be some careful selection of the cells to be painted,
which is still a bit cryptic to me...


Reply via email to