Advertisement
Guest User

Untitled

a guest
Mar 29th, 2014
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.38 KB | None | 0 0
  1.   def cursorForX(x: Int): Either[Side, Int] = {
  2.     var lastX = 0
  3.    
  4.     if(x < 0)
  5.       return Left(Side.Before)
  6.      
  7.     for(pos <- 1 to textLength) {
  8.       val thisX = style.font.metrics.charsWidth(text, 0, pos)
  9.       if(x <= thisX)
  10.         return if(x < lastX+(thisX-lastX)/2) Right(pos-1) else Right(pos)
  11.       lastX = thisX
  12.     }
  13.     return Left(Side.After)
  14.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement