Sorry if this is answered somewhere, but I can't for the life of me find it.
They are read from top to bottom. See pngread.c.