diff --git a/doc/build/.gitignore b/doc/build/.gitignore new file mode 100644 index 0000000..2d19fc7 --- /dev/null +++ b/doc/build/.gitignore @@ -0,0 +1 @@ +*.html diff --git a/doc/build/style.css b/doc/build/style.css new file mode 100644 index 0000000..a8b83a9 --- /dev/null +++ b/doc/build/style.css @@ -0,0 +1,100 @@ + +body { + margin: auto; + padding: 0; + border: 0; + max-width: 1100px; + height: 100%; + background-color: rgb(100, 100, 100); + font-family: serif; + font-size: 12pt; + line-height: 1.5; +} + +.navigation { + margin: 0; + border: 0; + position: fixed; + max-width: 280px; + padding: 20px; +} + +.navigation a { + font-family: sans-serif; + font-weight: bold; + text-decoration: none; + color: rgb(220, 220, 220); + color: white; +} +.navigation a:visited { color: rgb(200, 200, 200); } +.navigation a:hover { color: white !important; } +.navigation a:active { color: rgb(180, 180, 180); } + +.navigation hr { + border: 0; + border-top: 1px solid gray; + margin-left: 20px; + width: 100px; +} + + +.content { + margin: 0 0 0 340px; + padding: 20px; + border: 0; + max-width: 800px; + min-height: 100%; + background-color: white; +} + +.content a { + font-family: sans-serif; + font-weight: bold; + text-decoration: none; +} + +p { + margin-top: 10px; + margin-bottom: 20px; +} + +h1, h2, h3, h4, h5 { + font-family: sans-serif; + font-weight: bold; +} + +h1 { + font-size: 18pt; +} + +h2 { + font-size: 14pt; +} + +h3 { + font-size: 12pt; + margin-top: 30px; + margin-bottom: 5px; +} + +h3+h3 { + margin-top: 0; +} + +h4 { + font-size: 10pt; + margin-top: 0; + margin-bottom: 0; +} + +table, th, td { + border: 1px solid gray; + border-collapse: collapse; + padding: 5px; +} + +pre { + border: 1px solid gray; + background-color: rgb(230, 230, 230); + padding: 10px; +} \ No newline at end of file diff --git a/doc/helianthus-doc-ru.odt b/doc/helianthus-doc-ru.odt index 92cb302..7d0a38d 100644 Binary files a/doc/helianthus-doc-ru.odt and b/doc/helianthus-doc-ru.odt differ diff --git a/doc/ru/common.html b/doc/ru/common.html index c235887..986c42d 100644 --- a/doc/ru/common.html +++ b/doc/ru/common.html @@ -24,6 +24,7 @@
Для подключения и использования библиотеки Helianthus нужно:
- подключить файл <helianthus.h>
- создать и зарегистрировать функции для начальной загрузки и для перерисовки кадра (см. worldSetInit и worldSetDraw)
+- также вы можете зарегистрировать функцию для выполнения каких-либо действий при завершении программы (worldSetDeinit);
- вызвать функцию worldRun для запуска вашей программы
Вот что должно получиться:
@@ -42,15 +43,38 @@ void draw() { // несколько раз в секунду. } +void deinit() { + // Команды внутри этой функции запустятся + // только один раз в самом конце при завершении + // работы программы. +} + int main() { worldSetInit(&init); worldSetDraw(&draw); + worldSetDeinit(&deinit); worldRun(); return 0; } +После завершения работы Helianthus (при окончании выполнения функции worldRun) все созданные вами объекты библиотеки будут удалены автоматически. Если вы хотите удалить что-то вручную, смотрите функции удаления для соответствующих объектов (spriteDestroy, groupDestroy, soundDestroy, fontDestroy, closeDirectory).
+ +Вы можете задать размер окна программы функциями worldSetWidth, worldSetHeight и задать заголовок окна функцией worldSetTitle.
+ +Изначально окно имеет фиксированный размер, который вы можете менять только из программы, командами указанными выше. Однако вы можете это изменить и разрешить пользователю изменять размер окна, смотрите функцию worldSetResizable.
+ +Окно программы непрерывно перерисовывается с частотой 24 кадра в секунду. Частоту перерисовки вы можете поменять при помощи функции worldSetFrameRate.
+ +Программа ведёт отсчёт времени и кадров с момента запуска вы можете получить значение этих счётчиков пи помощи функций worldGetSeconds и worldGetFrameCount. Длительность одного кадра можно узнать вызвав функцию worldGetTimeStep.
+ +Также Helianthus предоставляет некоторые общие функции которые не представлены в стандартном я зыке C:
+- помощники в генерации случайных чисел (randomNumber, randomFloat);
+- функции для чтения папок (см. openDirectory);
+- функции проверки существования файлов и папок — fileExists, directoryExists.
+- функции для создания всплывающие окна с текстовыми сообщениями (messageBox) и окон для ввода текста (askText, askTextEx).
draw — указатель на функцию перерисовки кадра. Функция быть работать без параметров и не должна возвращать значение.
+Задать функцию для выполнения каких-либо действий при завершении программы. Эта функция будет запущена только один раз при окончании работы программы, непосредственно перед завершением выполнения функции worldRun.
+ +deinit — указатель на функцию которая будет выполнена перед завершением программы.
+Запустить вашу программу на Helianthus. Перед вызовом этой функции нужно зарегистрировать функции начальной загрузки и перерисовки кадра (см. выше)
@@ -112,6 +144,30 @@ void draw() {height — новая ширина окна.
+Возвращает TRUE если пользователь имеет возможность изменять размер окна, в противном случае возвращает FALSE.
+ +Включает или выключает возможность измерения размеров окна пользователем. Когда включено пользователь может менять размер окна растягивая его, хватаясь за границы, и, появляется кнопка для разворачивания окна на весь экран.
+ +resizable — если TRUE, то разрешает пользователю изменять размер окна.
+ +Возвращает установленный ранее заголовок окна (строка текста).
+ +Установить заголовок окна.
+ +title — новый заголовок окна.
+Возвращает частоту перерисовки окна, количество кадров в секунду. См. также worldSetFrameRate.
@@ -134,7 +190,7 @@ void draw() {Возвращает количество секунд прошедшее с момента запуска программы (с момента вызова функции worldRun. См. также worldGetFrames.
+Возвращает количество секунд прошедшее с момента запуска программы (с момента вызова функции worldRun. См. также worldGetFrameCount.
Возвращает случайное дробное число в диапазоне от 0 до 1.
+Если папка существует, то функция читает список файлов в папке и сохраняет этот список в памяти. Возвращает значение типа Directory, которое является адресом в памяти — указателем на описание списка внутри библиотеки Helianthus.
+ +Если папка не существует или её по какой-то причине невозможно открыть, то функция возвращает нулевой указатель (NULL).
+ +Имена файлов можно получить при помощи функций directoryGetCount и directoryGet. После использования список нужно удалить функцией closeDirectory.
+ +Пример:
+ ++Directory dir = openDirectory("my/directory"); +if (dir) { + for(int i = 0; i < directoryGetCount(dir); ++i) { + printf("file: %s", directoryGet(dir, i)); + } + closeDirectory(dir); +} ++ + +
path — путь к папке.
+ +Удаляет ранее загруженный список файлов из памяти. См. также openDirectory.
+ +Важно: Скорее всего у вас в программе останется переменная в которой хранился указатель на список. Этот указатель станет недействителен — будет указывать на неопределённую область памяти — не на список файлов. Вы можете занести в эту переменную другую список файлов, но использовать старое значение переменной больше нельзя это приведёт к ошибкам и непредсказуемому поведению программы.
+ +Возвращает количество файлов в списке. См. также openDirectory и directoryGet.
+ +Возвращает имя файла с указанным номером из ранее открытого списка. См. также openDirectory и directoryGet.
+ +i — номер файла в списке.
+ +Возвращает TRUE (число 1) если файл по заданному пути существует, иначе возвращает FALSE (число 0).
+ +path — путь к проверяемому файлу.
+ +Возвращает TRUE (число 1) если папке по заданному пути существует, иначе возвращает FALSE (число 0).
+ +path — путь к проверяемой папке.
+ +Показать окно с текстовым сообщением. Работа программы будет приостановлена, до тех пор пока пользователь не закроет окно (нажав на кнопку OK, например).
+ +message — текстовое сообщение.
+ +Создаёт окно для ввода текста. Пользователю будет предоставлена для редактирования строка текста из параметра answer. Работа программы будет приостановлена, до тех пор пока пользователь не закончит ввод и не закроет окно. См. также askTextEx.
+ +question — сообщение для пользователя;
+answer — указатель на строку куда будет сохранён ответ, также этот параметр используется чтобы задать начальное значение для текстового поля;
+maxAnswerSize — максимальный размер для строки ответа в байтах включая ограничивающий нулевой байт.
Создаёт окно для ввода текста. Пользователю будет предоставлен для редактирования текст из параметра answer. Позволяет работать с многострочным текстом и прятать вводимые символы (для ввода пароля). Работа программы будет приостановлена, до тех пор пока пользователь не закончит ввод и не закроет окно. См. также askText.
+ +question — сообщение для пользователя;
+answer — указатель на строку куда будет сохранён ответ, также этот параметр используется чтобы задать начальное значение для текстового поля;
+maxAnswerSize — максимальный размер для строки ответа в байтах включая ограничивающий нулевой байт;
+multiline — если TRUE, то будет отображаться поле для ввода многострочного текста;
+password — если TRUE, то вводимые символы будут спрятаны (можно использовать для ввода паролей).