src/Tools/jEdit/src/jedit_lib.scala
changeset 50115 8cde6f1a0106
parent 49941 f2db0596bd61
child 50116 88b971fca902
equal deleted inserted replaced
50114:d203e98ef5c9 50115:8cde6f1a0106
   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 */