[etoys-dev] Etoys Inbox: DrGeoII-Core-HilaireFernandes.17.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Jun 28 16:20:05 EDT 2010


A new version of DrGeoII-Core was added to project Etoys Inbox:
http://source.squeak.org/etoysinbox/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 at 300.
+ 	drgeo view openInWorld!
- 	drgeo view area extent: 400 at 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!



More information about the etoys-dev mailing list