
TIGR-это кроссплатформенная графическая библиотека, предоставляющая унифицированный API для Windows, MacOS, Linux, iOS и Android.
Ядро TIGR - простая библиотека кадров. Кроме того, мы предоставляем несколько помощников для общих задач, которые обычно нуждаются в двухмерных программах:
TIGR разработан, чтобы быть маленьким и независимым. Пример «Hello World» составляет менее 100 КБ:
| Платформа | Размер |
|---|---|
| Windows x86_64 | 48к |
| Linux x86_64 | 43к |
| MacOS ARM64 | 90K |
| macOS x86_64 | 74K |
Там нет дополнительных библиотек для включения; Все запечено прямо в вашей программе.
TIGR может бесплатно копировать без ограничений; Смотрите Tigr.H.

Вот пример программы Hello World. Для получения дополнительной информации просто прочитайте Tigr.h, чтобы увидеть доступные API.
#include "tigr.h"
int main ( int argc , char * argv [])
{
Tigr * screen = tigrWindow ( 320 , 240 , "Hello" , 0 );
while (! tigrClosed ( screen ))
{
tigrClear ( screen , tigrRGB ( 0x80 , 0x90 , 0xa0 ));
tigrPrint ( screen , tfont , 120 , 110 , tigrRGB ( 0xff , 0xff , 0xff ), "Hello, world." );
tigrUpdate ( screen );
}
tigrFree ( screen );
return 0 ;
}TIGR поставляется в виде единого .c и соответствующего файла .h.
Чтобы использовать его, вы просто бросаете их прямо в свой проект.
Из -за сложного жизненного цикла и упаковки приложений Android (нет такой вещи, как одно исходное приложение для Android), необходима крошечная обертка вокруг TIGR. Тем не менее - API TIGR остается прежним!
Чтобы TIGR был таким же крошечным и сфокусированным, как он есть, обертка Android живет в отдельном репо.
Чтобы начать на Android, зайдите в Timogry Repo и продолжайте там.
На iOS TIGR реализуется как делегат приложения, который можно использовать в вашем приложении всего за несколько строк кода.
Создание приложения для iOS обычно требуется немного возиться в XCode, чтобы встать и работать. Чтобы быстро встать и запустить, существует проект iOS стартер с полностью на основе командной цепочки инструментов и конфигурации кода VS для отладки.
Чтобы начать с iOS, отправляйтесь в репо и продолжитесь там.
Примечание: TIGR включен в Timogr и Timogrio, нет необходимости устанавливать TIGR отдельно.
TIGR поставляется со встроенным шрифтом растрового изображения, доступным к переменной tfont . Пользовательские шрифты могут быть загружены из растровых карт с помощью tigrLoadFont . Фонд растровой карты содержит ряды символов, разделенных одинаковыми границами. TIGR предполагает, что границы используют тот же цвет, что и верхний левый пиксель в растровом карте. Предполагается, что каждый персонаж нарисован в белом на прозрачном фоне, чтобы сделать тонирование.
Используйте инструмент Tigrfont, чтобы создать свои собственные шрифты растрового изображения из файлов шрифтов TTF или BDF.
Со времен TIGR версии 3.1 поддерживаются листы шрифтов, кодируемых Unicode, что позволяет рендерировать любой глиф в ваших шрифтах. Текст по -прежнему просто визуализирован LTR, хотя.
TIGR использует встроенный пиксельный шейдер, который обеспечивает несколько эффектов запаса, как это контролируется tigrSetPostFX . Эти эффекты запаса могут быть заменены, вызывая tigrSetPostShader с помощью пользовательского шейдера. Пользовательский шейдер находится в форме функции шейдера: void fxShader(out vec4 color, in vec2 uv) и имеет доступ к четырем параметрам от tigrSetPostFX в качестве uniform vec4 , называемых parameters .
Смотрите пример шейдера для получения более подробной информации.
На MacOS, по -видимому, в зависимости от версии SDK и если вы используете TIGR в проекте XCODE, вам необходимо определить OBJC_OLD_DISPATCH_PROTOTYPES , чтобы избежать проблем с прототипами objc_msgSend .