Class: MotionKit::PointConstraint
Constant Summary
Constants inherited
from Constraint
Constraint::Attributes, Constraint::Priorities, Constraint::Relationships
Instance Attribute Summary
Attributes inherited from Constraint
#attribute, #attribute2, #constant, #identifier, #multiplier, #priority, #relationship, #relative_to, #target
Instance Method Summary
collapse
#initialize
Methods inherited from Constraint
#<=, #==, #>=, attribute_lookup, attribute_reverse, axis_lookup, calculate?, constant?, #equals, #gte, #initialize, #is, #lte, #of, orientation_lookup, priority_lookup, relationship_lookup, relationship_reverse, view_lookup
Instance Method Details
#constant=(constant) ⇒ Object
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
|
# File 'lib/motion-kit-cocoa/constraints/constraint.rb', line 584
def constant=(constant)
if constant.is_a?(Array)
@constant = constant[0..1]
elsif constant.is_a?(Hash)
@constant = [0, 0]
if constant.key?(:x)
@constant[0] = constant[:x]
end
if constant.key?(:y)
@constant[1] = constant[:y]
end
else
@constant = [constant, constant]
end
self.relative_to ||= :superview
self.update_constraint
end
|
#divided_by(multiplier) ⇒ Object
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
|
# File 'lib/motion-kit-cocoa/constraints/constraint.rb', line 704
def divided_by(multiplier)
if multiplier.is_a?(Array)
self.multiplier[0] /= multiplier[0].to_f
self.multiplier[1] /= multiplier[1].to_f
elsif multiplier.is_a?(Hash)
if multiplier.key?(:x)
self.multiplier[0] /= multiplier[:x].to_f
end
if multiplier.key?(:y)
self.multiplier[1] /= multiplier[:y].to_f
end
else
self.multiplier[0] /= multiplier.to_f
self.multiplier[1] /= multiplier.to_f
end
self.update_constraint
self
end
|
#minus(constant) ⇒ Object
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
|
# File 'lib/motion-kit-cocoa/constraints/constraint.rb', line 654
def minus(constant)
if constant.is_a?(Array)
self.constant[0] -= constant[0]
self.constant[1] -= constant[1]
elsif constant.is_a?(Hash)
if constant.key?(:x)
self.constant[0] -= constant[:x]
elsif constant.key?(:right)
self.constant[0] -= constant[:right]
elsif constant.key?(:left)
self.constant[0] += constant[:left]
end
if constant.key?(:y)
self.constant[1] -= constant[:y]
elsif constant.key?(:up)
self.constant[1] -= constant[:up]
elsif constant.key?(:down)
self.constant[1] += constant[:down]
end
else
self.constant[0] -= constant
self.constant[1] -= constant
end
self.update_constraint
self
end
|
#multiplier=(multiplier) ⇒ Object
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
|
# File 'lib/motion-kit-cocoa/constraints/constraint.rb', line 605
def multiplier=(multiplier)
if multiplier.is_a?(Array)
@multiplier = multiplier[0..1]
elsif multiplier.is_a?(Hash)
@multiplier = [0, 0]
if multiplier.key?(:x)
@multiplier[0] = multiplier[:x]
end
if multiplier.key?(:y)
@multiplier[1] = multiplier[:y]
end
else
@multiplier = [multiplier, multiplier]
end
self.update_constraint
end
|
#plus(constant) ⇒ Object
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
|
# File 'lib/motion-kit-cocoa/constraints/constraint.rb', line 625
def plus(constant)
if constant.is_a?(Array)
self.constant[0] += constant[0]
self.constant[1] += constant[1]
elsif constant.is_a?(Hash)
if constant.key?(:x)
self.constant[0] += constant[:x]
elsif constant.key?(:right)
self.constant[0] += constant[:right]
elsif constant.key?(:left)
self.constant[0] -= constant[:left]
end
if constant.key?(:y)
self.constant[1] += constant[:y]
elsif constant.key?(:up)
self.constant[1] += constant[:up]
elsif constant.key?(:down)
self.constant[1] -= constant[:down]
end
else
self.constant[0] += constant
self.constant[1] += constant
end
self.update_constraint
self
end
|
#resolve_all(layout, view) ⇒ Object
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
|
# File 'lib/motion-kit-cocoa/constraints/constraint.rb', line 732
def resolve_all(layout, view)
@resolved ||= begin
item = Constraint.view_lookup(layout, view, self.target)
rel_item = Constraint.view_lookup(layout, view, self.relative_to)
[0, 1].map do |index|
attribute = Constraint.attribute_lookup(self.attribute[index])
nsconstraint = NSLayoutConstraint.constraintWithItem(item,
attribute: attribute,
relatedBy: Constraint.relationship_lookup(self.relationship),
toItem: rel_item,
attribute: attribute,
multiplier: self.multiplier[index],
constant: self.constant[index]
)
if self.priority
nsconstraint.priority = Constraint.priority_lookup(self.priority)
end
if self.identifier
nsconstraint.setIdentifier(self.identifier)
end
nsconstraint
end
end
end
|
#times(multiplier) ⇒ Object
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
|
# File 'lib/motion-kit-cocoa/constraints/constraint.rb', line 683
def times(multiplier)
if multiplier.is_a?(Array)
self.multiplier[0] *= multiplier[0]
self.multiplier[1] *= multiplier[1]
elsif multiplier.is_a?(Hash)
if multiplier.key?(:x)
self.multiplier[0] *= multiplier[:x]
end
if multiplier.key?(:y)
self.multiplier[1] *= multiplier[:y]
end
else
self.multiplier[0] *= multiplier
self.multiplier[1] *= multiplier
end
self.update_constraint
self
end
|
#update_constraint ⇒ Object
725
726
727
728
729
730
|
# File 'lib/motion-kit-cocoa/constraints/constraint.rb', line 725
def update_constraint
if @resolved
@resolved.each do
end
end
end
|