| 原作者 | テクグラフ/ PUC-Rioとペトロブラスの協力 |
|---|---|
| 安定版リリース | 3.31 / 2023年10月13日 |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | ソフトウェア開発キット |
| ライセンス | マサチューセッツ工科大学 |
| Webサイト | 翻訳: |
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 状態を作成し、初期化のために 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 日閲覧。
外部リンク
- 公式サイト
