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).
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