本文へスキップ

Themeと横断API

Themeで色と寸法をそろえ、必要に応じて言語・アクセシビリティ情報や複合部品を渡します。現在の各APIは公開headerにあります。このページは使い分けを示す短い案内です。

Themeはアプリが保持する値です。有効なImGui Contextに対し、フレーム開始前に適用します。

#include <imkit/theme.h>
void ApplyWorkbenchTheme(float scale) {
const auto theme = imkit::MakeTheme(imkit::ThemePreset::PrecisionDark);
imkit::ApplyTheme(theme, scale); // live context, before NewFrame
}

例の種別: 既存のImGui Contextを使う関数例です。Themeとfont参照はアプリが管理し、描画で参照する間有効に保ちます。atlasとContextの寿命もアプリ側が管理します。テーマガイドではプリセット、scale、ThemeScopeを説明しています。

ComponentOptionsにはLocaleContextとAccessibilityFrameへの任意の参照を渡せます。callbackが返す文字列は描画フレーム中、アクセシビリティ情報の文字列と子一覧はpublishが終わるまで有効に保ちます。固定容量の領域、ID、publishのタイミング、要求をアプリ側で管理します。localeは明示して渡すためglobal stateを変えません。

Win32とmacOSのadapter headerはOS機能へつなぐための任意APIです。native actionを受けた場合のUI threadへの処理、callbackとアプリ状態の寿命もアプリ側で管理します。

<imkit/patterns.h>はcommand palette、dialog、toolbar、form field、進捗、仮想一覧、data table等の描画部品を提供します。providerは求められた可視範囲の表示情報を返し、編集結果の適用、モデル、選択、保存、取り消しはアプリ側で扱います。詳細はWorkflowガイドと部品レシピを参照してください。