[squeak-dev] The Trunk: Graphics-tpr.229.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Sep 25 21:47:05 UTC 2013


tim Rowledge uploaded a new version of Graphics to project The Trunk:
http://source.squeak.org/trunk/Graphics-tpr.229.mcz

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

Name: Graphics-tpr.229
Author: tpr
Time: 25 September 2013, 2:45:59.809 pm
UUID: 8c04d917-42a3-4c13-a0ae-ad798938e70e
Ancestors: Graphics-tpr.228

improve computeDefaultLineHeight in preparation for later changes.
move multiComposeLinesFrom:to:delta:into:priorLines:atY:textStyle:text:container:wantsColumnBreaks: up to TextComposer ready to kill MultiTextComposer.

=============== Diff against Graphics-tpr.228 ===============

Item was changed:
  ----- Method: CompositionScanner>>computeDefaultLineHeight (in category 'scanning') -----
  computeDefaultLineHeight
  	"Compute the default line height for a potentially empty text"
+ 	rightMargin notNil
+ 		ifTrue: [lastIndex := 1.
+ 			self setFont.
+ 			^ lineHeight + textStyle leading]
+ 		ifFalse: [^textStyle lineGrid]!
- 	lastIndex := 1.
- 	self setFont.
- 	^lineHeight + textStyle leading!

Item was changed:
  ----- Method: TextComposer>>composeLinesFrom:to:delta:into:priorLines:atY:textStyle:text:container:wantsColumnBreaks: (in category 'as yet unclassified') -----
  composeLinesFrom: argStart to: argStop delta: argDelta into: argLinesCollection priorLines: argPriorLines atY: argStartY textStyle: argTextStyle text: argText container: argContainer wantsColumnBreaks: argWantsColumnBreaks
  
  	wantsColumnBreaks := argWantsColumnBreaks.
  	lines := argLinesCollection.
  	theTextStyle := argTextStyle.
  	theText := argText.
  	theContainer := argContainer.
  	deltaCharIndex := argDelta.
  	currCharIndex := startCharIndex := argStart.
  	stopCharIndex := argStop.
  	prevLines := argPriorLines.
  	currentY := argStartY.
  	maxRightX := theContainer left.
  	possibleSlide := stopCharIndex < theText size and: [theContainer isMemberOf: Rectangle].
  	nowSliding := false.
  	prevIndex := 1.
  	scanner := CompositionScanner new text: theText textStyle: theTextStyle.
  	scanner wantsColumnBreaks: wantsColumnBreaks.
+ 	defaultLineHeight := scanner computeDefaultLineHeight.
- 	defaultLineHeight := scanner canComputeDefaultLineHeight
- 		ifTrue: [ scanner computeDefaultLineHeight ]
- 		ifFalse: [ theTextStyle lineGrid. ].
  	isFirstLine := true.
  	self composeAllLines.
  	isFirstLine ifTrue: ["No space in container or empty text"
  		self 
  			addNullLineWithIndex: startCharIndex
  			andRectangle: (theContainer topLeft extent: 0 at defaultLineHeight)
  	] ifFalse: [
  		self fixupLastLineIfCR
  	].
  	^{lines asArray. maxRightX}
  
  !

Item was added:
+ ----- Method: TextComposer>>multiComposeLinesFrom:to:delta:into:priorLines:atY:textStyle:text:container:wantsColumnBreaks: (in category 'as yet unclassified') -----
+ multiComposeLinesFrom: argStart to: argStop delta: argDelta into: argLinesCollection priorLines: argPriorLines atY: argStartY textStyle: argTextStyle text: argText container: argContainer wantsColumnBreaks: argWantsColumnBreaks
+ 
+ "temporarily add this here to support move to drop MultiTextComposer"
+ "now redundant and ready to remove later"
+ 	wantsColumnBreaks := argWantsColumnBreaks.
+ 	lines := argLinesCollection.
+ 	theTextStyle := argTextStyle.
+ 	theText := argText.
+ 	theContainer := argContainer.
+ 	deltaCharIndex := argDelta.
+ 	currCharIndex := startCharIndex := argStart.
+ 	stopCharIndex := argStop.
+ 	prevLines := argPriorLines.
+ 	currentY := argStartY.
+ 	maxRightX := theContainer left.
+ 	possibleSlide := stopCharIndex < theText size and: [theContainer isMemberOf: Rectangle].
+ 	nowSliding := false.
+ 	prevIndex := 1.
+ 	scanner := MultiCompositionScanner new text: theText textStyle: theTextStyle.
+ 	scanner wantsColumnBreaks: wantsColumnBreaks.
+ 	defaultLineHeight := scanner computeDefaultLineHeight.
+ 	isFirstLine := true.
+ 	self composeAllLines.
+ 	isFirstLine ifTrue: ["No space in container or empty text"
+ 		self 
+ 			addNullLineWithIndex: startCharIndex
+ 			andRectangle: (theContainer topLeft extent: 0 at defaultLineHeight)
+ 	] ifFalse: [
+ 		self fixupLastLineIfCR
+ 	].
+ 	^{lines asArray. maxRightX}
+ 
+ !



More information about the Squeak-dev mailing list