
TIGR est une petite bibliothèque graphique multiplateforme, fournissant une API unifiée pour Windows, MacOS, Linux, iOS et Android.
Le noyau de TigR est une bibliothèque FrameBuffer simple. En plus de cela, nous fournissons quelques aides aux tâches courantes dont les programmes 2D ont généralement besoin:
TIGR est conçu pour être petit et indépendant. L'exemple «Hello World» est inférieur à 100 Ko:
| Plate-forme | Taille |
|---|---|
| Windows x86_64 | 48k |
| Linux x86_64 | 43k |
| macOS Arm64 | 90k |
| macOS x86_64 | 74K |
Il n'y a pas de bibliothèques supplémentaires à inclure; Tout est cuit dans votre programme.
TIGR est libre de copier sans restrictions; Voir TigR.H.

Voici un exemple de programme Hello World. Pour plus d'informations, lisez simplement TigR.h pour voir les API disponibles.
#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 est fourni en tant que fichier .c .c unique et correspondant.
Pour l'utiliser, vous les déposez juste directement dans votre projet.
En raison du cycle de vie complexe et de l'emballage des applications Android (il n'y a pas une application Android de fichier source unique), un minuscule wrapper autour de TigR est nécessaire. Pourtant - l'API TIGR reste la même!
Pour garder le TigR aussi minuscule et concentré qu'il est, l'emballage Android vit dans un dépôt séparé.
Pour commencer Android, rendez-vous sur le repo Timogr et continuez-y.
Sur iOS, TIGR est implémenté en tant que délégué d'application, qui peut être utilisé dans votre application avec seulement quelques lignes de code.
La construction d'une application iOS nécessite généralement un peu de bricolage dans Xcode juste pour se mettre en service. Pour être opérationnel rapidement , il y a un projet de démarrage iOS avec une chaîne d'outils entièrement basée sur la ligne de commande, et des configurations de code contre le débogage.
Pour commencer sur iOS, rendez-vous sur le repo Timogrios et continuez-y.
Remarque: le TIGR est inclus dans Timogr et Timogrios, il n'est pas nécessaire d'installer TIGR séparément.
TIGR est livré avec une police bitmap intégrée, accessible par la variable tfont . Les polices personnalisées peuvent être chargées à partir de bitmaps à l'aide de tigrLoadFont . Un bitmap de police contient des rangées de caractères séparés par des bordures de même couleur. TIGR suppose que les bordures utilisent la même couleur que le pixel supérieur gauche dans le bitmap. Chaque personnage est supposé être dessiné en blanc sur un fond transparent pour faire fonctionner la teinture.
Utilisez l'outil Tigrfont pour créer vos propres polices bitmap à partir de fichiers TTF ou BDF.
Depuis la version 3.1 du TIGR, les feuilles de police codées par Unicode sont prises en charge, ce qui permet de rendre un glyphe dans vos polices. Cependant, le texte est tout simplement rendu LTR.
TIGR utilise un shader pixel intégré qui fournit quelques effets de stock contrôlés par tigrSetPostFX . Ces effets de stock peuvent être remplacés en appelant tigrSetPostShader par un shader personnalisé. Le shader personnalisé est sous la forme d'une fonction de shader: void fxShader(out vec4 color, in vec2 uv) et a accès aux quatre paramètres de tigrSetPostFX en tant que uniform vec4 appelé parameters .
Voir l'exemple de shader pour plus de détails.
Sur MacOS, en fonction apparemment de la version SDK et si vous utilisez TIGR dans un projet Xcode, vous devez définir OBJC_OLD_DISPATCH_PROTOTYPES pour éviter les problèmes avec les prototypes objc_msgSend .