- 4,795
- 6,468
Простенький плагин реализующий гуи подобное DXTU. Все сложности с подключением оставлены в !Gui.sf, все что вам нужно, это подключить файлы из папки Include, зарегистрировать класс и начать рисовать, можно регистрировать неограниченное количество классов в плагине.
Функции класса:
Для работы плагинов написанных с использованием этого апи должен быть установлен плагин !Gui.sf
Функции класса:
- 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 - нажатие было правой кнопкой мыши
- ret_not - нажатия не было
- TextAlig - тоже emun, Определяет положение текста. Имеет следующие данные:
- ta_Left - рисовать текст относительно левого края экрана (из заданных координат)
- ta_Center - рисовать текст в центре заданных координат
- ta_Right - рисовать текст относительно правого края экрана (из заданных координат)
- ta_Left - рисовать текст относительно левого края экрана (из заданных координат)
Для работы плагинов написанных с использованием этого апи должен быть установлен плагин !Gui.sf
Вложения
Последнее редактирование: