Гибкий и мощный инструмент для создания и управления интерфейсами на базе OpenGL. Создавайте, группируйте, перемещайте интерфейсы с лёгкостью, без единой строчки GL-кода!
- Для укорачивания синтаксиса создания компонентов создан класс
Graphics - Базовый интерфейс
IGraphicsComponent- всё, что нужно реализовать для встраивания вашего компонента в систему - Для создания элемента-контейнера необходима реализация
IGraphicsLayout - Корневые контейнеры обязаны реализовывать
IRootLayout - Отслеживайте обновление любого компонента с помощью
IListener - Нет реализации для вашей платформы? Не беда. Всё, что нужно сделать - реализовать API из пакета
com.github.stannismod.gext.api.adapter
Библиотека доступна в Maven:
repositories {
maven {
url = "https://oss.sonatype.org/content/repositories/snapshots/"
}
}
implementation group: 'com.github.stannismod.gext', name: <имя_адаптера>, version: '1.5.1.0-SNAPSHOT'
Напишите его сами! Для обычного компонента подойдёт реализация IGraphicsComponent. Если не нужно что-то особенное - присмотритесь к встроенному классу GBasic.
Он предоставляет базовую реализацию возможностей библиотеки, оставляя максимум пространства для творчества.
Не хватает инструмента вёрстки? Тогда IGraphicsLayout - ваш выбор. У него тоже есть базовая реализация BasicLayout.
Задумали пойти ещё дальше, и сделать компонент без родителя, так называемый корневой? Вам не обойтись без IRootLayout!
Для добавления полос прокрутки в свой компонент реализуйте интерфейс IScrollable.
Теперь в качестве обработчика прокрутки можно использовать любую реализацию IGraphicsComponentScroll
Любой компонент может реализовать IListener<T>, и слушать изменения целевого компонента. Теперь можно управлять своим состоянием
в зависимости от состояния другого компонента! И наоборот тоже :)
Проект может быть собран запуском задачи build из модуля реализации адаптеров