Nicolas Cellier uploaded a new version of Morphic to project The Trunk: http://source.squeak.org/trunk/Morphic-nice.693.mcz
==================== Summary ====================
Name: Morphic-nice.693 Author: nice Time: 29 September 2013, 4:31:07.575 pm UUID: 7c0b3c16-a967-457e-8fcf-0bdcec39d18a Ancestors: Morphic-tpr.692
Start using the CharacterScanner hierarchy instead of the Multi one.
=============== Diff against Morphic-tpr.692 ===============
Item was changed: ----- Method: GrafPort>>displayScannerFor:foreground:background:ignoreColorChanges: (in category 'accessing') ----- displayScannerFor: para foreground: foreColor background: backColor ignoreColorChanges: shadowMode - - ((para isMemberOf: NewParagraph) or: [para text string isByteString]) ifTrue: [ - ^ (MultiDisplayScanner new text: para text textStyle: para textStyle - foreground: foreColor background: backColor fillBlt: self - ignoreColorChanges: shadowMode) - setPort: self clone - ]. ^ (DisplayScanner new text: para text textStyle: para textStyle foreground: foreColor background: backColor fillBlt: self ignoreColorChanges: shadowMode) setPort: self clone !
Item was changed: ----- Method: NewParagraph>>characterBlockAtPoint: (in category 'selection') ----- characterBlockAtPoint: aPoint "Answer a CharacterBlock for the character in the text at aPoint." | line | line := lines at: (self lineIndexForPoint: aPoint). + ^(CharacterBlockScanner new text: text textStyle: textStyle) - ^ ((text string isWideString) ifTrue: [ - MultiCharacterBlockScanner new text: text textStyle: textStyle - ] ifFalse: [CharacterBlockScanner new text: text textStyle: textStyle]) characterBlockAtPoint: aPoint index: nil in: line!
Item was changed: ----- Method: NewParagraph>>characterBlockForIndex: (in category 'selection') ----- characterBlockForIndex: index "Answer a CharacterBlock for the character in text at index." | line | line := lines at: (self lineIndexOfCharacterIndex: index). + ^ (CharacterBlockScanner new text: text textStyle: textStyle) - ^ ((text string isWideString) ifTrue: [ - MultiCharacterBlockScanner new text: text textStyle: textStyle - ] ifFalse: [ - CharacterBlockScanner new text: text textStyle: textStyle - ]) characterBlockAtPoint: nil index: ((index max: line first) min: text size+1) in: line!
packages@lists.squeakfoundation.org