ну дык вот как-то так:
https://cloud.mail.ru/public/kJkX/NxsTfmhub пример исходника со встроенными внутри символами в комплекте. скачать папку целиком
программа пробует распознать в открываемом исходнике все структуры
shape_t (иногда ошибается, если для их создания применять макросы), и позволяет их править интерактивно. сохраняет только эти структуры, т.е. исходный исходник уже не будет получаться. можно сохранять в h-файл, а дальше делать с ним, что угодно. просто сишник - это вручную созданные символы, если бы я сначала сделал редактор, то символы бы вынес в отдельный файл, как теперь предлагаю.
комментарии есть, думаю, всё понятно. векторы рисуются алгоритмом Брезенхама при помощи внешней функции установки пиксела, оптимизация - это уже вопрос конечного потребителя.
векторные изображения строятся по сетке, каждая точка которой символизирует пиксел экрана. расчет был на то, что коректно нарисованное изображение может быть как угодно масштабировано без потери качества, поэтому есть смысл рисовать красиво самыми короткими отрезками. поскольку линии, составляющие изображение, ломаные, то при рисовании может иметь значение порядок расстановки узлов.
минимальный элемент - линия из двух точек, поэтому если из неё удалить одну точку, удалится вся линия целиком (это относится к режиму удаления узлов). для удобства в режиме редактирования отдельные ломаные отображаются разными цветами.
накропал буквально за пару дней, вероятно, есть какие-то баги... пока не видел
Добавлено after 1 minute 28 seconds:
да, переименовывается символ по двойному клику в списке
Добавлено after 21 minute 6 seconds:
