Иконка ресурса

GExt - The GUI extension 1.4

Нет прав для скачивания
Наконец-то релиз. Думал, не дождусь). Пока что какие-то проблемы с релиз-репозиторием, можно скачивать снапшот 1.4.0.4 - там последний билд с версией API 1.4.
По сравнению с последним снапшотом:
  • Доработаны и протестированы Alignments
  • Введены константы Bounds(точки на reference компоненте, к которым прикрепляется текущий при использовании функции Component Binding). Привет ConstraintLayout'у из андроида ;)
  • Расширена функциональность фабрик.

(начата работа над версией 1.5, уже завезли partialTicks)
Ухх, давно не было такого спидрана.
Но всё же я выкатил(пока в preview) третий(и ну ёмаё, сколько можно) инструмент композиции - Alignments. Это основное изменение в обновлении, для него пришлось добавить пару методов в API, так что инкрементнул версию. Рабочий пример этого дела можно найти в конце туториала(в разделе "Относительная вёрстка"), как и скрин того, что получилось.
Релиз версии 1.4 уже близко. До него будут только фиксы, после - вас ожидает версия 1.5 с обновлением основного API(естественно, не кардинального, но всё же требующего смены minor версии).
Изменения(надеюсь, последние):
  • Добавлен условный препроцессор. Теперь debug-oriented код не будет попадать в джарники Maven.
  • Полностью исправлен и доработан функционал Component Binding, заявленный аж в далёком API версии 1.1. Для тех, кто не в курсе - это позволяет делать относительную вёрстку, указывая библиотеке "откладывать" координаты компонента не от родителя, а от указанного компонента. При этом компоненты должны находиться в одном контейнере. Теперь у пользователя есть оба инструмента композиции, и я утверждаю, что на этом можно построить любую сколь угодно сложную вёрстку.
  • Расширена функциональность всех фабрик. Теперь по умолчанию в них также можно включать/отключать обрезку и выставлять компонент привязки.
  • Добавлен плейсхолдер на версию, произведён рефакторинг.
  • Возвращена class-level документация(которая когда-то удалилась из-за бага идеи, хы).
  • Source джарники, поставляемые вместе с библиотекой в Maven, теперь полные(раньше из-за различного рода проблем они содержали только код адаптеров).
Местный туториал обновлён. Запрашиваю досмотр с пристрастием :)
Возвращаю долги.
  • Завершён и протестирован универсальный вертикальный скроллбар(GVerticalScroll)
  • Закрыты дыры в функциональности StyleMap(скроллбары)
  • Билдер для GVerticalScroll добавлен в класс-агрегатор Controls, анонсированный ранее - теперь он не пустой :) А также все scrollable-контейнеры(как минимум, GPanel) теперь должны поддерживать прокрутку контента(пока только вертикальную).
  • Изменена парадигма IListener - теперь это функциональный интерфейс. Прошлый его функционал выделен в новый интерфейс IGraphicsListener
  • Domain name проекта перенесён с quarter на stannismod. Увы, naming convention, все дела.
  • Заполнены необходимые для начала работы разделы на GitHub Wiki
  • Снапшот опубликован в репозиториях Sonatype Snapshots. Далее там будут появляться все обновления(но не для каждого снапшота будет обновление здесь)
  • Like
Реакции: hohserg
Альфа-версия первого публичного релиза. Предлагается потестить и зарепортить баги.
Что было сделано(из крупного):
  • Добавлены контекстные меню
  • Добавлены текстовые панели и поля(still in alpha)
  • Улучшена стабильность и производительность
  • Уменьшено API адаптеров(IGraphicsHelper) до трёх методов
  • В API добавлены аннотации nullability
  • (!) Пофикшена поддержка guiScale
  • Сделано разделение событий ввода мышкой по типам, теперь это отдельные методы(как в новых версиях). Разумеется, в старых версиях это тоже работает🙃
The great adapters update

Долгожданное обновление, добавляющее поддержку новых и старых версий Minecraft. Обратите внимание, что, как и было обещано, API библиотеки при этом не изменился - ваши GUI не нуждаются в портировании. Также некоторые внутренние улучшения.
  • Добавлены адаптеры под версии 1.7.10, 1.8, 1.9, 1.10, 1.11, 1.13, 1.14 и 1.15
  • Введено наследование Builder'ов
  • Настроены Gradle-таски для обфусцированных и деобфусцированных сборок
  • Like
Реакции: Prototype
GuiLib доведён до рабочего состояния. Теперь обрезка всех компонентов работает правильно, более того, её вообще можно выключить. Как и отображение самого компонента. Исправлен давний баг, связанный с фреймбуферами, когда не отображалось содержимое контейнера, который добавлен в другой контейнер. В основной API введено много вспомогательных функций, весь API, кроме адаптеров, полностью задокументирован.
  • Расширен основной API
  • Из графического конвейера убраны фреймбуферы
  • Протестировано большинство компонентов
  • Добавлены примеры использования библиотеки
  • Добавлен второй шаблон композиции - список
  • Введена вторая ветка компонентов - Controls. Это компоненты, не имеющие собственного отображения на экране, но управляющие другими компонентами
  • Исправлены известные баги
  • Добавлены компоненты: текстовая панель, всплывающая подсказка, фон, селектор
  • StyleMap доведен до рабочего состояния
Сверху