Skip to content

StannisMod/gext

Repository files navigation

GExt v1.5.1.0-SNAPSHOT

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

About

The powerful and flexible OpenGL GUI extension

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •