IUP(ソフトウェア)
| IUP | |
|---|---|
| 原作者 | テクグラフ/ PUC-Rioとペトロブラスの共同事業 |
| 安定版リリース | 3.32 / 2025年1月6日 |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | ソフトウェア開発キット |
| ライセンス | マサチューセッツ工科大学 |
| Webサイト | www |
IUPポータブルユーザーインターフェースは、 C、Perl、Lua、Nim、Zigなどのプログラミング言語を使用してグラフィカルユーザーインターフェース(GUI)を構築するための移植可能なスクリプト可能なツールキットを提供するコンピュータソフトウェア開発キットです。 [ 1 ]これにより、展開可能なGUIアプリケーションの迅速なゼロコンパイルプロトタイピングと改良が可能になります。
IUPの目的は、プログラムのユーザーインターフェースを、変更せずに異なるシステムで実行できるようにすることです。[ 2 ]
この機能は、LuaをC/ C++コードにバインドするか、あるいはC言語でアプリケーションプログラミングインターフェース(API)を記述することで実現します。WindowsのWindows API、LinuxのGTK+、古いUnixのMotif(LessTif )など、ネイティブAPIが提供するネイティブコントロールを使用して、ユーザーインターフェース要素を処理します。また、 CD-Canvas DrawやOpenGLなどのグラフィックスAPIを使用してカスタム開発されたコントロールも提供しています。
特徴
IUP の特徴は次のとおりです。
- ANSI C APIは、数少ないC対応ツールキットの1つです。
- WindowsまたはLinux用の単一API 、
- IUP関数を呼び出すLuaスクリプトのサポートが組み込まれています(Luaスクリプトによって制御されます)。
- クラス/インスタンスオブジェクトタイプの制限は削除されましたが、プロトタイプLua スタイルの継承階層は保持されました。
- 明示的なX座標とY座標ではなく、水平方向と垂直方向のコンテナからサイズと位置を計算する抽象的なレイアウトモデルです。座標ベースのレイアウトは、3つ目のコンテナタイプでもサポートされています。
- 約 100 個の関数から成る小さな API です。
- イベントループ(コールバックメカニズム)の使用。このメインループはLua内で呼び出すことができます。
- インターフェース要素は、ネイティブ要素にマッピングされる前に作成されます。これは、GUI要素を組み立てる際の通常の状況とは逆です。
- ターンキーサンプルソースを含む、さまざまなコンパイラ用のソースまたはビルド済みの静的または動的ライブラリとして利用できます。
Luaスクリプトは、(少なくとも)ホストアプリケーションと呼ばれる小さなCプログラム内でLuaとIUPLuaをバインドすることで実現されます。このプログラムはLuaステートを作成し、それをIUPLuaに渡して初期化し、その後、そのLuaステートに対してLuaスクリプトを開いて実行します。あるいは、Luarequireまたはpackage.loadlibIUPLuaを使用してIUPステート全体を動的にロードすることもできます。
必要に応じて、スクリプトは後で Lua コンパイラでコンパイルできます。
UTF-8のサポートは、2013年11月にバージョン3.9のリリースでWindowsターゲットに追加されました。[ 3 ]
ライセンス、著作権
IUPはMITライセンスの下で自由に使用、改変、販売、再配布できるライセンスが与えられています。[ 4 ]
IUP は、少なくとも 1998 年にリリースされたバージョン 1.8 以降開発が続けられており、Petrobrasとの共同作業で開始されました。
参考文献
- ^ 「ZigのIUP」 Zig NEWS 2021年9月19日. 2023年5月16日閲覧。
- ^ 「IUP - ポータブルユーザーインターフェース」 www.tecgraf.puc-rio.br . 2016年9月24日閲覧。
- ^ "History 3.x" . www.tecgraf.puc-rio.br . 2023年5月16日閲覧。
- ^ 「Tecgrafライブラリライセンス」www.tecgraf.puc-rio.br . 2015年12月3日閲覧。