Loosen API a bit to better allow chaining order

This commit is contained in:
Robert Payne 2015-04-16 10:07:51 +12:00
parent 931eb01de9
commit e2112b3ab8
1 changed files with 137 additions and 144 deletions

View File

@ -53,38 +53,32 @@ public protocol ConstraintDescriptionPriortizable: ConstraintDescriptionFinaliza
} }
/** /**
Used to expose multiplier APIs Used to expose multiplier & constant APIs
*/ */
public protocol ConstraintDescriptionMultipliable: ConstraintDescriptionPriortizable { public protocol ConstraintDescriptionEditable: ConstraintDescriptionPriortizable {
func multipliedBy(amount: Float) -> ConstraintDescriptionPriortizable func multipliedBy(amount: Float) -> ConstraintDescriptionEditable
func multipliedBy(amount: Double) -> ConstraintDescriptionPriortizable func multipliedBy(amount: Double) -> ConstraintDescriptionEditable
func multipliedBy(amount: CGFloat) -> ConstraintDescriptionPriortizable func multipliedBy(amount: CGFloat) -> ConstraintDescriptionEditable
func multipliedBy(amount: Int) -> ConstraintDescriptionPriortizable func multipliedBy(amount: Int) -> ConstraintDescriptionEditable
func multipliedBy(amount: UInt) -> ConstraintDescriptionPriortizable func multipliedBy(amount: UInt) -> ConstraintDescriptionEditable
func dividedBy(amount: Float) -> ConstraintDescriptionPriortizable func dividedBy(amount: Float) -> ConstraintDescriptionEditable
func dividedBy(amount: Double) -> ConstraintDescriptionPriortizable func dividedBy(amount: Double) -> ConstraintDescriptionEditable
func dividedBy(amount: CGFloat) -> ConstraintDescriptionPriortizable func dividedBy(amount: CGFloat) -> ConstraintDescriptionEditable
func dividedBy(amount: Int) -> ConstraintDescriptionPriortizable func dividedBy(amount: Int) -> ConstraintDescriptionEditable
func dividedBy(amount: UInt) -> ConstraintDescriptionPriortizable func dividedBy(amount: UInt) -> ConstraintDescriptionEditable
}
/** func offset(amount: Float) -> ConstraintDescriptionEditable
Used to expose constant APIs func offset(amount: Double) -> ConstraintDescriptionEditable
*/ func offset(amount: CGFloat) -> ConstraintDescriptionEditable
public protocol ConstraintDescriptionOffsetable: ConstraintDescriptionMultipliable { func offset(amount: Int) -> ConstraintDescriptionEditable
func offset(amount: UInt) -> ConstraintDescriptionEditable
func offset(amount: CGPoint) -> ConstraintDescriptionEditable
func offset(amount: CGSize) -> ConstraintDescriptionEditable
func offset(amount: EdgeInsets) -> ConstraintDescriptionEditable
func offset(amount: Float) -> ConstraintDescriptionMultipliable func insets(amount: EdgeInsets) -> ConstraintDescriptionEditable
func offset(amount: Double) -> ConstraintDescriptionMultipliable
func offset(amount: CGFloat) -> ConstraintDescriptionMultipliable
func offset(amount: Int) -> ConstraintDescriptionMultipliable
func offset(amount: UInt) -> ConstraintDescriptionMultipliable
func offset(amount: CGPoint) -> ConstraintDescriptionMultipliable
func offset(amount: CGSize) -> ConstraintDescriptionMultipliable
func offset(amount: EdgeInsets) -> ConstraintDescriptionMultipliable
func insets(amount: EdgeInsets) -> ConstraintDescriptionMultipliable
} }
/** /**
@ -92,47 +86,47 @@ public protocol ConstraintDescriptionOffsetable: ConstraintDescriptionMultipliab
*/ */
public protocol ConstraintDescriptionRelatable: class { public protocol ConstraintDescriptionRelatable: class {
func equalTo(other: ConstraintItem) -> ConstraintDescriptionOffsetable func equalTo(other: ConstraintItem) -> ConstraintDescriptionEditable
func equalTo(other: View) -> ConstraintDescriptionOffsetable func equalTo(other: View) -> ConstraintDescriptionEditable
#if os(iOS) #if os(iOS)
func equalTo(other: UILayoutSupport) -> ConstraintDescriptionOffsetable func equalTo(other: UILayoutSupport) -> ConstraintDescriptionEditable
#endif #endif
func equalTo(other: Float) -> ConstraintDescriptionMultipliable func equalTo(other: Float) -> ConstraintDescriptionEditable
func equalTo(other: Double) -> ConstraintDescriptionMultipliable func equalTo(other: Double) -> ConstraintDescriptionEditable
func equalTo(other: CGFloat) -> ConstraintDescriptionMultipliable func equalTo(other: CGFloat) -> ConstraintDescriptionEditable
func equalTo(other: Int) -> ConstraintDescriptionMultipliable func equalTo(other: Int) -> ConstraintDescriptionEditable
func equalTo(other: UInt) -> ConstraintDescriptionMultipliable func equalTo(other: UInt) -> ConstraintDescriptionEditable
func equalTo(other: CGSize) -> ConstraintDescriptionMultipliable func equalTo(other: CGSize) -> ConstraintDescriptionEditable
func equalTo(other: CGPoint) -> ConstraintDescriptionMultipliable func equalTo(other: CGPoint) -> ConstraintDescriptionEditable
func equalTo(other: EdgeInsets) -> ConstraintDescriptionMultipliable func equalTo(other: EdgeInsets) -> ConstraintDescriptionEditable
func lessThanOrEqualTo(other: ConstraintItem) -> ConstraintDescriptionOffsetable func lessThanOrEqualTo(other: ConstraintItem) -> ConstraintDescriptionEditable
func lessThanOrEqualTo(other: View) -> ConstraintDescriptionOffsetable func lessThanOrEqualTo(other: View) -> ConstraintDescriptionEditable
#if os(iOS) #if os(iOS)
func lessThanOrEqualTo(other: UILayoutSupport) -> ConstraintDescriptionOffsetable func lessThanOrEqualTo(other: UILayoutSupport) -> ConstraintDescriptionEditable
#endif #endif
func lessThanOrEqualTo(other: Float) -> ConstraintDescriptionMultipliable func lessThanOrEqualTo(other: Float) -> ConstraintDescriptionEditable
func lessThanOrEqualTo(other: Double) -> ConstraintDescriptionMultipliable func lessThanOrEqualTo(other: Double) -> ConstraintDescriptionEditable
func lessThanOrEqualTo(other: CGFloat) -> ConstraintDescriptionMultipliable func lessThanOrEqualTo(other: CGFloat) -> ConstraintDescriptionEditable
func lessThanOrEqualTo(other: Int) -> ConstraintDescriptionMultipliable func lessThanOrEqualTo(other: Int) -> ConstraintDescriptionEditable
func lessThanOrEqualTo(other: UInt) -> ConstraintDescriptionMultipliable func lessThanOrEqualTo(other: UInt) -> ConstraintDescriptionEditable
func lessThanOrEqualTo(other: CGSize) -> ConstraintDescriptionMultipliable func lessThanOrEqualTo(other: CGSize) -> ConstraintDescriptionEditable
func lessThanOrEqualTo(other: CGPoint) -> ConstraintDescriptionMultipliable func lessThanOrEqualTo(other: CGPoint) -> ConstraintDescriptionEditable
func lessThanOrEqualTo(other: EdgeInsets) -> ConstraintDescriptionMultipliable func lessThanOrEqualTo(other: EdgeInsets) -> ConstraintDescriptionEditable
func greaterThanOrEqualTo(other: ConstraintItem) -> ConstraintDescriptionOffsetable func greaterThanOrEqualTo(other: ConstraintItem) -> ConstraintDescriptionEditable
func greaterThanOrEqualTo(other: View) -> ConstraintDescriptionOffsetable func greaterThanOrEqualTo(other: View) -> ConstraintDescriptionEditable
#if os(iOS) #if os(iOS)
func greaterThanOrEqualTo(other: UILayoutSupport) -> ConstraintDescriptionOffsetable func greaterThanOrEqualTo(other: UILayoutSupport) -> ConstraintDescriptionEditable
#endif #endif
func greaterThanOrEqualTo(other: Float) -> ConstraintDescriptionMultipliable func greaterThanOrEqualTo(other: Float) -> ConstraintDescriptionEditable
func greaterThanOrEqualTo(other: Double) -> ConstraintDescriptionMultipliable func greaterThanOrEqualTo(other: Double) -> ConstraintDescriptionEditable
func greaterThanOrEqualTo(other: CGFloat) -> ConstraintDescriptionMultipliable func greaterThanOrEqualTo(other: CGFloat) -> ConstraintDescriptionEditable
func greaterThanOrEqualTo(other: Int) -> ConstraintDescriptionMultipliable func greaterThanOrEqualTo(other: Int) -> ConstraintDescriptionEditable
func greaterThanOrEqualTo(other: UInt) -> ConstraintDescriptionMultipliable func greaterThanOrEqualTo(other: UInt) -> ConstraintDescriptionEditable
func greaterThanOrEqualTo(other: CGSize) -> ConstraintDescriptionMultipliable func greaterThanOrEqualTo(other: CGSize) -> ConstraintDescriptionEditable
func greaterThanOrEqualTo(other: CGPoint) -> ConstraintDescriptionMultipliable func greaterThanOrEqualTo(other: CGPoint) -> ConstraintDescriptionEditable
func greaterThanOrEqualTo(other: EdgeInsets) -> ConstraintDescriptionMultipliable func greaterThanOrEqualTo(other: EdgeInsets) -> ConstraintDescriptionEditable
} }
@ -169,7 +163,7 @@ public protocol ConstraintDescriptionExtendable: ConstraintDescriptionRelatable
/** /**
Used to internally manage building constraint Used to internally manage building constraint
*/ */
final internal class ConstraintDescription: ConstraintDescriptionExtendable, ConstraintDescriptionOffsetable, ConstraintDescriptionFinalizable { final internal class ConstraintDescription: ConstraintDescriptionExtendable, ConstraintDescriptionEditable, ConstraintDescriptionFinalizable {
internal var left: ConstraintDescriptionExtendable { return self.addConstraint(ConstraintAttributes.Left) } internal var left: ConstraintDescriptionExtendable { return self.addConstraint(ConstraintAttributes.Left) }
internal var top: ConstraintDescriptionExtendable { return self.addConstraint(ConstraintAttributes.Top) } internal var top: ConstraintDescriptionExtendable { return self.addConstraint(ConstraintAttributes.Top) }
@ -204,155 +198,192 @@ final internal class ConstraintDescription: ConstraintDescriptionExtendable, Con
// MARK: equalTo // MARK: equalTo
internal func equalTo(other: ConstraintItem) -> ConstraintDescriptionOffsetable { internal func equalTo(other: ConstraintItem) -> ConstraintDescriptionEditable {
return self.constrainTo(other, relation: .Equal) return self.constrainTo(other, relation: .Equal)
} }
internal func equalTo(other: View) -> ConstraintDescriptionOffsetable { internal func equalTo(other: View) -> ConstraintDescriptionEditable {
return self.constrainTo(other, relation: .Equal) return self.constrainTo(other, relation: .Equal)
} }
#if os(iOS) #if os(iOS)
internal func equalTo(other: UILayoutSupport) -> ConstraintDescriptionOffsetable { internal func equalTo(other: UILayoutSupport) -> ConstraintDescriptionEditable {
return self.constrainTo(other, relation: .Equal) return self.constrainTo(other, relation: .Equal)
} }
#endif #endif
internal func equalTo(other: Float) -> ConstraintDescriptionMultipliable { internal func equalTo(other: Float) -> ConstraintDescriptionEditable {
return self.constrainTo(other, relation: .Equal) return self.constrainTo(other, relation: .Equal)
} }
internal func equalTo(other: Double) -> ConstraintDescriptionMultipliable { internal func equalTo(other: Double) -> ConstraintDescriptionEditable {
return self.constrainTo(Float(other), relation: .Equal) return self.constrainTo(Float(other), relation: .Equal)
} }
internal func equalTo(other: CGFloat) -> ConstraintDescriptionMultipliable { internal func equalTo(other: CGFloat) -> ConstraintDescriptionEditable {
return self.constrainTo(Float(other), relation: .Equal) return self.constrainTo(Float(other), relation: .Equal)
} }
internal func equalTo(other: Int) -> ConstraintDescriptionMultipliable { internal func equalTo(other: Int) -> ConstraintDescriptionEditable {
return self.constrainTo(Float(other), relation: .Equal) return self.constrainTo(Float(other), relation: .Equal)
} }
internal func equalTo(other: UInt) -> ConstraintDescriptionMultipliable { internal func equalTo(other: UInt) -> ConstraintDescriptionEditable {
return self.constrainTo(Float(other), relation: .Equal) return self.constrainTo(Float(other), relation: .Equal)
} }
internal func equalTo(other: CGSize) -> ConstraintDescriptionMultipliable { internal func equalTo(other: CGSize) -> ConstraintDescriptionEditable {
return self.constrainTo(other, relation: .Equal) return self.constrainTo(other, relation: .Equal)
} }
internal func equalTo(other: CGPoint) -> ConstraintDescriptionMultipliable { internal func equalTo(other: CGPoint) -> ConstraintDescriptionEditable {
return self.constrainTo(other, relation: .Equal) return self.constrainTo(other, relation: .Equal)
} }
internal func equalTo(other: EdgeInsets) -> ConstraintDescriptionMultipliable { internal func equalTo(other: EdgeInsets) -> ConstraintDescriptionEditable {
return self.constrainTo(other, relation: .Equal) return self.constrainTo(other, relation: .Equal)
} }
// MARK: lessThanOrEqualTo // MARK: lessThanOrEqualTo
internal func lessThanOrEqualTo(other: ConstraintItem) -> ConstraintDescriptionOffsetable { internal func lessThanOrEqualTo(other: ConstraintItem) -> ConstraintDescriptionEditable {
return self.constrainTo(other, relation: .LessThanOrEqualTo) return self.constrainTo(other, relation: .LessThanOrEqualTo)
} }
internal func lessThanOrEqualTo(other: View) -> ConstraintDescriptionOffsetable { internal func lessThanOrEqualTo(other: View) -> ConstraintDescriptionEditable {
return self.constrainTo(other, relation: .LessThanOrEqualTo) return self.constrainTo(other, relation: .LessThanOrEqualTo)
} }
#if os(iOS) #if os(iOS)
internal func lessThanOrEqualTo(other: UILayoutSupport) -> ConstraintDescriptionOffsetable { internal func lessThanOrEqualTo(other: UILayoutSupport) -> ConstraintDescriptionEditable {
return self.constrainTo(other, relation: .LessThanOrEqualTo) return self.constrainTo(other, relation: .LessThanOrEqualTo)
} }
#endif #endif
internal func lessThanOrEqualTo(other: Float) -> ConstraintDescriptionMultipliable { internal func lessThanOrEqualTo(other: Float) -> ConstraintDescriptionEditable {
return self.constrainTo(other, relation: .LessThanOrEqualTo) return self.constrainTo(other, relation: .LessThanOrEqualTo)
} }
internal func lessThanOrEqualTo(other: Double) -> ConstraintDescriptionMultipliable { internal func lessThanOrEqualTo(other: Double) -> ConstraintDescriptionEditable {
return self.constrainTo(Float(other), relation: .LessThanOrEqualTo) return self.constrainTo(Float(other), relation: .LessThanOrEqualTo)
} }
internal func lessThanOrEqualTo(other: CGFloat) -> ConstraintDescriptionMultipliable { internal func lessThanOrEqualTo(other: CGFloat) -> ConstraintDescriptionEditable {
return self.constrainTo(Float(other), relation: .LessThanOrEqualTo) return self.constrainTo(Float(other), relation: .LessThanOrEqualTo)
} }
internal func lessThanOrEqualTo(other: Int) -> ConstraintDescriptionMultipliable { internal func lessThanOrEqualTo(other: Int) -> ConstraintDescriptionEditable {
return self.constrainTo(Float(other), relation: .LessThanOrEqualTo) return self.constrainTo(Float(other), relation: .LessThanOrEqualTo)
} }
internal func lessThanOrEqualTo(other: UInt) -> ConstraintDescriptionMultipliable { internal func lessThanOrEqualTo(other: UInt) -> ConstraintDescriptionEditable {
return self.constrainTo(Float(other), relation: .LessThanOrEqualTo) return self.constrainTo(Float(other), relation: .LessThanOrEqualTo)
} }
internal func lessThanOrEqualTo(other: CGSize) -> ConstraintDescriptionMultipliable { internal func lessThanOrEqualTo(other: CGSize) -> ConstraintDescriptionEditable {
return self.constrainTo(other, relation: .LessThanOrEqualTo) return self.constrainTo(other, relation: .LessThanOrEqualTo)
} }
internal func lessThanOrEqualTo(other: CGPoint) -> ConstraintDescriptionMultipliable { internal func lessThanOrEqualTo(other: CGPoint) -> ConstraintDescriptionEditable {
return self.constrainTo(other, relation: .LessThanOrEqualTo) return self.constrainTo(other, relation: .LessThanOrEqualTo)
} }
internal func lessThanOrEqualTo(other: EdgeInsets) -> ConstraintDescriptionMultipliable { internal func lessThanOrEqualTo(other: EdgeInsets) -> ConstraintDescriptionEditable {
return self.constrainTo(other, relation: .LessThanOrEqualTo) return self.constrainTo(other, relation: .LessThanOrEqualTo)
} }
// MARK: greaterThanOrEqualTo // MARK: greaterThanOrEqualTo
internal func greaterThanOrEqualTo(other: ConstraintItem) -> ConstraintDescriptionOffsetable { internal func greaterThanOrEqualTo(other: ConstraintItem) -> ConstraintDescriptionEditable {
return self.constrainTo(other, relation: .GreaterThanOrEqualTo) return self.constrainTo(other, relation: .GreaterThanOrEqualTo)
} }
internal func greaterThanOrEqualTo(other: View) -> ConstraintDescriptionOffsetable { internal func greaterThanOrEqualTo(other: View) -> ConstraintDescriptionEditable {
return self.constrainTo(other, relation: .GreaterThanOrEqualTo) return self.constrainTo(other, relation: .GreaterThanOrEqualTo)
} }
#if os(iOS) #if os(iOS)
internal func greaterThanOrEqualTo(other: UILayoutSupport) -> ConstraintDescriptionOffsetable { internal func greaterThanOrEqualTo(other: UILayoutSupport) -> ConstraintDescriptionEditable {
return self.constrainTo(other, relation: .GreaterThanOrEqualTo) return self.constrainTo(other, relation: .GreaterThanOrEqualTo)
} }
#endif #endif
internal func greaterThanOrEqualTo(other: Float) -> ConstraintDescriptionMultipliable { internal func greaterThanOrEqualTo(other: Float) -> ConstraintDescriptionEditable {
return self.constrainTo(other, relation: .GreaterThanOrEqualTo) return self.constrainTo(other, relation: .GreaterThanOrEqualTo)
} }
internal func greaterThanOrEqualTo(other: Double) -> ConstraintDescriptionMultipliable { internal func greaterThanOrEqualTo(other: Double) -> ConstraintDescriptionEditable {
return self.constrainTo(Float(other), relation: .GreaterThanOrEqualTo) return self.constrainTo(Float(other), relation: .GreaterThanOrEqualTo)
} }
internal func greaterThanOrEqualTo(other: CGFloat) -> ConstraintDescriptionMultipliable { internal func greaterThanOrEqualTo(other: CGFloat) -> ConstraintDescriptionEditable {
return self.constrainTo(Float(other), relation: .GreaterThanOrEqualTo) return self.constrainTo(Float(other), relation: .GreaterThanOrEqualTo)
} }
internal func greaterThanOrEqualTo(other: Int) -> ConstraintDescriptionMultipliable { internal func greaterThanOrEqualTo(other: Int) -> ConstraintDescriptionEditable {
return self.constrainTo(Float(other), relation: .GreaterThanOrEqualTo) return self.constrainTo(Float(other), relation: .GreaterThanOrEqualTo)
} }
internal func greaterThanOrEqualTo(other: UInt) -> ConstraintDescriptionMultipliable { internal func greaterThanOrEqualTo(other: UInt) -> ConstraintDescriptionEditable {
return self.constrainTo(Float(other), relation: .GreaterThanOrEqualTo) return self.constrainTo(Float(other), relation: .GreaterThanOrEqualTo)
} }
internal func greaterThanOrEqualTo(other: CGSize) -> ConstraintDescriptionMultipliable { internal func greaterThanOrEqualTo(other: CGSize) -> ConstraintDescriptionEditable {
return self.constrainTo(other, relation: .GreaterThanOrEqualTo) return self.constrainTo(other, relation: .GreaterThanOrEqualTo)
} }
internal func greaterThanOrEqualTo(other: CGPoint) -> ConstraintDescriptionMultipliable { internal func greaterThanOrEqualTo(other: CGPoint) -> ConstraintDescriptionEditable {
return self.constrainTo(other, relation: .GreaterThanOrEqualTo) return self.constrainTo(other, relation: .GreaterThanOrEqualTo)
} }
internal func greaterThanOrEqualTo(other: EdgeInsets) -> ConstraintDescriptionMultipliable { internal func greaterThanOrEqualTo(other: EdgeInsets) -> ConstraintDescriptionEditable {
return self.constrainTo(other, relation: .GreaterThanOrEqualTo) return self.constrainTo(other, relation: .GreaterThanOrEqualTo)
} }
// MARK: multiplier // MARK: multiplier
internal func multipliedBy(amount: Float) -> ConstraintDescriptionPriortizable { internal func multipliedBy(amount: Float) -> ConstraintDescriptionEditable {
self.multiplier = amount self.multiplier = amount
return self return self
} }
internal func multipliedBy(amount: Double) -> ConstraintDescriptionPriortizable { internal func multipliedBy(amount: Double) -> ConstraintDescriptionEditable {
return self.multipliedBy(Float(amount)) return self.multipliedBy(Float(amount))
} }
internal func multipliedBy(amount: CGFloat) -> ConstraintDescriptionPriortizable { internal func multipliedBy(amount: CGFloat) -> ConstraintDescriptionEditable {
return self.multipliedBy(Float(amount)) return self.multipliedBy(Float(amount))
} }
internal func multipliedBy(amount: Int) -> ConstraintDescriptionPriortizable { internal func multipliedBy(amount: Int) -> ConstraintDescriptionEditable {
return self.multipliedBy(Float(amount)) return self.multipliedBy(Float(amount))
} }
internal func multipliedBy(amount: UInt) -> ConstraintDescriptionPriortizable { internal func multipliedBy(amount: UInt) -> ConstraintDescriptionEditable {
return self.multipliedBy(Float(amount)) return self.multipliedBy(Float(amount))
} }
internal func dividedBy(amount: Float) -> ConstraintDescriptionPriortizable { internal func dividedBy(amount: Float) -> ConstraintDescriptionEditable {
self.multiplier = 1.0 / amount; self.multiplier = 1.0 / amount;
return self return self
} }
internal func dividedBy(amount: Double) -> ConstraintDescriptionPriortizable { internal func dividedBy(amount: Double) -> ConstraintDescriptionEditable {
return self.dividedBy(Float(amount)) return self.dividedBy(Float(amount))
} }
internal func dividedBy(amount: CGFloat) -> ConstraintDescriptionPriortizable { internal func dividedBy(amount: CGFloat) -> ConstraintDescriptionEditable {
return self.dividedBy(Float(amount)) return self.dividedBy(Float(amount))
} }
internal func dividedBy(amount: Int) -> ConstraintDescriptionPriortizable { internal func dividedBy(amount: Int) -> ConstraintDescriptionEditable {
return self.dividedBy(Float(amount)) return self.dividedBy(Float(amount))
} }
internal func dividedBy(amount: UInt) -> ConstraintDescriptionPriortizable { internal func dividedBy(amount: UInt) -> ConstraintDescriptionEditable {
return self.dividedBy(Float(amount)) return self.dividedBy(Float(amount))
} }
// MARK: offset
internal func offset(amount: Float) -> ConstraintDescriptionEditable {
self.constant = amount
return self
}
internal func offset(amount: Double) -> ConstraintDescriptionEditable {
return self.offset(Float(amount))
}
internal func offset(amount: CGFloat) -> ConstraintDescriptionEditable {
return self.offset(Float(amount))
}
internal func offset(amount: Int) -> ConstraintDescriptionEditable {
return self.offset(Float(amount))
}
internal func offset(amount: UInt) -> ConstraintDescriptionEditable {
return self.offset(Float(amount))
}
internal func offset(amount: CGPoint) -> ConstraintDescriptionEditable {
self.constant = amount
return self
}
internal func offset(amount: CGSize) -> ConstraintDescriptionEditable {
self.constant = amount
return self
}
internal func offset(amount: EdgeInsets) -> ConstraintDescriptionEditable {
self.constant = amount
return self
}
// MARK: insets
internal func insets(amount: EdgeInsets) -> ConstraintDescriptionEditable {
self.constant = EdgeInsets(top: amount.top, left: amount.left, bottom: -amount.bottom, right: -amount.right)
return self
}
// MARK: priority // MARK: priority
internal func priority(priority: Float) -> ConstraintDescriptionFinalizable { internal func priority(priority: Float) -> ConstraintDescriptionFinalizable {
@ -388,44 +419,6 @@ final internal class ConstraintDescription: ConstraintDescriptionExtendable, Con
return self.priority(250.0) return self.priority(250.0)
} }
// MARK: offset
internal func offset(amount: Float) -> ConstraintDescriptionMultipliable {
self.constant = amount
return self
}
internal func offset(amount: Double) -> ConstraintDescriptionMultipliable {
return self.offset(Float(amount))
}
internal func offset(amount: CGFloat) -> ConstraintDescriptionMultipliable {
return self.offset(Float(amount))
}
internal func offset(amount: Int) -> ConstraintDescriptionMultipliable {
return self.offset(Float(amount))
}
internal func offset(amount: UInt) -> ConstraintDescriptionMultipliable {
return self.offset(Float(amount))
}
internal func offset(amount: CGPoint) -> ConstraintDescriptionMultipliable {
self.constant = amount
return self
}
internal func offset(amount: CGSize) -> ConstraintDescriptionMultipliable {
self.constant = amount
return self
}
internal func offset(amount: EdgeInsets) -> ConstraintDescriptionMultipliable {
self.constant = amount
return self
}
// MARK: insets
internal func insets(amount: EdgeInsets) -> ConstraintDescriptionMultipliable {
self.constant = EdgeInsets(top: amount.top, left: amount.left, bottom: -amount.bottom, right: -amount.right)
return self
}
// MARK: Constraint // MARK: Constraint
internal var constraint: Constraint { internal var constraint: Constraint {