Blame doc/ru/common.html

Ivan Mahonin 7a004b
<html>
Ivan Mahonin 7a004b
<head>
Ivan Mahonin 7a004b
<meta charset="UTF-8" />
Ivan Mahonin 7a004b
<link rel="stylesheet" type="text/css" href="style.css" />
Ivan Mahonin 7a004b
<title>Запуск и общие функции - Helianthus</title>
Ivan Mahonin 7a004b
</head>
Ivan Mahonin 7a004b
<body>
Ivan Mahonin 7a004b
Ivan Mahonin 7a004b
  

Helianthus

Ivan Mahonin 7a004b
  

Запуск и общие функции

Ivan Mahonin 7a004b
  

Клавиатура и мышь

Ivan Mahonin 7a004b
  

Рисование

Ivan Mahonin cece70
  

Шрифты и текст

Ivan Mahonin cece70
  

Текстуры и анимация

Ivan Mahonin cece70
  

Буфер кадра

Ivan Mahonin 7a004b
  

Спрайты

Ivan Mahonin 7a004b
  

Группы спрайтов

Ivan Mahonin 7a004b
  

Звук

Ivan Mahonin 7a004b
  
Ivan Mahonin 7a004b
  

Все функции

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b
Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Запуск и общие функции

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Для подключения и использования библиотеки Helianthus нужно:

Ivan Mahonin 7a004b
- подключить файл <helianthus.h>
Ivan Mahonin 7a004b
- создать и зарегистрировать  функции для начальной загрузки и для перерисовки кадра (см. worldSetInit и worldSetDraw)
Ivan Mahonin 1badb6
- также вы можете зарегистрировать функцию для выполнения каких-либо действий при завершении программы (worldSetDeinit);
Ivan Mahonin 7a004b
- вызвать функцию worldRun для запуска вашей программы

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Вот что должно получиться:

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b
Ivan Mahonin 7a004b
#include <helianthus.h>
Ivan Mahonin 7a004b
Ivan Mahonin 7a004b
void init() {
Ivan Mahonin 7a004b
    // Здесь будут команды для начальной загрузки.
Ivan Mahonin 7a004b
    // Они выполнятся только один раз в самом начале.
Ivan Mahonin 7a004b
}
Ivan Mahonin 7a004b
Ivan Mahonin 7a004b
void draw() {
Ivan Mahonin 7a004b
    // Здесь будут команды для движения и рисования.
Ivan Mahonin 7a004b
    // Во время работы программы они будут запускаться
Ivan Mahonin 7a004b
    // несколько раз в секунду.
Ivan Mahonin 7a004b
}
Ivan Mahonin 7a004b
Ivan Mahonin 7a004b
int main() {
Ivan Mahonin 7a004b
    worldSetInit(&init); 
Ivan Mahonin 7a004b
    worldSetDraw(&draw);
Ivan Mahonin 7a004b
    worldRun();
Ivan Mahonin 7a004b
    return 0;
Ivan Mahonin 7a004b
}
Ivan Mahonin 7a004b
Ivan Mahonin 7a004b
Ivan Mahonin 7a004b
Ivan Mahonin cece70

После завершения работы Helianthus (при окончании выполнения функции worldRun) все созданные вами объекты библиотеки будут удалены автоматически. Если вы хотите удалить что-то вручную, смотрите функции удаления для соответствующих объектов (spriteDestroy, groupDestroy, soundDestroy, fontDestroy, textLayoutDestroy, animationDestroy, framebufferDestroy, closeDirectory).

Ivan Mahonin 1badb6
Ivan Mahonin cece70

Вы можете задать размер окна программы функциями worldSetSize, worldSetWidth, worldSetHeight и задать заголовок окна функцией worldSetTitle. В отличие от большинства функций Helianthus эти функции можно вызывать до запуска worldRun.

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

Изначально окно имеет фиксированный размер, который вы можете менять только из программы, командами указанными выше. Однако вы можете это изменить и разрешить пользователю изменять размер окна, смотрите функцию worldSetResizable.

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

Окно программы непрерывно перерисовывается с частотой 24 кадра в секунду. Частоту перерисовки вы можете поменять при помощи функции worldSetFrameRate.

Ivan Mahonin 1badb6
Ivan Mahonin cece70

Программа ведёт отсчёт времени и кадров с момента запуска вы можете получить значение этих счётчиков пи помощи функций worldGetSeconds и worldGetFrameCount. Длительность одного кадра (длительность предыдущего отрисованного кадра) можно узнать вызвав функцию worldFrameTime.

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

