1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- // Rus: данная демонстрация создаёт пустое окно. Экран будет чёрным.
- // Eng: this demo creates an empty window. The screen will be black.
- library demo01;
- // RU: Этот файл содержит некоторые настройки(например использовать ли статическую компиляцию) и определения ОС под которую происходит
- // компиляция
- // EN: This file contains some options(e.g. whether to use static compilation) and defines of OS for which is compilation going.
- {$I zglCustomConfig.cfg}
- uses
- zgl_application,
- zgl_screen,
- zgl_window,
- zgl_timers,
- zgl_utils,
- zgl_types,
- zgl_log
- ;
- var
- DirApp : UTF8String;
- DirHome : UTF8String;
- TimeStart : Byte = 0;
- procedure Init;
- begin
- // RU: Тут можно выполнять загрузку основных ресурсов.
- // EN: Here can be loading of main resources.
- end;
- procedure Draw;
- begin
- // RU: Тут "рисуем" что угодно :)
- // EN: Here "draw" anything :)
- end;
- procedure Update( dt : Double );
- begin
- // RU: Эта функция наземенима для реализация плавного движения чего-либо, т.к. точность таймеров ограничена FPS.
- // EN: This function is the best way to implement smooth moving of something, because accuracy of timers are restricted by FPS.
- end;
- procedure Timer;
- begin
- //
- end;
- procedure Restore;
- begin
- // RU: Восстановление ресурсов нужно реализовывать тут.
- // EN: Restoring of resources should be implemented here.
- end;
- procedure Java_zengl_android_ZenGL_Main( var env; var thiz ); cdecl;
- begin
- // Для загрузки/создания каких-то своих настроек/профилей/etc. можно получить путь к домашенему каталогу пользователя, или к исполняемому
- // файлу(для GNU/Linux - изменено, если будет программа содержать свой собственный путь, то путь до самого исполняемого файла будет прописан).
- // На Android DIRECTORY_APPLICATION возвращает полный путь к apk-файлу
- // EN: For loading/creating your own options/profiles/etc. you can get path to user home directory, or to executable file(not works for GNU/Linux).
- // On Android DIRECTORY_APPLICATION returns full path to apk-file
- DirApp := utf8_Copy( PAnsiChar( zgl_Get( DIRECTORY_APPLICATION ) ) );
- DirHome := utf8_Copy( PAnsiChar( zgl_Get( DIRECTORY_HOME ) ) );
- // RU: Создаем таймер с интервалом 1000мс.
- // EN: Create a timer with interval 1000ms.
- TimeStart := timer_Add( @Timer, 100, t_Start);
- // RU: Регистрируем процедуру, что выполнится сразу после инициализации ZenGL.
- // EN: Register the procedure, that will be executed after ZenGL initialization.
- zgl_Reg( SYS_LOAD, @Init );
- // RU: Регистрируем процедуру, где будет происходить рендер.
- // EN: Register the render procedure.
- zgl_Reg( SYS_DRAW, @Draw );
- // RU: Регистрируем процедуру, которая будет принимать разницу времени между кадрами.
- // EN: Register the procedure, that will get delta time between the frames.
- zgl_Reg( SYS_UPDATE, @Update );
- // RU: Очень важная для Android функция, которая вызывается при возврате фокуса приложению если необходимо восстановить ресурсы.
- // EN: Very important function for Android, which will be called every time when application gets the focus and resources need to restore.
- zgl_Reg( SYS_ANDROID_RESTORE, @Restore );
- // RU: Указываем первоначальные настройки.
- // изменено, указывать ни чего не надо, либо можем указать размеры экрана с которым будем работать.
- // EN: Set screen options.
- scr_SetOptions();
- end;
- exports
- // RU: Эта функция должна быть реализована проектом, который использует ZenGL
- // EN: This function should be implemented by project which is use ZenGL
- Java_zengl_android_ZenGL_Main,
- // RU: Функции реализуемые ZenGL, которые должны быть экспортированы
- // EN: Functions which are implemented by ZenGL and should be exported
- {$I android_export.inc}
- End.
|