実例とレシピ
本ドキュメントは、Galleryで動いている画面から、対応する公開ヘッダー・CMakeターゲット・コード実装・詳細ガイドを逆引きするためのクイックリファレンスです。
モジュール別レシピ一覧
Section titled “モジュール別レシピ一覧”| 機能モジュール | include ヘッダー / CMake ターゲット | 典型的な呼び出しパターン | Gallery画面 / 実装コード / 詳細ガイド | 責務と制約事項 |
|---|---|---|---|---|
| 基本コンポーネント | <imkit/components.h>imkit::imkit |
imkit::ActionButton("Apply", imkit::ActionVariant::Primary);状態とIDはホスト側で所有。 |
Basic controlsgallery.cppコンポーネント詳細 |
Dear ImGui 標準の入力契約を遵守。文字列やラベルは描画呼び出しの間だけ借用されます。 |
| テーマ / アイコン | <imkit/theme.h><imkit/icons.h>imkit::imkit |
imkit::MakeTheme(...) でテーマを生成し、毎フレーム ApplyTheme() を呼び出す。 |
Icons、上部 Appearancegallery.cppテーマ / アイコン |
テーマの保持・保存はホストの責務。アイコンアトラスのテクスチャ転送もホストが行います。 |
| ワークフロー / シェル | <imkit/workflow.h><imkit/components.h>imkit::imkit |
フレーム内で部品を描画し、返された操作要求(リクエスト)をホストでディスパッチ。 | Workspace shellworkflow_pages.cppワークフロー |
UI部品のみを提供。バックグラウンドジョブやナビゲーションポリシーはホストが実装します。 |
| ノードエディタ | <imkit/node_editor.h>imkit::node_editor |
グラフスナップショットを渡し、BeginEditor / DrawNodes / EndEditor を呼び出す。 |
Node Editor Galleryexamples/node_editor/main.cppノードエディタ |
グラフデータ構造、Undo/Redo、ノード評価はホストが管理。付属のMaterial Graphはサンプル実装です。 |
| エディタスイート | <imkit/editor_suite.h>imkit::editor_suite |
ホストが所有する Provider とイベントバッファを渡して描画。 | Editor Core、Video、CGeditor_workspaces.cppエディタスイート / エディタAPI |
Video は動画のデコード・再生を行わず、CG も汎用3Dレンダラではありません(UIフレームのみ提供)。 |
| タイムライン編集 | <imkit/video.h>imkit::video |
TimelineEditingProvider を通じて描画し、クリップ移動やトリミング要求を受け取る。 |
Videoeditor_workspaces.cppタイムライン編集 |
クリップ同士の衝突判定、履歴のUndo、保存はホスト側の責務です。 |
| ウィンドウフレーム | <imkit/window_frame.h>imkit::imkit(任意: OS別アダプタ) |
タイトルバー領域を描画し、最大化/最小化/ドラッグ要求をネイティブOSへ通知。 | Window framegallery.cppウィンドウフレーム |
コア描画はウィンドウを所有しません。Win32/Cocoa統合はオプションのターゲットです。 |
最小限の組み込みコード例
Section titled “最小限の組み込みコード例”#include <imkit/imkit.h>#include <imgui.h>
// ホスト側のフレームループ内:ImGui::NewFrame();
if (imkit::ActionButton("変更を適用", imkit::ActionVariant::Primary)) { // ユーザーがボタンを押したときの処理 hostApp.ApplyChanges();}
ImGui::Render();詳細なオーバーロード一覧は 公開API一覧、依存要件は 依存関係 を参照してください。
また、CMakeによる最小限の組み込みサンプルは 導入ガイド および examples/consumer で確認できます。
ImKit 3.2の作業画面
Section titled “ImKit 3.2の作業画面”Galleryの Workspace では、WorkspaceTabs、HierarchyGroupHeader/HierarchyRow、BeginInspectorCard/EndInspectorCard、SettingToggleRow、DragVector3WithUnit、ChoiceGroup、CompactActionRowを組み合わせて操作できます。要求を受けてGallery側の値を更新する実装は、既存のImGuiフレームでも利用できます。3.2の宣言と寿命の規則を参照してください。321アイコンと13テーマを利用でき、Contextやアプリのフレーム管理は引き続きホストが担当します。