 
     if _colors
       {_from, _to, _gradientRadius, _currentSize} = @
+      _from ||= defaultFrom
+
       drawOptions.colors = _colors
       if _gradientRadius?
         _to ||= _from

  @getter
    cacheable: -> @getHasChildren()

  defaultTo = point "bottomLeft"
  @drawProperty
    from:   default: "topLeft", preprocess: (v) -> point v
    to:     default: null, preprocess: (v) -> v? && point v
    colors: default: null
    gradientRadius: default: null
    shadow:


      # I don't love this solution to scaling the gradient from/to, but it's acceptable for now.
      # It creates two new objects, which is unfortunate. It also mutates an object which should be immutable.
      drawOptions.from   = _from.layout _currentSize
      drawOptions.to     = _to.layout _currentSize