Также Helianthus предоставляет некоторые общие функции которые не представлены в стандартном я зыке C:

Ivan Mahonin 1badb6
- помощники в генерации случайных чисел (randomNumber, randomFloat);
Ivan Mahonin cece70
- функция поворота вектора rotateVector;
Ivan Mahonin 1badb6
- функции для чтения папок (см. openDirectory);
Ivan Mahonin 1badb6
- функции проверки существования файлов и папок — fileExists, directoryExists.
Ivan Mahonin cece70
- функции для создания всплывающих окон с текстовыми сообщениями (messageBox, questionBox, questionBox3) и окон для ввода текста (askText, askTextEx).

Ivan Mahonin 1badb6
Ivan Mahonin 7a004b

Функции:

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

void worldSetInit(Callback init);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Задать функцию для начальной инициализации (загрузки). Эта функция будет запущена только один раз в самом начале работы программы, как только будет вызвана функция worldRun.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

init — указатель на функцию начальной инициализации (загрузки). Функция быть работать без параметров и не должна возвращать значение.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

void worldSetDraw(Callback draw);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Задать основную функцию вашей программы — функцию для перерисовки кадра. Во время работы программы заданная функция будет запускаться несколько раз в секунду перед перерисовкой каждого кадра. Поместите в неё команды для движения и рисования.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

draw — указатель на функцию перерисовки кадра. Функция быть работать без параметров и не должна возвращать значение.

Ivan Mahonin 7a004b
Ivan Mahonin 1badb6

void worldSetDeinit(Callback deinit);

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

Задать функцию для выполнения каких-либо действий при завершении программы. Эта функция будет запущена только один раз при окончании работы программы, непосредственно перед завершением выполнения функции worldRun.

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

Параметры:

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

deinit — указатель на функцию которая будет выполнена перед завершением программы.

Ivan Mahonin 1badb6
Ivan Mahonin 7a004b

void worldRun();

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Запустить вашу программу на Helianthus. Перед вызовом этой функции нужно зарегистрировать функции начальной загрузки и перерисовки кадра (см. выше)

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

void worldStop();

Ivan Mahonin 7a004b
Ivan Mahonin acc470

Остановить и закрыть программу. Программа всегда закрывается если пользователь нажмёт на крестик в верхнем правом углу окна, но вы можете добавить и свои способы выхода из программы. Например, в функцию перерисовки вы можете вставить возможность выхода по нажатию клавиши Esc (см. также раздел «Клавиатура и мышь»):

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b
Ivan Mahonin 7a004b
void draw() {
Ivan Mahonin 7a004b
    …
Ivan Mahonin cece70
    if (keyWentDown("escape")) {
Ivan Mahonin 7a004b
        worldStop()
Ivan Mahonin 7a004b
    }
Ivan Mahonin 7a004b
    …
Ivan Mahonin 7a004b
}
Ivan Mahonin 7a004b
Ivan Mahonin 7a004b
Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

int worldGetWidth();

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Возвращает ширину окна в пикселях. См. также worldSetWidth.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

void worldSetWidth(int width);

Ivan Mahonin 7a004b
Ivan Mahonin cece70

Установить ширину окна. Эту функцию можно вызывать до вызова worldRun. См. также worldGetWidth, worldSetHeight, worldSetSize.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

width — новая ширина окна.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

int worldGetHeight();

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Возвращает высоту окна в пикселях. См. также worldSetHeight.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

void worldSetHeight(int height);

Ivan Mahonin 7a004b
Ivan Mahonin cece70

Установить высоту окна. Эту функцию можно вызывать до вызова worldRun. См. также worldGetHeight, worldSetWidth, worldSetSize.

Ivan Mahonin cece70
Ivan Mahonin cece70

Параметры:

Ivan Mahonin cece70
Ivan Mahonin cece70

height — новая высота окна.

Ivan Mahonin cece70
Ivan Mahonin cece70

void worldSetSize(int width, int height);

Ivan Mahonin cece70
Ivan Mahonin cece70

Установить сразу и ширину и высоту окна. Эту функцию можно вызывать до вызова worldRun. См. также worldSetWidth, worldSetHeight.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin cece70

width — новая ширина окна;

Ivan Mahonin cece70
height — новая высота окна.

Ivan Mahonin 7a004b
Ivan Mahonin 1badb6

int worldGetResizable();

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

