pub trait OutputPlugin:
Send
+ Sync
+ Sized {
// Required methods
fn new(info: AviUtl2Info) -> AnyResult<Self>;
fn plugin_info(&self) -> OutputPluginTable;
fn output(&self, info: OutputInfo) -> AnyResult<()>;
// Provided methods
fn config(&self, _hwnd: Win32WindowHandle) -> AnyResult<()> { ... }
fn config_text(&self) -> AnyResult<String> { ... }
fn with_instance<R>(f: impl FnOnce(&Self) -> R) -> R
where Self: OutputSingleton { ... }
fn with_instance_mut<R>(f: impl FnOnce(&mut Self) -> R) -> R
where Self: OutputSingleton { ... }
}Available on crate feature
output only.Expand description
出力プラグインのトレイト。
このトレイトを実装し、crate::register_output_plugin! マクロを使用してプラグインを登録します。
Required Methods§
Sourcefn new(info: AviUtl2Info) -> AnyResult<Self>
fn new(info: AviUtl2Info) -> AnyResult<Self>
プラグインを初期化する。
Sourcefn plugin_info(&self) -> OutputPluginTable
fn plugin_info(&self) -> OutputPluginTable
プラグインの情報を返す。
Sourcefn output(&self, info: OutputInfo) -> AnyResult<()>
fn output(&self, info: OutputInfo) -> AnyResult<()>
出力を開始する。
Provided Methods§
Sourcefn config(&self, _hwnd: Win32WindowHandle) -> AnyResult<()>
fn config(&self, _hwnd: Win32WindowHandle) -> AnyResult<()>
出力設定のダイアログを表示する。
Sourcefn config_text(&self) -> AnyResult<String>
fn config_text(&self) -> AnyResult<String>
出力設定のテキスト情報を返す。 出力ダイアログの下の設定ボタンの隣に表示されます。
Sourcefn with_instance<R>(f: impl FnOnce(&Self) -> R) -> Rwhere
Self: OutputSingleton,
fn with_instance<R>(f: impl FnOnce(&Self) -> R) -> Rwhere
Self: OutputSingleton,
Sourcefn with_instance_mut<R>(f: impl FnOnce(&mut Self) -> R) -> Rwhere
Self: OutputSingleton,
fn with_instance_mut<R>(f: impl FnOnce(&mut Self) -> R) -> Rwhere
Self: OutputSingleton,
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.