 		"textTransform"
 		"textIndent"
 		"textDecoration"
+		"textOverflow"
+		"whiteSpace"
 		"direction"
 		"font"
 		"borderWidth"

	@define "textTransform", layerProperty(@, "textTransform", "textTransform", "none", _.isString)
	@define "textIndent", layerProperty(@, "textIndent", "textIndent", null, _.isNumber)
	@define "textDecoration", layerProperty(@, "textDecoration", "textDecoration", null, _.isString)
	@define "direction", layerProperty(@, "direction", "direction", null, _.isString)


	@define "font", layerProperty @, "font", null, null, validateFont, null, {}, (layer, value) ->
		if _.isObject(value)

		if not options.font? and not options.fontFamily?
			options.fontFamily = @defaultFont()

		# Keeps track if the width or height are explicitly set, so we shouldn't update it afterwards
		@explicitWidth = options.width?
		@explicitHeight = options.height?

		super options

		@font ?= @fontFamily
		# Set padding
		@padding = options.padding or Utils.rectZero()

		# Reset width and height
		@autoSize()
