[API] !Gui

Статус
В этой теме нельзя размещать новые ответы.

SR_team

like pancake
Автор темы
BH Team
4,804
6,475
Простенький плагин реализующий гуи подобное DXTU. Все сложности с подключением оставлены в !Gui.sf, все что вам нужно, это подключить файлы из папки Include, зарегистрировать класс и начать рисовать, можно регистрировать неограниченное количество классов в плагине.

Функции класса:
  • MenuGUI - конструктор класса, может принимать указатель на шрифт для копирования шрифта в класс. Если шрифт не указан создастся свой.
  • ~MenuGUI - деструктор класса.
  • SetFont - перегруженная функция изменения шрифта в классе, может принимать указатель на шрифт, либо его параметры.
  • InputBox - функция создания поля ввода. Принимает координаты поля, цвет, id поля ввода, зависимость от меню (координаты будут относительно координат меню, если оно есть), максимальную длину поля в символах. Возвращает строку
  • ClearInputBox - Очищает поле ввода. Принимает id поля ввода.
  • SetInputBox - Устанавливает текст в поле ввода. Принимает id поля ввода и текст.
  • Text - Рисует кликабельный текст. Принимает текст, координаты, цвет, форматирование относительно координат (как в ворде - слева, справа, по центру), зависимость от меню. Возвращает информацию был ли нажат текст и если да, то какой клавишей мыши (левой или правой).
  • Button - Рисует кнопку. Принимает текст, координаты, цвет, зависимость от меню. Возвращает информацию был ли нажат текст и если да, то какой клавишей мыши.
  • CheckBox - рисует чекбокс. Принимает текст, координаты, цвет, указатель на изменяемую переменную, зависимость от меню
  • Listing - Рисует список. Принимает текст, координаты, набор цветов lColor, информацию о скроллбаре mScroll, id выделеной строки в списке, зависимость от меню. Возвращает id нажатой строки начиная с 0 (-1 - строка не нажата)
  • MenuBox - Рисует меню. Принимает текст, указатели на координаты, ширину и высоту, цвет.
  • LineInMenu - Рисует линию в меню. Принимает координаты начала и конца, цвет. Координаты зависят от координат меню.
  • LockGUI - Блокирует обработку индивидуальных событий текущего класса меню.
Лимиты:
  • InputBox - лимит длины строки - 256 символов (для чтения и установки)
  • Listing - лимит 1000 строк
Типы данных:
  • mScroll - структура данных о скроллбаре. Имеет следующие данные:
    • Size - количиство строк для скроллбара
    • Pos - указатель на позицию скроллбара
    • Show - отображение скроллбара
  • lColor - Структура данных о цвете. Имеет следующие данные:
    • default - основной цвет строк
    • Selected - цвет подложки выделеной строки
    • Spewial - массив цветов, определяет индивидуальный цвет для каждой строки, если значение не 0
  • MenuRet - не совсем тип данных - enum, определяет нажатие для кликабельных текстов и кнопок. Имеет следующие параметры:
    • ret_not - нажатия не было
    • ret_lmb - нажатие было левой кнопкой мыши
    • ret_rmb - нажатие было правой кнопкой мыши
  • TextAlig - тоже emun, Определяет положение текста. Имеет следующие данные:
    • ta_Left - рисовать текст относительно левого края экрана (из заданных координат)
    • ta_Center - рисовать текст в центре заданных координат
    • ta_Right - рисовать текст относительно правого края экрана (из заданных координат)
В архиве имеется пример плагина с подключенным !Gui и рисованием небольшого окна.
Для работы плагинов написанных с использованием этого апи должен быть установлен плагин !Gui.sf
 

Вложения

  • !Gui.zip
    347.4 KB · Просмотры: 74
Последнее редактирование:
  • Нравится
Реакции: mac и DarkP1xel
Статус
В этой теме нельзя размещать новые ответы.