サイトマップ

SDL_gui

はじめに

 このページの内容及び、ダウンロードしたものは無保証です。一切の責任を作成者は負いません。自己責任で利用してください。また、サポートも一切行いません。as is でお願いします。

SDL_gui

サンプルイメージ

 SDL2 で GUI 部品(ラベルやボタンなど)を使ってプログラミングするときのユーティリティーです。

 SDL で GUI を使えるようにするものは、既にあるようでです。C++ で作成しているようですが、GitHub に存在します (https://github.com/mozeal/SDL_gui)。そちらのほうが安全で機能が多いと思います。

 また、libguichan-sdl というものもあるようです。

 しかし、日本語のドキュメントが少ないため、なにが出来るのか。どう使っていくのかがわかりませんでした。作ったほうが早いと思ったので作ってしまいました。

 自前で作ってしまったので、公開してしまいます。SDL2 のみで作成しているので他のライブラリは必要ありません。その分、低機能ですが、制約はほとんど設けていないのでアイデア次第で何でもできます。

何が出来るの?

 SDL_gui.h をインクルードして、SDL_gui.c と一緒にコンパイルすることで、ボタンやチェックボックスなどを簡単に利用できるようになります。SDL2 だけを利用していますので、他のライブラリは必要ありません。ただし、基本的な機能しか実装していないのであまり期待してはいけません。

 どういったことが出来るかは、チュートリアル をご覧ください。また、関数詳細 もご覧ください。

制限事項

 部品のテキストに複数行は使えません。長文の表示/入力はできません。

 システムで IME が使えれば、テキストボックスでも日本語入力ができますが、変換中の文節変更などの表示はできません。また、カット&ペーストも、文字列の選択もできません。

 GUI 部品の削除は個別に削除はできません。部品を全て削除することはできます。部品の非表示は出来るので、必要のない部品は非表示にしてください。

実装されている GUI 部品

ファイル一覧

使い方

 GUI 部品を使うプログラムは、SDL_gui.h をインクルードします。

 GUI 部品を使う前に、ウィンドウサイズと、GUI 部品へテキストを表示するときの色を parts_set_windowsize() 関数と parts_set_textcolor() 関数で設定します。

 テキストボックスを使う場合はさらに、text_buffer_allocate_parts() 関数でテキストバッファを確保します。

 GUI 部品は、add_parts() 関数で登録します。add_parts() 関数は、作成した GUI 部品の ID を返します。最初に作った GUI 部品は、ルートの部品になります。必要であればこの ID を使ってコールバック関数の登録や、テキスト表示位置の設定を行います。

 登録が終了したら、ウィンドウを描画するときに、draw_parts() 関数で GUI 部品の描画を行います。

 イベントループ内でマウスのイベント処理時に次の関数を呼び出します。

 テキストボックスを使う場合は、更に次のイベント処理時に関数を呼び出します。

 プログラム終了時に GUI データやテキストバッファを解放するには次の関数を呼び出します。

免責

 このプログラムを使ったことによる一切の責任を sirius は負いません。使用は自己責任でお願いします。

著作権

 本プログラムの著作権は sirius(https://sirius10.net) にありますが、本プログラムの著作権は主張いたしません。

保証

 無保証です。

更新履歴

日本語でのみご利用いただけます。その他の言語では対応いたしかねます。
Only available in Japanese language. We cannot support it in other languages.