|
@@ -1,97 +1,193 @@
|
|
|
+14.03.2023
|
|
|
+ Исправления для статической сборки OGG, Vorbis - убраны динамические зависимости.
|
|
|
+ Исправлены проблемы работы виртуальной клавиатуры в мобильных системах.
|
|
|
+ Включена поддержка виртуальной клавиатуры для мобильных систем, её можно включить и в настольных системах (может быть больше глюков чем для мобильных систем).
|
|
|
+
|
|
|
+10.03.2023
|
|
|
+ Корректировка ZenGL для MacOS.
|
|
|
+
|
|
|
+06.03.2023
|
|
|
+ Удаление libGLU.so для мобильных систем.
|
|
|
+ Корректирование демоверсий для Android.
|
|
|
+
|
|
|
+07.02.2023
|
|
|
+Модуль "zgl_screen"
|
|
|
+ Для Linux перебрана процедура "scr_GetResList". Не доделана до конца. Обрабатывает только одно окно, а ZenGL при этом может отображать окно на другом мониторе.
|
|
|
+
|
|
|
+12.01.2023
|
|
|
+ Исправления файлов "windows_prebuild.bat" и "linux_prebuild.sh" - теперь создаются папки для копирования динамических библиотек и файлов данных (спасибо github он удаляет пустые папки).
|
|
|
+
|
|
|
+02.01.2023
|
|
|
+Модуль "zgl_opengles_all"
|
|
|
+ Использующаяся процедура "glColor4f" переименована в "_glColor4f". Все вызовы данной процедуры так же переименованы (нужно только внутри ZenGL).
|
|
|
+ Процедура "glColor4f" была возвращена как стандартная для OpenGL ES (не путать с переименованной выше!).
|
|
|
+
|
|
|
+хх.12.2022
|
|
|
+Исправлена ошибка при первичном создании полноэкранного окна.
|
|
|
+
|
|
|
+20.10.2022
|
|
|
+Модуль "zgl_utils".
|
|
|
+ Процедуре "utf8_toUnicode" возвращено прежнее название "utf8_GetID", а процедура "Unicode_toUTF8" переименована в "ID_toUTF8".
|
|
|
+ Работа процедур не изменилась.
|
|
|
+
|
|
|
+ Инициализации текста (текстурного текста) - теперь шкала приближена к пиксельной составляющей. 1 пиксель примерно равен 1 пикселю при индексации.
|
|
|
+ Это важно в процедурах setFontTextScale и setTextFontScaleEx - напрямую работающими с установкой размера шрифта.
|
|
|
+
|
|
|
+03.09.2022
|
|
|
+Модуль "zgl_tiles_2d"
|
|
|
+ Убран код конфликтующий при работе с камерой. Этот код или пересмотреть или убрать (больше не восстанавливать).
|
|
|
+
|
|
|
+02.09.2022
|
|
|
+Модуль "zgl_camera_2d".
|
|
|
+ Процедура "cam2d_Init" переименована в "cam2d_DefInit".
|
|
|
+ Добавлена новая процедура с возможностью задания данных камере "procedure cam2d_Init(x, y, angle, zoom: Single; out Camera: zglTCamera2D);"
|
|
|
+ Добавлена процедура "procedure cam2d_CenterSet(Camera: zglPCamera2D; x, y: Single);" - с её помощью можно задать координаты центра камеры. Но вы должны их или точно вычислить перед этим или точно знать заданную точку!
|
|
|
+ Правки к коде, корректирующие работу камеры.
|
|
|
+
|
|
|
+30.08.2022
|
|
|
+Модуль "zglmouse".
|
|
|
+ Добавлена функция "mouse_Move", возвращающая булев результат.
|
|
|
+
|
|
|
+26.08.2022
|
|
|
+Модуль "zglmouse".
|
|
|
+"mouse_Lock(X: Integer = - 1; Y: Integer = - 1)" - переименована в "mouse_LockInXY(X: Integer = - 1; Y: Integer = - 1)".
|
|
|
+
|
|
|
+30.07.2022
|
|
|
+Модуль "zgl_mouse".
|
|
|
+ Добавлена булева переменнная "mouseMove" и "function mouse_Move: Boolean;" - показывающие движется мышь или нет.
|
|
|
+
|
|
|
+25.07.2022
|
|
|
+Добавлен новый модуль "zgl_primitives_2dEX" - расширенные примитивы.
|
|
|
+ На данное время позволяют рисовать широкие линии, цепочку широких линий и квадрат/параллелограм (с прямыми углами) с широким бордюром. Параллелограм прозрачный или залитый внутри. У залитого можно отметить возможность флага "FX2D_VCA" либо для бордюра, либо для внутренней части.
|
|
|
+
|
|
|
+Модуль "zgl_text"
|
|
|
+ добавлена функция "text_GetXY(fnt: LongWord; const Rect: zglTRect2D; const Text: UTF8String; Flags: LongWord = TEXT_HALIGN_CENTER or TEXT_VALIGN_CENTER): zglTPoint2D;" - для тех моментов, когда текст идёт в одну строку и статичен (либо перемещается вместе с кватратом/прямоугольником). Достаточно для текста вызвать данную процедуру и получить координаты начала прорисовки текста (теперь вызывать каждый раз "text_drawInRect" не нужно) и прорисовывать вызовом "text_Draw".
|
|
|
+ Данная функция не решает проблем с переносом текста на другую строку.
|
|
|
+
|
|
|
+------------------------------------------------------------------------------------------
|
|
|
ZenGL 3.29 - обновления:
|
|
|
+ добавлена процедура перехвата клавиши Escape, для выхода из программы:
|
|
|
+ "procedure app_PKeyEscape" - регистрируется с помощью "zgl_Reg" и флага "SYS_KEYESCAPE".
|
|
|
|
|
|
-Обновлены демки под Android.
|
|
|
-Изменён java-код.
|
|
|
-Виртуальная клавиатура настроена под Android. (виртуальные джойстики не редактировались, это в процессе).
|
|
|
-Исправлены ошибки при работе с виртуальной клавиатурой.
|
|
|
-Введены процедуры для показа/скрытия клавиатуры (для поля ввода не обязательно, там это происходит автоматически).
|
|
|
+Модуль gegl_color:
|
|
|
+ "procedure Set_numColor(numColor: LongWord)" заменена на "procedure Set_ToNumColor(numColor: LongWord)"
|
|
|
+
|
|
|
+ добавлены функции для работы с каждым элементом цвета в отдельности:
|
|
|
+ "function Get_ElColor(num, El: LongWord): LongWord;"
|
|
|
+ "function Set_ElColor(num, El: LongWord; value: Byte): Boolean;"
|
|
|
|
|
|
-!!! Обратить внимание, для мобильных систем поле ввода будет активироваться только с первого касания. Остальные пальцы не активируют поле ввода. Если это необходимо, то можно будет этот момент доработать.
|
|
|
+ исправлены:
|
|
|
+ "procedure Correct_Color(num, Color: LongWord)"
|
|
|
+ "function Get_Color(num: LongWord): LongWord"
|
|
|
+ - при работе с ними была была не верно обрабатываемая информация.
|
|
|
|
|
|
-Исправлены ошибки поля ввода.
|
|
|
+В модуль "zgl_utils" добавлены функции:
|
|
|
+ "function u_FloatToStr(Value: Double; Digits: Integer = 2): UTF8String"
|
|
|
+ "function u_StrToFloat(const Value: UTF8String): Double"
|
|
|
+ для работы с числами двойной точности.
|
|
|
|
|
|
---------------------------------------------------------------------------------
|
|
|
-Всё что связано с дисплейными списками было удалено из минимальной версии OpenGL. И теперь относится только к основной-устаревшей.
|
|
|
+ Процедура "procedure fx2d_SetVertexes(x1, y1, x2, y2, x3, y3, x4, y4: Single)" заменена на "procedure fx2d_SetVertexes(xLeft, yUp, xRight, yDown: Single)" и теперь работает только с параллелограммами.
|
|
|
+ Причина изменения: ускорение работы программы. Для работы с произвольными четырёхугольниками, надо работать с треугольниками.
|
|
|
+ Требует дальнейших изменений?! Добавить обработку подобным образом треугольников?!
|
|
|
|
|
|
-Внимание!!! Нижеследующие изменения не затрагивали demo12!!! И при её использовании (render_target) я не гарантирую точной работы вашего кода для OpenGL. Нужно знать, требуется это или нет. Потому что 12-я демка была создана именно для 2D.
|
|
|
---------------------------------------------------------------------------------
|
|
|
-ZenGL 3.29 - обновления:
|
|
|
+ Добавлен дефайн "KEYBOARD_OLD_FUNCTION". Позволяет работать со старыми функциями клавиатуры и полем ввода. Смотрите третью демку.
|
|
|
+
|
|
|
+ Поле ввода теперь более самодостаточное. Для работы с ним нужно только загрузить шрифт и указать его для поля ввода. Размер шрифта зависит от самого поля ввода.
|
|
|
+
|
|
|
+ Обновлены демки под Android.
|
|
|
+ Изменён java-код.
|
|
|
+ Виртуальная клавиатура настроена под Android. (виртуальные джойстики не редактировались, это в процессе).
|
|
|
+ Исправлены ошибки при работе с виртуальной клавиатурой.
|
|
|
+ Введены процедуры для показа/скрытия клавиатуры (для поля ввода не обязательно, там это происходит автоматически).
|
|
|
|
|
|
-Процедура "scr_SetViewPort" заменена на "scr_SetViewPort2D".
|
|
|
-Введена динамическая процедура "SetViewPort". По умолчанию она использует процедуру "scr_SetViewPort2D".
|
|
|
-Добавлен флаг "OGL_VIEW_PORT" для регистрации посредством "zgl_Reg" динамической процедуры "SetViewPort".
|
|
|
+ !!! Обратить внимание, для мобильных систем поле ввода будет активироваться только с первого касания. Остальные пальцы не активируют поле ввода. Если это необходимо, то можно будет этот момент доработать.
|
|
|
|
|
|
-Модифицирована работа с LCL. При сильном желании, теперь размеры формы можно менять. Смотрите процедуру "FormResize".
|
|
|
+ Исправлены ошибки поля ввода.
|
|
|
|
|
|
-Добавлена пользовательская объявляемая процедура для MatrixMode - "SetUserMode".
|
|
|
-Изменена процедура установки для MatrixMode. "procedure SetCurrentMode(mode: LongWord = Mode2D);"
|
|
|
-Изменена процедура "SetCurrentMode" - теперь можно выбирать режим для MatrixMode (2D, 3D, пользовательский).
|
|
|
-Добавлены рабочие флаги "ModeUser", "Mode2D" и "Mode3D" для процедуры "SetCurrentMode".
|
|
|
-Добавлен флаг "OGL_USER_MODE" для регистации посредством "zgl_Reg" пользовательской процедуры "SetUserMode".
|
|
|
-Теперь пользователь может создать сам нужную ему процедуру для использования используемойвидовой модели в OpenGL.
|
|
|
+------------------------------------------------------------------------------------------
|
|
|
+Всё что связано с дисплейными списками было удалено из минимальной версии OpenGL. Теперь относится только к основной-устаревшей.
|
|
|
|
|
|
---------------------------------------------------------------------------------
|
|
|
+Внимание!!! Нижеследующие изменения не затрагивали demo12!!! И при её использовании (render_target) я не гарантирую точной работы вашего кода для OpenGL. Нужно знать, требуется это или нет. Потому что 12-я демка была создана именно для 2D.
|
|
|
+
|
|
|
+------------------------------------------------------------------------------------------
|
|
|
+ZenGL 3.29 - обновления:
|
|
|
+Модуль "zgl_screen"
|
|
|
+ "procedure scr_SetViewPort" заменена на "procedure scr_SetViewPort2D".
|
|
|
+ Введена динамическая "procedure SetViewPort". По умолчанию она использует "procedure scr_SetViewPort2D".
|
|
|
+ Добавлен флаг "OGL_VIEW_PORT" для регистрации, посредством "procedure zgl_Reg", динамической "procedure SetViewPort".
|
|
|
+
|
|
|
+ Модифицирована работа с LCL. При сильном желании, теперь размеры формы можно менять.
|
|
|
+ Смотрите "procedure FormResize".
|
|
|
+
|
|
|
+Модуль "zgl_render"
|
|
|
+ Добавлена пользовательская объявляемая процедура для MatrixMode - "SetUserMode".
|
|
|
+ Изменена процедура установки для MatrixMode - "procedure SetCurrentMode(mode: LongWord = Mode2D);" - теперь можно выбирать режим для MatrixMode (2D, 3D, пользовательский).
|
|
|
+ Добавлены рабочие флаги "ModeUser", "Mode2D" и "Mode3D" для "procedure SetCurrentMode".
|
|
|
+ Добавлен флаг "OGL_USER_MODE" для регистации, посредством "procedure zgl_Reg", пользовательской "procedure SetUserMode".
|
|
|
+ Теперь пользователь может создать сам нужную ему процедуру для использования используемой видовой модели в OpenGL.
|
|
|
+
|
|
|
+------------------------------------------------------------------------------------------
|
|
|
ZenGL 3.29
|
|
|
|
|
|
Добавлено:
|
|
|
-- процедура сброса таймера. zgl_Reg(SYS_RESET, @gameReset) - задействована для режима паузы. Если вы работаете с физикой и с точным временем.
|
|
|
-- добавлены прорисовываемые примитивы. Циклическая или ломанная линии pr2d_LineSORL (Strip or Loop line). Треугольник pr2d_Triangle. Произвольный четырёхугольник pr2d_quad.
|
|
|
-- добавлена функция пересечения двух прямоугольников (вертикальных или горизонтальных) по двум точкам col2d_RectBPEP (Begin point - End point).
|
|
|
+ - процедура сброса таймера. zgl_Reg(SYS_RESET, @gameReset) - задействована для режима паузы. Если вы работаете с физикой и с точным временем.
|
|
|
+ - добавлены прорисовываемые примитивы. Циклическая или ломанная линии pr2d_LineSORL (Strip or Loop line). Треугольник pr2d_Triangle. Произвольный четырёхугольник pr2d_quad.
|
|
|
+ - добавлена функция пересечения двух прямоугольников (вертикальных или горизонтальных) по двум точкам col2d_RectBPEP (Begin point - End point).
|
|
|
|
|
|
-- добавлены комментарии и переводы к ним.
|
|
|
+ - добавлены комментарии и переводы к ним.
|
|
|
|
|
|
Green Engine:
|
|
|
-- модуль gegl_Color - для ускоренной работы с цветом. Используется в основном для примитивов zgl_primitives_2d. Все значения
|
|
|
-- в поле ввода добавлены ограничивающие функции. Так же есть возможность создать самим ограничивающие функции.
|
|
|
+ - модуль gegl_Color - для ускоренной работы с цветом. Используется в основном для примитивов zgl_primitives_2d. Все значения
|
|
|
+ - в поле ввода добавлены ограничивающие функции. Так же есть возможность создать самим ограничивающие функции.
|
|
|
|
|
|
Работа с экраном:
|
|
|
-- добавлена функция для установки дальности прорисовки для 2D - Set2DNearFar. И объекты можно располагать по "глубине" экрана (по координате Z). При включении теста глубины, дальние объекты будут перекрыты ближними (на данное время не проверял). Эту функцию можно использовать и для 3D, но учитывать что Near не должно быть меньше нуля.
|
|
|
-- при включении/выключении флага DEPTH_BUFFER (zgl_Enable/zgl_Disable), включается очистка GL_DEPTH_BUFFER_BIT. Что позволяет правильно работать с проверкой глубины "https://www.opengl.org/archives/resources/faq/technical/depthbuffer.htm" - для ознакомления.
|
|
|
-- в функциях zgl_Enable и zgl_Disable добавлен флаг XY_IN_CENTER_WINDOW. При его включении X = 0, Y = 0 будут в центре экрана. (внимание, процедуры прорисовки примитивов не перерабатывались под данный флаг, потому может быть смещение примитивов на 1 пиксель при прорисовке).
|
|
|
+ - добавлена функция для установки дальности прорисовки для 2D - Set2DNearFar. И объекты можно располагать по "глубине" экрана (по координате Z). При включении теста глубины, дальние объекты будут перекрыты ближними (на данное время не проверял). Эту функцию можно использовать и для 3D, но учитывать что Near не должно быть меньше нуля.
|
|
|
+ - при включении/выключении флага DEPTH_BUFFER (zgl_Enable/zgl_Disable), включается очистка GL_DEPTH_BUFFER_BIT. Что позволяет правильно работать с проверкой глубины "https://www.opengl.org/archives/resources/faq/technical/depthbuffer.htm" - для ознакомления.
|
|
|
+ - в функциях zgl_Enable и zgl_Disable добавлен флаг XY_IN_CENTER_WINDOW. При его включении X = 0, Y = 0 будут в центре экрана. (внимание, процедуры прорисовки примитивов не перерабатывались под данный флаг, потому может быть смещение примитивов на 1 пиксель при прорисовке).
|
|
|
|
|
|
OpenGL
|
|
|
-- добавлены процедуры OpenGL для работы с дисплейными списками. Так же добавлены функции для работы с буферами в минимальную версию OpenGL.
|
|
|
-- добавлен модуль "zgl_GLX_WGL.pas" и отделены функции из модуля "zgl_opengl_all.pas" для работы с GLX и WGL. Всё обновлено в соответствии с окончанием 2021-го года, за исключением определённых заголовков.
|
|
|
-- добавлен модуль "zgl_GLU.pas", отделены функции из модуля "zgl_opengl_all.pas" для работы с GLU.
|
|
|
-- добавлен модуль "zgl_pasOpenGL.pas". Он обновлён согласно последним изменениям на конец 2021 года (возможны ошибки, требуется тестирование). По умолчанию включен минимальный набор OpenGL спользуемый в ZenGL.
|
|
|
-- добавлен файл конфигурации для модулей "zgl_GLX_WGL.pas", "zgl_pasOpenGL.pas" - "GLdefine.cfg" и файл с константами и типами "zgl_gltypeconst.pas".
|
|
|
-- добавлена процедура procedure "SetGLVersionAndFlags({$IfNDef MAC_COCOA}major, minor: Integer; flag: LongWord = COMPATIBILITY_VERSION{$Else}mode: LongWord{$EndIf});" для Linux и Windows введена возможность создания контекста для OpenGL 3+ (в MacOS она была сразу, изменено название).
|
|
|
+ - добавлены процедуры OpenGL для работы с дисплейными списками. Так же добавлены функции для работы с буферами в минимальную версию OpenGL.
|
|
|
+ - добавлен модуль "zgl_GLX_WGL.pas" и отделены функции из модуля "zgl_opengl_all.pas" для работы с GLX и WGL. Всё обновлено в соответствии с окончанием 2021-го года, за исключением определённых заголовков.
|
|
|
+ - добавлен модуль "zgl_GLU.pas", отделены функции из модуля "zgl_opengl_all.pas" для работы с GLU.
|
|
|
+ - добавлен модуль "zgl_pasOpenGL.pas". Он обновлён согласно последним изменениям на конец 2021 года (возможны ошибки, требуется тестирование). По умолчанию включен минимальный набор OpenGL спользуемый в ZenGL.
|
|
|
+ - добавлен файл конфигурации для модулей "zgl_GLX_WGL.pas", "zgl_pasOpenGL.pas" - "GLdefine.cfg" и файл с константами и типами "zgl_gltypeconst.pas".
|
|
|
+ - добавлена процедура procedure "SetGLVersionAndFlags({$IfNDef MAC_COCOA}major, minor: Integer; flag: LongWord = COMPATIBILITY_VERSION{$Else}mode: LongWord{$EndIf});" для Linux и Windows введена возможность создания контекста для OpenGL 3+ (в MacOS она была сразу, изменено название).
|
|
|
|
|
|
-- многие типы перенесены в модуль zgl_types.
|
|
|
-- структуры разделены на 2D и 3D. И примитивы так же разделены на 2D и 3D. Точнее в конце структур/примитивов они добавлены - изменения не значительны (как пример: zglTRect -> zglTRect2D).
|
|
|
+ - многие типы перенесены в модуль zgl_types.
|
|
|
+ - структуры разделены на 2D и 3D. И примитивы так же разделены на 2D и 3D. Точнее в конце структур/примитивов они добавлены - изменения не значительны (как пример: zglTRect -> zglTRect2D).
|
|
|
|
|
|
Изменено:
|
|
|
-- для таймеров изменены рабочие константы на t_Start, t_SleepToStart, t_Stop, t_SleepToStop. Во избежание случайных совпадений.
|
|
|
-- для мыши возращены изначальные функции и константы (работа функций не изменена), для совместимости и удобства.
|
|
|
-- для тачпада тоже изменено, но не проверено.
|
|
|
+ - для таймеров изменены рабочие константы на t_Start, t_SleepToStart, t_Stop, t_SleepToStop. Во избежание случайных совпадений.
|
|
|
+ - для мыши возращены изначальные функции и константы (работа функций не изменена), для совместимости и удобства.
|
|
|
+ - для тачпада тоже изменено, но не проверено.
|
|
|
|
|
|
Недоработки!
|
|
|
-Проблемы работы когда у вас два монитора.
|
|
|
-Linux: решить проблему при переключении разрешений экрана. Используется XRandr - поэтому надо делать проверку на количество мониторов и местоположение на мониторе. Полноэкранный режим - это окно для двух мониторов? Или особое свойство работы XRandr? Поиск решения проблемы отложен.
|
|
|
+ Проблемы работы когда у вас два монитора.
|
|
|
+ Linux: решить проблему при переключении разрешений экрана. Используется XRandr - поэтому надо делать проверку на количество мониторов и местоположение на мониторе. Полноэкранный режим - это окно для двух мониторов? Или особое свойство работы XRandr? Поиск решения проблемы отложен.
|
|
|
|
|
|
---------------------------------------------------------------------------------
|
|
|
+------------------------------------------------------------------------------------------
|
|
|
Изменения в версии 3.28.
|
|
|
-- Добавлена библиотека Green Engine собственной разработки. Это вроде как дополнительное API для библиотеки ZenGL. Разрабатывалась ранее и клавиатура из Green Engine была добавлена в более ранние версии. Внимание!!! Работает только с ZenGL!!!
|
|
|
-- В данной версии GE создано независимое от платформы поле ввода. Должно работать на всех платформах, но на мобильных платформах и MacOS не проверено. Будет проверено и добавлено в исправления.
|
|
|
+ - Добавлена библиотека Green Engine собственной разработки. Это вроде как дополнительное API для библиотеки ZenGL. Разрабатывалась ранее и клавиатура из Green Engine была добавлена в более ранние версии. Внимание!!! Работает только с ZenGL!!!
|
|
|
+ - В данной версии GE создано независимое от платформы поле ввода. Должно работать на всех платформах, но на мобильных платформах и MacOS не проверено. Будет проверено и добавлено в исправления.
|
|
|
|
|
|
-- В дальнейшем ожидается доработка библиотеки GE.
|
|
|
+ - В дальнейшем ожидается доработка библиотеки GE.
|
|
|
|
|
|
-- изменены названия малой части процедур/функций, для более визуального восприятия. В частности utf8_GetID заменена на utf8_toUnicode так как она как раз переводит UTF8 в юникод.
|
|
|
+ - изменены названия малой части процедур/функций, для более визуального восприятия. В частности utf8_GetID заменена на utf8_toUnicode так как она как раз переводит UTF8 в юникод.
|
|
|
|
|
|
-- добавлена функция function Unicode_toUTF8(Symb: LongWord): UTF8String; перевода из юникода в UTF8.
|
|
|
+ - добавлена функция function Unicode_toUTF8(Symb: LongWord): UTF8String; перевода из юникода в UTF8.
|
|
|
|
|
|
-- изменена и ускорена работа с текстом.
|
|
|
- - теперь вы не получите ошибку кода, если символа не существует при загруженном шрифте. Все не существующие символы будут отмечены знаком "?".
|
|
|
- - вы сможете писать на любом языке, но, если шрифт для этого не предназначен, все "не печатаемые" (не определённые в шрифте) символы будут так же отмечены знаком "?". При сохранинии такого текста в файл, вероятнее всего он будет выведен правильно.
|
|
|
- - в демонстрационной версии 6, показана работа со шрифтами. Если вам нужен шрифт определённого размера, вы должны с ним работать через procedure setFontTextScale(Index: LongWord; fnt: Byte);, она позволит вам более быстро работать с данным шрифтом. Если не постоянно, то смотрите демонстрационную версию.
|
|
|
-- дополнен ряд функций для работы с текстом-шрифтами. Смотрите в файле zgl_text.pas.
|
|
|
-- созданы процедуры для загрузки/сохранения текста procedure txt_LoadFromFile(const FileName: UTF8String; out Buf: UTF8String);, procedure txt_SaveFromFile(const FileName: UTF8String; const Buf: UTF8String);.
|
|
|
+ - изменена и ускорена работа с текстом.
|
|
|
+ - теперь вы не получите ошибку кода, если символа не существует при загруженном шрифте. Все не существующие символы будут отмечены знаком "?".
|
|
|
+ - вы сможете писать на любом языке, но, если шрифт для этого не предназначен, все "не печатаемые" (не определённые в шрифте) символы будут так же отмечены знаком "?". При сохранинии такого текста в файл, вероятнее всего он будет выведен правильно.
|
|
|
+ - в демонстрационной версии 6, показана работа со шрифтами. Если вам нужен шрифт определённого размера, вы должны с ним работать через procedure setFontTextScale(Index: LongWord; fnt: Byte);, она позволит вам более быстро работать с данным шрифтом. Если не постоянно, то смотрите демонстрационную версию.
|
|
|
+ - дополнен ряд функций для работы с текстом-шрифтами. Смотрите в файле zgl_text.pas.
|
|
|
+ - созданы процедуры для загрузки/сохранения текста procedure txt_LoadFromFile(const FileName: UTF8String; out Buf: UTF8String);, procedure txt_SaveFromFile(const FileName: UTF8String; const Buf: UTF8String);.
|
|
|
|
|
|
-- были исправлены некоторые ошибки в коде и изменены части работы с клавиатурой. keysLast (bold) - сейчас работает только для печатаемых клавиш.
|
|
|
+ - были исправлены некоторые ошибки в коде и изменены части работы с клавиатурой. keysLast (bold) - сейчас работает только для печатаемых клавиш.
|
|
|
|
|
|
-- введена процедура постотрисовки. Регистрируется с помощью zgl_Reg и флагом SYS_POSTDRAW. Срабатываете данная функция только после того как выведется всё в окно. Бывает нужно, когда нужно работать с видеокартой, но не нужно ни чего выводить.
|
|
|
+ - введена процедура постотрисовки. Регистрируется с помощью zgl_Reg и флагом SYS_POSTDRAW. Срабатываете данная функция только после того как выведется всё в окно. Бывает нужно, когда нужно работать с видеокартой, но не нужно ни чего выводить.
|
|
|
|
|
|
-- теперь обработка клавиатуры/мыши/тачпада необходимо производить с помощью регистрируемой процедуры и флагом SYS_EVENTS. Производить их "очистку" больше нет необходимости.
|
|
|
-- добавленны комментарии в некоторые модули. Постарался сразу же добавить и на английском языке.
|
|
|
+ - теперь обработка клавиатуры/мыши/тачпада необходимо производить с помощью регистрируемой процедуры и флагом SYS_EVENTS. Производить их "очистку" больше нет необходимости.
|
|
|
+ - добавленны комментарии в некоторые модули. Постарался сразу же добавить и на английском языке.
|
|
|
|
|
|
-- были исправления в части кода, о которых уже забыл... )))
|
|
|
+ - были исправления в части кода, о которых уже забыл... )))
|