M widget/editor.go => widget/editor.go +0 -3
@@ 794,9 794,6 @@ func (e *Editor) PaintText(gtx layout.Context) {
start, end := clipLine(e.lines, e.Alignment, e.viewSize.X, cl, pos)
line := e.lines[start.lineCol.Y]
off := image.Point{X: start.x.Floor(), Y: start.y}.Sub(scroll)
- if start.lineCol.X > end.lineCol.X {
- start, end = end, start
- }
l := subLayout(line, start, end)
t := op.Offset(off).Push(gtx.Ops)
M widget/label.go => widget/label.go +1 -5
@@ 68,13 68,9 @@ func clipLine(lines []text.Line, alignment text.Alignment, width int, clip image
}
func subLayout(line text.Line, start, end combinedPos) text.Layout {
- if start.lineCol.X == line.Layout.Runes.Count {
- return text.Layout{}
- }
-
startCluster := clusterIndexFor(line, start.lineCol.X, start.clusterIndex)
endCluster := clusterIndexFor(line, end.lineCol.X, end.clusterIndex)
- if startCluster > endCluster {
+ if line.Layout.Direction.Progression() == system.TowardOrigin {
startCluster, endCluster = endCluster, startCluster
}
return line.Layout.Slice(startCluster, endCluster)