Turska is a compact and simple framework & UI component library.
It is especially aimed for games which typically have only modest
requirements for UI.
The library is meant to be used in connection with some other library
as a low-level platform abstraction/backend. Currently the library
has built-in support for both
(using D3D8/D3D9/OpenGL/OpenGLES), OpenGL (desktop 1.x), OpenGL ES (1.1)
and SDL (using OpenGL).
Checkout latest version from SVN hosted in Google Code:
- Immediate Mode Graphical User Interface (IMGUI) API:
- Supports double-pumping the IMGUI
- UI widgets: Button, Checkbox, TextField, Slider (horizontal or vertical, integer or real value type)
- Style interface for IMGUI widgets to allow custom visual style
- Drop region support (for implementing drag'n'drop)
- Active (down) and hot (hover) states for pointer movement
- Active key focus state
- Simple 2D image drawing API:
- Draw modes: Normal, Additive, Multiplicative, Pre-multiplied alpha
- Image and text alignment
- Custom image pivot
- Horizontal and vertical flip
- Rotate and scale transform
- Optional linear filtering or mipmaps
- Load-time image pixel dilation (to fix boundary blending errors)
- Support for image source rectangle
- Support for bitmap fonts generated by
AngelCode Bitmap Font Generator
- Support for bitmap fonts loaded from a vertical strip image of glyphs
- Word-wrapping printing with fonts
- 9-tile images (for scalable button styles)
- Automatic batching (when you draw consecutively with same blending and image)
- Rendering through Irrlicht engine (supports Direct3D8, Direct3D9, OpenGL and OpenGL ES)
- Rendering through OpenGL with SDL
- Portable C++
Copyright © 2003-2012 Jetro Lauha.
The library is dual-licensed with both new BSD-style license and LGPL.
See the LICENSE-BSD.txt and LICENSE-LGPL.txt
files in the turs2/doc/ project directory.
Projects using Turska
Version 2 and newer:
Older Turska version 0.1—1.0: