From: Michael D. Lowis Date: Wed, 24 Jan 2018 13:36:08 +0000 (-0500) Subject: fixed logic for picking character on a given line X-Git-Url: https://git.mdlowis.com/?a=commitdiff_plain;h=550c94d649b9b8febe3d42a165277b8cfb201c26;p=archive%2Ftide-ocaml.git fixed logic for picking character on a given line --- diff --git a/lib/view.ml b/lib/view.ml index 9a88695..e4bc0f2 100644 --- a/lib/view.ml +++ b/lib/view.ml @@ -24,31 +24,17 @@ let make width height path = let get_col_offset buf off w x = let csr = Draw.Cursor.make (w,0) 0 0 in let off = ref off in - Printf.printf "off: %d\n" !off; let measure_rune c = - Draw.Cursor.next_glyph csr c; - let clicked = (csr.x > x) in - (if not clicked then off := !off + 1); - (not clicked && (csr.x > 0)) - -(* - Printf.printf "%d %d\n" x csr.x; - if csr.x < x then - (off := !off + 1; csr.x < w) - else - false -*) -(* - if csr.x > x then - (off := (!off + 1); false) - else - ((off := !off + 1; csr.x < w) -*) + if c == 0xA || c == 0xD then false + else begin + Draw.Cursor.next_glyph csr c; + let clicked = (csr.x > x) in + (if not clicked then off := !off + 1); + (not clicked && (csr.x > 0)) + end in Buf.iter measure_rune buf !off; - Printf.printf "off: %d\n" !off; - print_endline ""; - (!off) + !off let get_at view x y =