The Inbox: Morphic-bp.1065.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Inbox: Morphic-bp.1065.mcz

commits-2
Bernhard Pieber uploaded a new version of Morphic to project The Inbox:
http://source.squeak.org/inbox/Morphic-bp.1065.mcz

==================== Summary ====================

Name: Morphic-bp.1065
Author: bp
Time: 12 January 2016, 8:49:11.009884 pm
UUID: e97e37b1-39c8-49e1-8f5d-e41afb141f86
Ancestors: Morphic-bp.1064

Some code improvements inspired by Marcel Taeumels code review. Thanks!

=============== Diff against Morphic-bp.1064 ===============

Item was changed:
  ----- Method: SystemWindow>>doFastFrameDrag: (in category 'events') -----
  doFastFrameDrag: grabPoint
  "Do fast frame dragging from the given point"
 
+ | offset newBounds outerWorldBounds clearArea |
- | offset newBounds outerWorldBounds |
  outerWorldBounds := self boundsIn: nil.
  offset := outerWorldBounds origin - grabPoint.
+ clearArea := ActiveWorld clearArea.
  newBounds := outerWorldBounds newRectFrom: [:f |
+ | p selector |
- | p a selector |
  p := Sensor cursorPoint.
+ (self class dragToEdges and: [(selector := self dragToEdgesSelectorFor: p in: clearArea) notNil])
+ ifTrue: [clearArea perform: selector]
- a := ActiveWorld clearArea.
- (self class dragToEdges and: [(selector := self dragToEdgesSelectorFor: p in: a) notNil])
- ifTrue: [a perform: selector]
  ifFalse: [p + offset extent: outerWorldBounds extent]].
  self bounds: newBounds; comeToFront!

Item was added:
+ ----- Method: SystemWindow>>dragToEdgeDistance (in category 'resize/collapse') -----
+ dragToEdgeDistance
+ ^10!

Item was changed:
  ----- Method: SystemWindow>>dragToEdgesSelectorFor:in: (in category 'resize/collapse') -----
  dragToEdgesSelectorFor: p in: a
  "answer first matching drag resize selector, if none is found, answer nil"
+ #(isPoint:nearTopLeftOf: isPoint:nearTopRightOf: isPoint:nearBottomLeftOf: isPoint:nearBottomRightOf: isPoint:nearTopOf: isPoint:nearBottomOf: isPoint:nearLeftOf: isPoint:nearRightOf:)
- #(point:nearTopLeftOf: point:nearTopRightOf: point:nearBottomLeftOf: point:nearBottomRightOf: point:nearTopOf: point:nearBottomOf: point:nearLeftOf: point:nearRightOf:)
  with: #(topLeftQuadrant topRightQuadrant bottomLeftQuadrant bottomRightQuadrant topHalf bottomHalf leftHalf rightHalf)
  do: [:predicate :selector |
  (self perform: predicate with: p with: a) ifTrue: [^selector]].
  ^nil!

Item was added:
+ ----- Method: SystemWindow>>isPoint:nearBottomLeftOf: (in category 'resize/collapse') -----
+ isPoint: p nearBottomLeftOf: a
+ ^(self isPoint: p nearBottomOf: a) and: [self isPoint: p nearLeftOf: a]!

Item was added:
+ ----- Method: SystemWindow>>isPoint:nearBottomOf: (in category 'resize/collapse') -----
+ isPoint: p nearBottomOf: a
+ ^p y > (a bottom - self dragToEdgeDistance)!

Item was added:
+ ----- Method: SystemWindow>>isPoint:nearBottomRightOf: (in category 'resize/collapse') -----
+ isPoint: p nearBottomRightOf: a
+ ^(self isPoint: p nearBottomOf: a) and: [self isPoint: p nearRightOf: a]!

Item was added:
+ ----- Method: SystemWindow>>isPoint:nearLeftOf: (in category 'resize/collapse') -----
+ isPoint: p nearLeftOf: a
+ ^p x < (a left + self dragToEdgeDistance)!

Item was added:
+ ----- Method: SystemWindow>>isPoint:nearRightOf: (in category 'resize/collapse') -----
+ isPoint: p nearRightOf: a
+ ^p x > (a right - self dragToEdgeDistance)!

Item was added:
+ ----- Method: SystemWindow>>isPoint:nearTopLeftOf: (in category 'resize/collapse') -----
+ isPoint: p nearTopLeftOf: a
+ ^(self isPoint: p nearTopOf: a) and: [self isPoint: p nearLeftOf: a]!

Item was added:
+ ----- Method: SystemWindow>>isPoint:nearTopOf: (in category 'resize/collapse') -----
+ isPoint: p nearTopOf: a
+ ^p y < (a top + self dragToEdgeDistance)!

Item was added:
+ ----- Method: SystemWindow>>isPoint:nearTopRightOf: (in category 'resize/collapse') -----
+ isPoint: p nearTopRightOf: a
+ ^(self isPoint: p nearTopOf: a) and: [self isPoint: p nearRightOf: a]!

Item was removed:
- ----- Method: SystemWindow>>point:nearBottomLeftOf: (in category 'resize/collapse') -----
- point: p nearBottomLeftOf: a
- ^(self point: p nearBottomOf: a) and: [self point: p nearLeftOf: a]!

Item was removed:
- ----- Method: SystemWindow>>point:nearBottomOf: (in category 'resize/collapse') -----
- point: p nearBottomOf: a
- ^p y > (a bottom - 10)!

Item was removed:
- ----- Method: SystemWindow>>point:nearBottomRightOf: (in category 'resize/collapse') -----
- point: p nearBottomRightOf: a
- ^(self point: p nearBottomOf: a) and: [self point: p nearRightOf: a]!

Item was removed:
- ----- Method: SystemWindow>>point:nearLeftOf: (in category 'resize/collapse') -----
- point: p nearLeftOf: a
- ^p x < (a left + 10)!

Item was removed:
- ----- Method: SystemWindow>>point:nearRightOf: (in category 'resize/collapse') -----
- point: p nearRightOf: a
- ^p x > (a right - 10)!

Item was removed:
- ----- Method: SystemWindow>>point:nearTopLeftOf: (in category 'resize/collapse') -----
- point: p nearTopLeftOf: a
- ^(self point: p nearTopOf: a) and: [self point: p nearLeftOf: a]!

Item was removed:
- ----- Method: SystemWindow>>point:nearTopOf: (in category 'resize/collapse') -----
- point: p nearTopOf: a
- ^p y < (a top + 10)!

Item was removed:
- ----- Method: SystemWindow>>point:nearTopRightOf: (in category 'resize/collapse') -----
- point: p nearTopRightOf: a
- ^(self point: p nearTopOf: a) and: [self point: p nearRightOf: a]!