     init(items: [T], style: Style, bounds: CGRect) {
         self.itemLayout = ItemLayout(items: items, style: style)
         
-        var contentFrame = CGRect(origin: CGPoint(), size: itemLayout.size).integral
+        var contentFrame = CGRect(origin: CGPoint(), size: itemLayout.size)
         contentFrame.right = bounds.right - style.indexInset.right + style.indexOffset.horizontal
         contentFrame.centerY = bounds.centerY + style.indexOffset.vertical
         

        var frames: [CGRect] = [CGRect]()
        
        for item in items {
            let size = item.sizeThatFits(CGSize(width: bbox.width, height: bbox.height))
            
            var frame = CGRect(origin: CGPoint(x: 0, y: height), size: size)
            frame.centerX = bbox.width / 2

        backgroundFrame.moveTop(unboundTopInset ? 0 : backgroundFrame.top - style.indexInset.top)
        backgroundFrame.moveBottom(unboundBottomInset ? bounds.bottom : backgroundFrame.bottom + style.indexInset.bottom)

        self.backgroundFrame = backgroundFrame
    }
}
