mirror of
https://git.femboyfinancial.jp/james/lipsync.git
synced 2024-11-26 04:12:00 -08:00
130 lines
4.1 KiB
C#
130 lines
4.1 KiB
C#
/*
|
|
* IPlugin.cs
|
|
* Copyright (c) 2007, 2008 kbinani
|
|
*
|
|
* This file is part of LipSync.
|
|
*
|
|
* LipSync is free software; you can redistribute it and/or
|
|
* modify it under the terms of the BSD License.
|
|
*
|
|
* LipSync is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
*/
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using System.Drawing;
|
|
using System.Windows.Forms;
|
|
|
|
namespace Plugin {
|
|
|
|
|
|
public class Constants {
|
|
/// <summary>
|
|
/// エントリーごとの設定が可能なプラグインであることを表します。
|
|
/// </summary>
|
|
public const ulong LS_ENABLES_ENTRY_SETTING = 1;
|
|
/// <summary>
|
|
/// このプラグインが、設定用ウィンドウを持たないことを表します。
|
|
/// </summary>
|
|
public const ulong LS_NO_EVENT_HANDLER = 2;
|
|
/// <summary>
|
|
/// このプラグインが、キャラクタ描画用のプラグインであることを表します。
|
|
/// </summary>
|
|
public const ulong LS_TYPE_CHARACTER = 4;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// メイン画面で使用されている変数へのプロキシを提供
|
|
/// </summary>
|
|
public class Proxy {
|
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// プラグイン用のインターフェースを定義します
|
|
/// </summary>
|
|
public interface IPlugin {
|
|
|
|
/// <summary>
|
|
/// プラグインの名称
|
|
/// </summary>
|
|
string Name {
|
|
get;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// プラグインの簡潔な説明文。
|
|
/// </summary>
|
|
string Abstract {
|
|
get;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// フレームに加工を施す関数
|
|
/// </summary>
|
|
/// <param name="frame">加工の対象</param>
|
|
/// <param name="time">ビデオの先頭からの時刻(秒)</param>
|
|
/// <param name="e_begin">エントリの開始時刻</param>
|
|
/// <param name="e_body">エントリの終了時刻</param>
|
|
/// <param name="e_end">エントリの設定値</param>
|
|
void Apply( ref Bitmap frame, float time, float e_begin, float e_end, ref string e_body );
|
|
|
|
|
|
/// <summary>
|
|
/// プラグイン用の設定値を格納した文字列を指定します。
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
string Config {
|
|
get;
|
|
set;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// メイン画面の言語設定が変更されたとき呼び出されます。
|
|
/// </summary>
|
|
/// <param name="language_code"></param>
|
|
void ApplyLanguage( string language_code );
|
|
|
|
|
|
/// <summary>
|
|
/// このプラグインの設定メニューが押された時呼び出されます。
|
|
/// </summary>
|
|
DialogResult BaseSetting();
|
|
|
|
|
|
/// <summary>
|
|
/// エントリーごとの設定メニューが押された時呼び出されます。
|
|
/// エントリーごとの設定は、ぷらぐいん側で任意に設定できます。
|
|
/// </summary>
|
|
/// <param name="entry_config">編集するエントリの設定</param>
|
|
DialogResult EntrySetting( ref string entry_config );
|
|
|
|
|
|
/// <summary>
|
|
/// このプラグインのタイプを指定します。
|
|
/// </summary>
|
|
ulong Type {
|
|
get;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// キャラクタ描画関数。
|
|
/// </summary>
|
|
/// <param name="g">キャラクタの描画先</param>
|
|
/// <param name="size">gのサイズ</param>
|
|
/// <param name="time">ビデオの先頭からの時刻</param>
|
|
/// <param name="mouth">時刻timeにおける口の形がコンマ区切りで列挙されている</param>
|
|
/// <param name="Reserved">(予約)</param>
|
|
void Render( Graphics g, Size size, float time, string mouth, string Reserved );
|
|
|
|
}
|
|
}
|