Возвращает TRUE если пользователь имеет возможность изменять размер окна, в противном случае возвращает FALSE.

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

void worldSetResizable(int resizable);

Ivan Mahonin 1badb6
Ivan Mahonin cece70

Включает или выключает возможность измерения размеров окна пользователем. Когда включено пользователь может менять размер окна растягивая его, хватаясь за границы, и, появляется кнопка для разворачивания окна на весь экран. Эту функцию можно вызывать до вызова worldRun.

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

Параметры:

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

resizable — если TRUE, то разрешает пользователю изменять размер окна.

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

const char* worldGetTitle();

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

Возвращает установленный ранее заголовок окна (строка текста).

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

void worldSetTitle(const char *title);

Ivan Mahonin 1badb6
Ivan Mahonin cece70

Установить заголовок окна. Эту функцию можно вызывать до вызова worldRun.

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

Параметры:

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

title — новый заголовок окна.

Ivan Mahonin 1badb6
Ivan Mahonin 7a004b

void worldSetFrameRate(double frameRate);

Ivan Mahonin 7a004b
Ivan Mahonin cece70

Установить фиксированную частоту перерисовки окна. Эту функцию можно вызывать до вызова worldRun. См. также: worldSetFrameRateEx, worldSetVariableFrameRate.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

frameRate — количество кадров в секунду, от 1 до 100.

Ivan Mahonin 7a004b
Ivan Mahonin cece70

void worldSetVariableFrameRate();

Ivan Mahonin cece70
Ivan Mahonin cece70

Установить переменную частоту перерисовки окна в диапазоне от 1 до 100 кадров в секунду. См. также: worldSetFrameRateEx.

Ivan Mahonin cece70
Ivan Mahonin cece70

double worldGetMinFrameRate();

Ivan Mahonin cece70
Ivan Mahonin cece70

Возвращает ранее установленную минимальную частоту перерисовки окна. См. также: worldSetFrameRateEx.

Ivan Mahonin cece70
Ivan Mahonin cece70

double worldGetMaxFrameRate();

Ivan Mahonin cece70
Ivan Mahonin cece70

Возвращает ранее установленную максимальную частоту перерисовки окна. См. также: worldSetFrameRateEx().

Ivan Mahonin cece70
Ivan Mahonin cece70

double worldSetFrameRateEx(double minFrameRate, double maxFrameRate);

Ivan Mahonin cece70
Ivan Mahonin cece70

Установить переменную частоту перерисовки окна. В этом режиме Helianthus будет стараться перерисовать окно как можно быстрее — но не быстрее заданной максимальной частоты. Реальная частота кадров будет зависеть от скорости компьютера. Если скорость компьютера и сложность рисуемой сцены не позволяют обеспечить даже минимальной частоты перерисовки, то Helianthus будет подменять реальное время имитируя для вашего приложения работу на скорости соответствующей минимальной частоте кадров — как результат происходящее на экране движение замедлится.

Ivan Mahonin cece70
Ivan Mahonin cece70

Казалось бы это очевидное поведение, но нет. В большинству программ, и, наверное, в вашей будущей программе тоже, скорость движения объектов связана со счётчиком времени. И если кадр будет рисоваться очень медленно — более секунды, то за время одного кадра движущийся объект может пройти очень большое расстояние. При этом пользователь будет лишён возможности как-то наблюдать за движением или повлиять на него. Будет лучше в этой ситуации замедлить движение объекта, но за то нарисовать несколько дополнительных кадров, показывающих промежуточные точки движения. Для этого и устанавливается минимальная частота кадров.

Ivan Mahonin cece70
Ivan Mahonin cece70

См. также: worldGetMinFrameRate, worldGetMaxFrameRate, worldSetVariableFrameRate.

Ivan Mahonin cece70
Ivan Mahonin cece70

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin cece70

minFrameRate — минимальная частота кадров;

Ivan Mahonin cece70
maxFrameRate — максимальная частота кадров.

Ivan Mahonin cece70
Ivan Mahonin cece70

double worldGetFrameTime();

Ivan Mahonin cece70
Ivan Mahonin cece70

Возвращает длительность отрисовки предыдущего кадра в секундах. Для первого кадра возвращается расчётное значение длительности. См. также worldSetFrameRateEx.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

