ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   [API] !Gui (https://forum.antichat.xyz/showthread.php?t=1310575)

SR_team 23.11.2015 23:45

Простенький плагин реализующий гуи подобное 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

SR_team 25.11.2015 18:01

Добавлены чекбоксы

luckyFOX 27.11.2015 09:34

Это такие диалоги как например в RakFilter?

SR_team 27.11.2015 11:46

Цитата:

Сообщение от luckyFOX

Это такие диалоги как например в RakFilter?

Да


Время: 03:52