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!