equal
deleted
inserted
replaced
144 } |
144 } |
145 |
145 |
146 |
146 |
147 /* graphics range */ |
147 /* graphics range */ |
148 |
148 |
149 class Gfx_Range(val x: Int, val y: Int, val length: Int) |
149 case class Gfx_Range(val x: Int, val y: Int, val length: Int) |
150 |
150 |
151 // NB: jEdit always normalizes \r\n and \r to \n |
151 // NB: jEdit always normalizes \r\n and \r to \n |
152 // NB: last line lacks \n |
152 // NB: last line lacks \n |
153 def gfx_range(text_area: TextArea, range: Text.Range): Option[Gfx_Range] = |
153 def gfx_range(text_area: TextArea, range: Text.Range): Option[Gfx_Range] = |
154 { |
154 { |
163 else if (stop > 0 && buffer.getText(stop - 1, 1) == "\n") |
163 else if (stop > 0 && buffer.getText(stop - 1, 1) == "\n") |
164 (text_area.offsetToXY(stop - 1), char_width(text_area)) |
164 (text_area.offsetToXY(stop - 1), char_width(text_area)) |
165 else (text_area.offsetToXY(stop), 0) |
165 else (text_area.offsetToXY(stop), 0) |
166 |
166 |
167 if (p != null && q != null && p.x < q.x + r && p.y == q.y) |
167 if (p != null && q != null && p.x < q.x + r && p.y == q.y) |
168 Some(new Gfx_Range(p.x, p.y, q.x + r - p.x)) |
168 Some(Gfx_Range(p.x, p.y, q.x + r - p.x)) |
169 else None |
169 else None |
170 } |
170 } |
171 |
171 |
172 |
172 |
173 /* pixel range */ |
173 /* pixel range */ |