int worldGetFrameCount();

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Возвращает количество кадров прошедшее с момента запуска программы (с момента вызова функции worldRun. См. также worldGetSeconds.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

double worldGetSeconds();

Ivan Mahonin 7a004b
Ivan Mahonin cece70

Возвращает количество секунд прошедшее с момента запуска программы (с момента вызова функции worldRun. Это время может отставать от реального, если компьютер слишком медленно рисовал кадры. См. также worldSetFrameRateEx, worldGetFrameCount.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

int randomNumber(int min, int max);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Возвращает случайное целое число от min до max включительно.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

min — минимальное значение для случайного числа;

Ivan Mahonin 7a004b
max — максимальное значение для случайного числа.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

double randomFloat();

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Возвращает случайное дробное число в диапазоне от 0 до 1.

Ivan Mahonin 7a004b
Ivan Mahonin cece70

void rotateVector(double *x, double *y, double angle);

Ivan Mahonin cece70
Ivan Mahonin cece70

Повернуть вектор (x, y) на угол angle. Функция принимает два указателя на координаты вектора, повёрнутый вектор записывается по указанным адресам вместо старого.

Ivan Mahonin cece70
Ivan Mahonin cece70

Параметры:

Ivan Mahonin cece70
Ivan Mahonin cece70

x — указатель на переменную хранящую координату x;

Ivan Mahonin cece70
y — указатель на переменную хранящую координату y;
Ivan Mahonin cece70
angle — угол поворота в градусах.

Ivan Mahonin cece70
Ivan Mahonin 1badb6

Directory openDirectory(const char *path);

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

Если папка существует, то функция читает список файлов в папке и сохраняет этот список в памяти. Возвращает значение типа Directory, которое является адресом в памяти — указателем на описание списка внутри библиотеки Helianthus.

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

Если папка не существует или её по какой-то причине невозможно открыть, то функция возвращает нулевой указатель (NULL).

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

Имена файлов можно получить при помощи функций directoryGetCount и directoryGet. После использования список нужно удалить функцией closeDirectory.

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

Пример:

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6
Ivan Mahonin 1badb6
Directory dir = openDirectory("my/directory");
Ivan Mahonin 1badb6
if (dir) {
Ivan Mahonin 1badb6
    for(int i = 0; i < directoryGetCount(dir); ++i) {
Ivan Mahonin 1badb6
        printf("file: %s", directoryGet(dir, i));
Ivan Mahonin 1badb6
    }
Ivan Mahonin 1badb6
    closeDirectory(dir);
Ivan Mahonin 1badb6
}
Ivan Mahonin 1badb6
Ivan Mahonin 1badb6
Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

Параметры:

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

path — путь к папке.

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

void closeDirectory(Directory directory);

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

Удаляет ранее загруженный список файлов из памяти. См. также openDirectory.

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

Важно: Скорее всего у вас в программе останется переменная в которой хранился указатель на список. Этот указатель станет недействителен — будет указывать на неопределённую область памяти — не на список файлов. Вы можете занести в эту переменную другую список файлов, но использовать старое значение переменной больше нельзя это приведёт к ошибкам и непредсказуемому поведению программы.

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

int directoryGetCount(Directory directory);

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

Возвращает количество файлов в списке. См. также openDirectory и directoryGet.

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

const char* directoryGet(Directory directory, int i);

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

Возвращает имя файла с указанным номером из ранее открытого списка. См. также openDirectory и directoryGet.

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

Параметры:

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

i — номер файла в списке.

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

int fileExists(const char *path);

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

Возвращает TRUE (число 1) если файл по заданному пути существует, иначе возвращает FALSE (число 0).

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

Параметры:

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

path — путь к проверяемому файлу.

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

int directoryExists(const char *path);

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

Возвращает TRUE (число 1) если папке по заданному пути существует, иначе возвращает FALSE (число 0).

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

Параметры:

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

path — путь к проверяемой папке.

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

void messageBox(const char *message);

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

Показать окно с текстовым сообщением. Работа программы будет приостановлена, до тех пор пока пользователь не закроет окно (нажав на кнопку OK, например).

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

Параметры:

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

message — текстовое сообщение.

Ivan Mahonin 1badb6
Ivan Mahonin cece70

int questionBox(const char *question, const char *answer0, const char *answer1);

Ivan Mahonin cece70
Ivan Mahonin cece70

Функция показывает на экране окно вопроса с двумя вариантами ответа. Работа программы будет приостановлена до тех пор пока пользователь не выберет один из вариантов или не закроет окно вопроса (что равносильно выбору варианта номер 0). Функция возвращает номер выбранного ответа — 0 или 1. См. также: messageBox, questionBox3.

Ivan Mahonin cece70
Ivan Mahonin cece70

Параметры:

Ivan Mahonin cece70
Ivan Mahonin cece70

question — текст задаваемого вопроса;

Ivan Mahonin cece70
answer0 — такст варианта ответа номер 0, этот вариант выбирается если пользователь закрывает окно вопроса или нажимает клавишу Esc. Удобно использовать с текстом «Нет» или «Отмена»;
Ivan Mahonin cece70
answer1 — текст варианта ответа номер 1, этот вариант выбирается по-умолчанию если пользователь нажимает клавишу Enter. Удобно использовать с текстом «Да» или «OK».

Ivan Mahonin cece70
Ivan Mahonin cece70

int questionBox3(const char *question, const char *answer0, const char *answer1, const char *answer2);

Ivan Mahonin cece70
Ivan Mahonin cece70

Функция показывает на экране окно вопроса с тремя вариантами ответа. Работа программы будет приостановлена до тех пор пока пользователь не выберет один из вариантов или не закроет окно вопроса (что равносильно выбору варианта номер 0). Функция возвращает номер выбранного ответа — 0, 1 или 2. См. также: messageBox, questionBox.

Ivan Mahonin cece70
Ivan Mahonin cece70

Параметры:

Ivan Mahonin cece70
Ivan Mahonin cece70

question — текст задаваемого вопроса;

Ivan Mahonin cece70
answer0 — такст варианта ответа номер 0, этот вариант выбирается если пользователь закрывает окно вопроса или нажимает клавишу Esc. Удобно использовать с текстом  «Отмена» в наборе Да/Нет/Отмена;
Ivan Mahonin cece70
answer1 — такст варианта ответа номер 1. Удобно использовать с текстом «Нет» в наборе Да/Нет/Отмена;
Ivan Mahonin cece70
answer2 — текст варианта ответа номер 2, этот вариант выбирается по-умолчанию если пользователь нажимает клавишу Enter. Удобно использовать с текстом «Да» в наборе Да/Нет/Отмена.

Ivan Mahonin cece70
Ivan Mahonin cece70
Ivan Mahonin cece70
Ivan Mahonin cece70

int askText(const char *question, char *answer, int maxAnswerSize);

Ivan Mahonin 1badb6
Ivan Mahonin cece70

Создаёт окно для ввода текста. Пользователю будет предоставлена для редактирования строка текста из параметра answer. Работа программы будет приостановлена, до тех пор пока пользователь не закончит ввод и не закроет окно. Возвращает TRUE (число 1) при успешном вводе и FALSE (число 0) если пользователь отменил ввод. См. также askTextEx.

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

Параметры:

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

question — сообщение для пользователя;

Ivan Mahonin 1badb6
answer — указатель на строку куда будет сохранён ответ, также этот параметр используется чтобы задать начальное значение для текстового поля;
Ivan Mahonin 1badb6
maxAnswerSize — максимальный размер для строки ответа в байтах включая ограничивающий нулевой байт.

Ivan Mahonin 1badb6
Ivan Mahonin cece70

int askTextEx(const char *question, char *answer, int maxAnswerSize, int multiline, int password);

Ivan Mahonin 1badb6
Ivan Mahonin cece70

Создаёт окно для ввода текста. Пользователю будет предоставлен для редактирования текст из параметра answer. Позволяет работать с многострочным текстом и прятать вводимые символы (для ввода пароля). Работа программы будет приостановлена, до тех пор пока пользователь не закончит ввод и не закроет окно. Возвращает TRUE (число 1) при успешном вводе и FALSE (число 0) если пользователь отменил ввод. См. также askText.

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

Параметры:

Ivan Mahonin 1badb6
Ivan Mahonin 1badb6

question — сообщение для пользователя;

Ivan Mahonin 1badb6
answer — указатель на строку куда будет сохранён ответ, также этот параметр используется чтобы задать начальное значение для текстового поля;
Ivan Mahonin 1badb6
maxAnswerSize — максимальный размер для строки ответа в байтах включая ограничивающий нулевой байт;
Ivan Mahonin 1badb6
multiline — если TRUE, то будет отображаться поле для ввода многострочного текста;
Ivan Mahonin 1badb6
password — если TRUE, то вводимые символы будут спрятаны (можно использовать для ввода паролей).

Ivan Mahonin 1badb6
Ivan Mahonin 7a004b
Ivan Mahonin 7a004b
</body>
Ivan Mahonin 7a004b
</html>