Существует множество библиотек графического интерфейса для микроконтроллеров и встраиваемых систем, но многие из них имеют ограниченную функциональность, сложны в использовании и интеграции, требуют обязательного использования внешней оперативной памяти, а некоторые стоят больше, чем ваш проект целиком. Поэтому была написана библиотека MakiseGUI.
Цели разработки:
- Простота использования: писать интерфейс не должно быть сложнее, чем с использованием WindowsForms и т. п.
- Простота интеграции: встроить и запустить интерфейс в приложении должно быть максимально просто на любом оборудовании или ПО.
- Чистый С: используется только gnu-c99 и стандартная библиотека.
- Минимальное потребление ОЗУ: возможность использования на средних микроконтроллерах без внешней памяти (примерно 40 КиБ с цветным дисплеем 320×240).
- Достаточное количество графических элементов для комфортной разработки, простое добавление новых.
- Свободная лицензия и бесплатное использование даже в коммерческих проектах.
На данный момент существуют следующие элементы:
- MButton — кнопка, которая отображает текст посылает события при нажатии.
- MCanvas — простейший контейнер, который просто содержит элементы.
- MLable — простейшее текстовое поле.
- MTextField — текстовое поле, поддерживающее перенос слов и переносы.
- MSlider — слайдер.
- MToggle — кнопка, имеющая два состояния.
- MSlist — список. Может быть как простым списком, так и radio-кнопками или чекбосками. Поддерживает обычные списки и динамические линкованные.
- MTabs — вкладки. Несколько переключаемых контейнеров.
>>> GitHub