Гибкий и мощный инструмент для создания и управления интерфейсами на базе 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
из модуля реализации адаптеров