Timothy Flynn
8a94c7a7f7
LibGUI: Skip over grapheme clusters on left/right arrow key presses
...
Currently, if you use the left/right arrow keys to move over a multi-
code point glyph, we will move through that glyph one code point at a
time. This means you can "pause" your movement in the middle of a glyph
and delete a subsection of a grapheme cluster. This now moves the cursor
across the entire cluster.
Visually, we will need to separately track physical and virtual cursor
positions. That is, when you move across a multi-code point glyph, the
visual cursor should only move one position at a time, while a physical
cursor stores the "real" position in terms of number of code points.
This also converts a couple of ints to auto - these are actually size_t,
and are being passed to functions that expect size_t, so let's not cast
them to ints.
2023-02-18 16:54:46 +01:00
..
2023-01-27 20:38:49 +00:00
2023-02-13 00:45:09 +00:00
2023-02-07 10:43:15 +00:00
2023-02-07 10:43:15 +00:00
2023-02-07 10:43:15 +00:00
2023-02-13 00:45:09 +00:00
2023-02-13 00:45:09 +00:00
2023-01-08 23:01:16 +01:00
2022-12-30 17:16:29 +01:00
2023-01-27 20:33:18 +00:00
2023-02-10 05:12:06 +03:30
2022-12-07 11:48:27 +01:00
2023-02-13 00:50:07 +00:00
2023-02-13 00:50:07 +00:00
2023-01-05 12:09:35 +01:00
2022-12-26 09:27:19 +01:00
2022-12-28 22:32:21 -05:00
2022-12-07 11:48:27 +01:00
2023-02-13 00:45:09 +00:00
2022-12-10 14:28:38 +01:00
2023-01-12 11:25:51 +01:00
2022-12-07 11:48:27 +01:00
2023-01-26 20:24:37 +00:00
2023-02-13 00:45:09 +00:00
2023-02-02 13:15:03 +01:00
2023-02-13 00:45:09 +00:00
2023-02-13 00:45:09 +00:00
2023-02-13 00:45:09 +00:00
2023-02-13 00:45:09 +00:00
2023-02-13 00:45:09 +00:00
2023-02-13 00:45:09 +00:00
2023-02-13 00:50:07 +00:00
2023-02-13 00:45:09 +00:00
2023-02-07 10:43:15 +00:00
2022-11-19 11:04:11 +01:00
2022-12-06 08:54:33 +01:00
2022-12-06 08:54:33 +01:00
2023-02-13 00:45:09 +00:00
2022-12-09 00:25:30 +01:00
2022-12-30 17:16:29 +01:00
2022-12-30 17:16:29 +01:00
2023-01-26 20:24:37 +00:00
2022-12-06 08:54:33 +01:00
2022-12-06 08:54:33 +01:00
2023-01-06 13:36:02 -07:00
2023-02-07 10:43:15 +00:00
2023-02-13 00:50:07 +00:00
2023-01-09 09:45:26 +01:00
2022-11-19 11:04:11 +01:00
2022-12-07 11:48:27 +01:00
2023-02-13 00:50:07 +00:00
2023-02-13 00:50:07 +00:00
2023-02-13 00:50:07 +00:00
2022-12-06 08:54:33 +01:00
2022-12-06 08:54:33 +01:00
2022-11-19 16:04:42 +01:00
2022-11-16 17:23:56 +00:00
2023-02-08 18:50:43 +00:00
2022-12-06 08:54:33 +01:00
2023-02-18 16:54:46 +01:00
2022-12-06 08:54:33 +01:00
2023-01-07 14:39:30 +01:00
2022-12-06 08:54:33 +01:00
2022-12-07 11:48:27 +01:00
2022-12-07 11:48:27 +01:00
2023-02-13 00:50:07 +00:00
2022-12-06 08:54:33 +01:00
2023-02-13 00:50:07 +00:00
2023-02-13 00:45:09 +00:00
2023-02-02 04:05:42 -07:00
2023-02-13 00:50:07 +00:00
2023-02-02 04:05:42 -07:00
2023-02-02 04:05:42 -07:00
2022-12-06 08:54:33 +01:00
2022-12-06 08:54:33 +01:00
2023-02-07 17:01:55 +01:00
2022-12-06 08:54:33 +01:00
2022-12-09 00:25:30 +01:00
2023-02-17 16:25:57 +00:00
2022-12-07 11:48:27 +01:00
2022-11-27 18:28:43 -07:00
2022-12-26 09:27:19 +01:00
2022-12-26 09:27:19 +01:00
2023-01-03 15:25:02 +01:00
2022-12-06 08:54:33 +01:00
2023-01-03 15:25:02 +01:00
2023-01-26 20:24:37 +00:00
2023-02-02 13:15:03 +01:00
2023-02-02 13:15:03 +01:00
2023-01-20 15:13:31 +00:00
2023-02-13 00:45:09 +00:00
2022-12-08 17:20:51 +01:00
2022-11-29 15:39:13 +00:00
2023-01-11 10:24:51 +01:00
2023-01-11 10:24:51 +01:00
2022-11-27 18:28:43 -07:00
2023-02-13 00:45:09 +00:00
2023-02-04 18:46:39 -07:00
2022-12-06 08:54:33 +01:00
2023-02-13 00:50:07 +00:00
2022-12-06 08:54:33 +01:00
2023-01-26 20:24:37 +00:00
2022-12-06 08:54:33 +01:00
2023-01-26 20:24:37 +00:00
2022-12-06 08:54:33 +01:00
2022-12-07 11:48:27 +01:00
2022-12-07 11:48:27 +01:00
2022-12-10 14:28:38 +01:00
2022-12-07 11:48:27 +01:00
2022-12-06 08:54:33 +01:00
2022-12-06 08:54:33 +01:00
2022-12-10 14:28:38 +01:00
2022-12-10 14:28:38 +01:00
2023-02-13 00:45:09 +00:00
2022-12-06 08:54:33 +01:00
2023-02-08 18:50:43 +00:00
2023-02-10 05:12:06 +03:30
2022-12-06 08:54:33 +01:00
2022-12-06 08:54:33 +01:00
2022-11-06 10:25:08 -07:00
2022-12-07 11:48:27 +01:00
2022-12-07 11:48:27 +01:00
2023-01-26 20:24:37 +00:00
2023-01-27 20:33:18 +00:00
2023-02-13 00:50:07 +00:00
2022-12-06 08:54:33 +01:00
2023-02-17 16:25:57 +00:00
2023-01-01 09:38:07 +00:00
2023-01-26 20:24:37 +00:00
2022-12-06 08:54:33 +01:00
2023-02-08 19:15:45 +00:00
2023-02-08 19:15:45 +00:00
2023-02-13 00:45:09 +00:00
2023-02-13 00:45:09 +00:00
2023-02-17 16:25:57 +00:00
2023-02-17 16:25:57 +00:00
2023-02-13 00:45:09 +00:00
2023-02-13 00:45:09 +00:00
2022-12-10 11:49:24 +00:00
2022-12-06 08:54:33 +01:00
2023-01-07 14:39:30 +01:00
2023-01-07 14:39:30 +01:00
2022-12-28 22:32:21 -05:00
2022-12-26 09:27:19 +01:00
2023-02-17 16:25:57 +00:00
2023-02-17 16:25:57 +00:00
2023-02-13 00:45:09 +00:00
2022-12-15 21:00:24 +00:00
2022-12-06 08:54:33 +01:00
2022-12-06 08:54:33 +01:00
2023-02-17 16:25:57 +00:00
2023-02-17 16:25:57 +00:00
2022-12-06 08:54:33 +01:00
2022-12-06 08:54:33 +01:00
2023-01-26 20:24:37 +00:00
2022-12-07 11:48:27 +01:00
2022-12-07 11:48:27 +01:00
2023-02-13 00:45:09 +00:00
2022-12-06 08:54:33 +01:00
2022-12-06 08:54:33 +01:00
2023-01-03 15:25:02 +01:00
2022-12-16 09:58:51 +01:00
2023-02-16 10:47:22 +00:00
2023-02-16 10:47:22 +00:00
2023-02-17 07:50:09 -05:00
2023-02-17 07:50:09 -05:00
2023-02-17 07:50:09 -05:00
2023-02-13 00:50:07 +00:00
2022-12-06 08:54:33 +01:00
2023-02-13 00:45:09 +00:00
2023-02-02 13:15:03 +01:00
2022-12-07 11:48:27 +01:00
2023-02-02 14:49:54 +01:00
2023-02-02 13:15:03 +01:00
2022-12-06 08:54:33 +01:00
2023-01-26 09:57:14 -05:00
2022-12-06 08:54:33 +01:00
2022-12-06 08:54:33 +01:00
2023-02-17 16:25:57 +00:00
2023-02-17 16:25:57 +00:00
2023-02-13 00:50:07 +00:00
2023-02-10 05:12:06 +03:30
2022-12-06 08:54:33 +01:00
2023-01-27 20:33:18 +00:00
2023-02-05 08:06:06 +00:00
2023-01-07 14:39:30 +01:00
2023-01-26 20:24:37 +00:00
2023-01-17 18:16:02 +01:00
2022-11-19 16:04:42 +01:00