IUP (software)

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

Lua error in package.lua at line 80: module 'strict' not found.

The IUP Portable User Interface is a computer software development kit that provides a portable, scriptable toolkit for GUI building using C, Perl, Lua and Nim. This allows rapid, zero-compile prototyping and refinement of deployable GUI applications.

IUP's purpose is to allow a program to be executed in different systems without any modification.[1]

It provides this functionality by binding Lua with its C/C++ code, or simply writing C to the API. It supports calling native Windows graphics, native Motif/Lesstif or GTK+ elements, or the developers' own CanvasDraw elements from the Lua scripts or natively in a C/C++ application.

Features

IUP
IUP-screenshot.png
Original author(s) Tecgraf/PUC-Rio in collaboration with Petrobras
Stable release 3.17 / 2015-11-30
Operating system Cross-platform
Type Software Development Kit
License MIT
Website IUP

IUP's distinguishing features include:

  • Built in support for Lua scripts calling IUP functions (controlled by Lua script) on Windows, and Linux installations of IUP,
  • Can also be used from native ANSI C, one of the few plain C capable toolkits,
  • Removal of the restriction of class/instance object types, but retaining the Lua-style hierarchy of inheritance.
  • An abstract layout model, in which sizes and positions are calculated from horizontal and vertical containers, rather than explicit X and Y coordinates. (Coordinate-based layout is also supported with a third container type.)
  • Small API, on the order of about 100 functions.
  • Interface elements are created before they are mapped to the native elements. This is the reverse of the usual situation for assembling GUI elements.
  • Available as source or pre-built static or dynamic libraries for wide variety of compilers, including turnkey example source.

The Lua scripting is done by binding Lua and IUPLua in (at least) a small C program called a host application. This program creates a Lua state, passes the Lua state to IUPLua for initialization, and then opens and executes a Lua script against the Lua state. Alternatively, the entire IUP state can be dynamically loaded via use of a Lua 'require' or 'package.loadlib' of IUPLua.

The script(s) can later be compiled with the luac compiler if desired.

Support for UTF-8 was added to the Windows target in November 2013 with the release of version 3.9. [1]

License/Copyright

IUP is liberally-licensed for free use, modification, sale, and redistribution under the MIT license.[2]

IUP has been in development at least since the 1.8 version issued in 1998. It was begun in collaboration with Petrobras.

Project sites

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.


<templatestyles src="Asbox/styles.css"></templatestyles>