Bert Freudenberg uploaded a new version of DrGeoII-Core to project Etoys: http://source.squeak.org/etoys/DrGeoII-Core-HilaireFernandes.17.mcz
==================== Summary ====================
Name: DrGeoII-Core-HilaireFernandes.17 Author: HilaireFernandes Time: 28 June 2010, 10:19:34.844 pm UUID: 71d918df-dae3-4ac4-826f-5ce1c272ab8e Ancestors: DrGeoII-Core-HilaireFernandes.16
Line clipping fix. DrGeoCanvas fix
=============== Diff against DrGeoII-Core-HilaireFernandes.16 ===============
Item was changed: ----- Method: DrGeoCanvas>>initialize (in category 'initialize-release') ----- initialize super initialize. drgeo := DrGeo service. + drgeo view extent: 400@300. + drgeo view openInWorld! - drgeo view area extent: 400@300. - drgeo view area openInWorld!
Item was changed: ----- Method: Rectangle>>intersectionWith: (in category '*DrGeoII-Core-intersection') ----- intersectionWith: aLineSeg | intersections | intersections := Set new. (aLineSeg intersectionWith: (LineSegment from: self origin to: self bottomLeft)) ifNotNilDo: [:inter | intersections add: inter]. (aLineSeg intersectionWith: (LineSegment from: self origin to: self topRight)) ifNotNilDo: [:inter | intersections add: inter]. (aLineSeg intersectionWith: (LineSegment from: self corner to: self bottomLeft)) ifNotNilDo: [:inter | intersections add: inter]. (aLineSeg intersectionWith: (LineSegment from: self corner to: self topRight)) ifNotNilDo: [:inter | intersections add: inter]. intersections := intersections asOrderedCollection. intersections size = 2 ifTrue: [^ LineSegment from: intersections first to: intersections second]. intersections size = 0 ifTrue: [(self containsPoint: aLineSeg start) ifTrue: [(self containsPoint: aLineSeg end) ifTrue: [^aLineSeg ]] ifFalse: [(self containsPoint: aLineSeg end) ifFalse: [^nil]]].
(self containsPoint: aLineSeg start) + ifTrue: [ + (self containsPoint: aLineSeg start) + ifTrue: [^aLineSeg] + ifFalse: [^LineSegment from: aLineSeg start to: intersections first]]. - ifTrue: [^LineSegment from: aLineSeg start to: intersections first]. (self containsPoint: aLineSeg end) ifTrue: [^LineSegment from: aLineSeg end to: intersections first]. ^nil!
Item was changed: ----- Method: DrGSegmentMorph>>from:to: (in category 'accessing') ----- from: startPoint to: endPoint | clippedSeg | clippedSeg := self costume drawable bounds intersectionWith: (LineSegment from: startPoint to: endPoint). clippedSeg ifNotNil: [ self visible ifFalse: [ self show]. vertices at: 1 put: clippedSeg start asIntegerPoint. vertices at: 2 put: clippedSeg end asIntegerPoint. self computeBounds] ifNil: [self visible ifTrue: [self hide]]!
Item was added: + ----- Method: DrGService classSide>>descriptionForPartsBin (in category 'parts bin') ----- + descriptionForPartsBin + ^ (DescriptionForPartsBin + formalName: 'Dr. Geo' + categoryList: #('Graphics' 'Tools' ) + documentation: 'An interactive geometry canvas to draw dynamic geometric sketch. Open the Morph menu to get access to the construction tools and more.' translated + globalReceiverSymbol: #DrGeo + nativitySelector: #sample) + sampleImageForm: DrGIcons angle!
etoys-dev@lists.squeakfoundation.org