
TIGR是一个微小的跨平台图形库,为Windows,MacOS,Linux,iOS和Android提供了统一的API。
Tigr的核心是一个简单的Framebuffer库。最重要的是,我们为2D程序通常需要的常见任务提供了一些帮助者:
TIGR设计为小而独立。 “ Hello World”示例小于100KB:
| 平台 | 尺寸 |
|---|---|
| Windows X86_64 | 48k |
| Linux X86_64 | 43k |
| 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的小包装。仍然 - TIGR API保持不变!
为了使Tigr保持较小和专注,Android包装纸生活在单独的存储库中。
要开始使用Android,请前往Timogr Repo,然后继续。
在iOS上,TIGR被用作应用程序代表,可以在您的应用中使用几行代码使用。
构建iOS应用程序通常需要在Xcode中进行大量修补才能启动和运行。为了快速启动并运行,有一个iOS启动器项目,具有完全基于命令的工具链,还有用于调试的代码配置。
要开始iOS,请前往Timogrios Repo,然后继续。
注意:Tigogr和Timogrios中包含TIGR,无需单独安装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版本,如果您在Xcode项目中使用TIGR,则需要定义OBJC_OLD_DISPATCH_PROTOTYPES ,以避免objc_msgSend原型问题。