blob: 625d5e53c84d4840d3486dc6ff427aa116c53f3c [file] [log] [blame]
package org.eclipse.nebula.widgets.nattable.renderer.javafx.layer
import javafx.scene.canvas.Canvas
import org.eclipse.nebula.widgets.nattable.core.layer.Layer
import org.eclipse.nebula.widgets.nattable.core.layer.cell.LayerCell
import org.eclipse.nebula.widgets.nattable.renderer.javafx.layer.cell.DefaultLayerCellRenderer
import static extension org.eclipse.nebula.widgets.nattable.core.layer.LayerInvariants.*
import static extension org.eclipse.nebula.widgets.nattable.core.layer.cell.LayerCellInvariants.*
import static extension org.eclipse.nebula.widgets.nattable.renderer.javafx.geometry.GeometryConversions.*
class CellLayerRenderer implements LayerRenderer {
val layerCellRenderer = new DefaultLayerCellRenderer
override renderLayer(Layer layer, Canvas canvas) {
canvas.graphicsContext2D.clearRect(0, 0, canvas.boundsInLocal.width, canvas.boundsInLocal.height)
for (columnPosition : 0 ..< layer.columnCount)
for (rowPosition : 0 ..< layer.rowCount) {
val cell = layer.getCell(columnPosition, rowPosition)
layerCellRenderer.renderLayerCell(cell, canvas, cell.getPaintRegion)
}
}
protected def getPaintRegion(LayerCell cell) {
cell.pixelBounds.toJavaFXRectangle
}
}