]> git.ameliathe1st.gay Git - cells.git/commitdiff
Aide visuelle de quelle touche utiliser en mode insertion
authorAmélia Coutard-Sander <git@ameliathe1st.gay>
Sun, 12 Jan 2025 02:52:40 +0000 (03:52 +0100)
committerAmélia Coutard-Sander <git@ameliathe1st.gay>
Sun, 12 Jan 2025 02:53:27 +0000 (03:53 +0100)
README.txt
bin/modes.ml

index 35611f145faea01d8cf943404a4a9ccbbd8abdd6..a1e370da2aa0037f219e7b33599b13af213bd86d 100644 (file)
@@ -46,7 +46,8 @@ valeur des différentes cases:
        ESC -> Reviens en mode normal.
        Tout autre caractère est converti en un type de case, et écrit
                dans la case actuelle avant de passer à la case de
-               droite.
+               droite. (La clé de conversion est indiquée en bas à
+               gauche.)
 
 J'accepterai avec plaisir les contributions utiles envoyées par mail
 (via git send-mail) à mon adresse personelle (indiquée sur mon site).
index dede8665f18814191ac7b2074d3ddf71e0c151fb..d9641f91211c1842b2bd27cc5393b2a065ae5217 100644 (file)
@@ -252,7 +252,22 @@ and Insert : (Mode with type initer = int) = struct
 
   let initial col = { col }
 
-  let render st _ = render_world st
+  let render (EditorState (m, st)) _ =
+          let module M = (val m) in
+          render_world (EditorState (m, st));
+          let cell_types =
+                  List.init 256 Char.chr |> List.filter_map (fun c -> M.of_char c |> Option.map (fun c' -> (c, c')))
+          in
+          List.iteri
+            (fun i (c, c') ->
+              let r, g, b = M.color c' in
+              let r, g, b = (int_of_char r, int_of_char g, int_of_char b) in
+              Graphics.set_color (Graphics.rgb r g b);
+              Graphics.fill_rect (10 + (25 * i)) 10 25 25;
+              Graphics.set_color (Graphics.rgb 127 127 127);
+              Graphics.moveto (10 + (25 * i) + 8) 20;
+              Graphics.draw_string (String.make 1 c))
+            cell_types
 
   let update (EditorState (m, st)) { col } =
           let module M = (val m) in