[squeak-dev] The Trunk: Graphics-pre.439.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Sep 25 07:48:45 UTC 2020


Patrick Rein uploaded a new version of Graphics to project The Trunk:
http://source.squeak.org/trunk/Graphics-pre.439.mcz

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

Name: Graphics-pre.439
Author: pre
Time: 25 September 2020, 9:48:35.481674 am
UUID: e6d3328b-645a-e846-a3a9-c3c61b479c23
Ancestors: Graphics-tonyg.438

Adds code to handle the case in which a text anchor attribute is used on more than the SoH character AND another SoH character is within the range where the text anchor was applied. Without this, the first morph would be put at the location of the second SoH character.

=============== Diff against Graphics-tonyg.438 ===============

Item was changed:
  ----- Method: CharacterScanner>>embeddedObject (in category 'stop conditions') -----
  embeddedObject
  
+ 	| previousAttributes newAttributes |
  	pendingKernX := 0.
+ 	"If a text anchor was already at the previous index, it was already dealt with"
+ 	previousAttributes := lastIndex > 1 ifTrue: [text attributesAt: lastIndex - 1] ifFalse: [#()].
+ 	newAttributes := (text attributesAt: lastIndex) copyWithoutAll: previousAttributes.
+ 	(newAttributes reject: [:each | each anchoredMorph isNil])
- 	((text attributesAt: lastIndex) reject: [:each | each anchoredMorph isNil])
  		ifNotEmpty: [:attributes | (self placeEmbeddedObjectsFrom: attributes) ifTrue: [^ true]].
  	self setFont.
   
  	"Note: if ever several objects are embedded on same character, only indent lastIndex once"
  	lastIndex := lastIndex + 1.
+ 	^ false!
- 	^false!



More information about the Squeak-dev mailing list