protected fun loadAllInterlaced()

in plot-api/src/commonMain/kotlin/org/jetbrains/letsPlot/util/pngj/PngReader.kt [418:445]


    protected fun loadAllInterlaced(nRows: Int, rowOffset: Int, rowStep: Int) {
        require(chunkseq != null)
        val idat: IdatSet = chunkseq.idatSet!!
        var nread = 0
        do {
            while (!chunkseq.idatSet!!.isRowReady) if (streamFeeder!!.feed(chunkseq) <= 0) break
            if (!chunkseq.idatSet!!.isRowReady) throw PngjInputException("Premature ending?")
            chunkseq.idatSet!!.updateCrcs(idatCrca, idatCrcb)
            val rowNumreal: Int = idat.rowinfo.rowNreal
            val inset: Boolean = imlinesSet!!.hasImageLine(rowNumreal)
            if (inset) {
                imlinesSet!!.getImageLine(rowNumreal).readFromPngRaw(
                    idat.unfilteredRow!!, idat.rowinfo.buflen,
                    idat.rowinfo.oX, idat.rowinfo.dX
                )
                nread++
            }
            idat.advanceToNextRow()
        } while (nread < nRows || !idat.isDone)
        idat.markAsDone()
        var i = 0
        var j = rowOffset
        while (i < nRows) {
            imlinesSet!!.getImageLine(j).endReadFromPngRaw()
            i++
            j += rowStep
        }
    }