Продолжаю развлекать публику. Почти создал графический редактор на своём DSL-е с помощью SDL2. Видео с примерами использования тут и тут. Видео записано в XUbuntu 20.04. Исходный код тут.
Интересные особенности.
- Картинка сохраняется в текстовом виде. Каждый пиксель кодируется одним читаемым ASCII символом. Так сделано для простого внедрения картинки в текст программ (игрушек). Соответственно, число цветов ограничено 64 оттенками. В первом ролике видно, что на практике я не сразу научился правильно подбирать нужные цвета.
- Я решил не использовать библиотеки шрифтов. Навелосипедил свой простой растровый шрифт. Каждая буква занимает одну 64-битную переменную (uint64_t). Исходник шрифта в виде абзацев 8x8 тут. Преобразованные символы тут.
- Не использовалось ООП, указатели, функции обратного вызова. При этом в Windows и Linux компьютер особо не нагружается. В Wine почему-то тормозит.
Пока что недоделал диалоги сохранения. Нормальные люди дергают диалоги из имеющихся в системе библиотек. Но такой путь мне представляется ненадёжным. Буду что-то велосипедить. Пока что просто сохраняю в picture.txt.