 	parent = layer.parent if layer.parent
 	borderWidth = parent.borderWidth
 	borderWidth ?= 0
-	return parent.width - (2 * borderWidth) - layer.width + offset
+	return pixelRound(parent.width - (2 * borderWidth) - layer.width + offset)
 
 top = (layer, property, offset=0) ->
 	throw Error "Align.top only works for y" unless property is "y"
 	parent = Screen
 	parent = layer.parent if layer.parent
-	return 0 + offset
+	return pixelRound(0 + offset)
 
 bottom = (layer, property, offset=0) ->
 	throw Error "Align.bottom only works for y" unless property is "y"

	throw Error "Align.left only works for x" unless property is "x"
	parent = Screen
	parent = layer.parent if layer.parent
	return 0 + offset

right = (layer, property, offset=0) ->
	throw Error "Align.right only works for x" unless property is "x"

	borderWidth = parent.borderWidth
	borderWidth ?= 0

	x = pixelRound((parent.width / 2) - (layer.width / 2) - borderWidth + offset)
	y = pixelRound((parent.height / 2) - (layer.height / 2) - borderWidth + offset)

	return x if property is "x"
	return y if property is "y"
