FrameFilterImpl::addFloatParam Method
IFrameFilterクラスライブラリリファレンス>クラス>IFrameFilterのメソッドを使ってアクセス可能なフロート型パラメータを登録します。
構文
protected:
void addFloatParam( const std::string& name, tFilterError (T::*getFunc)( float& ),
tFilterError (T::*setFunc)( float ) );
void addFloatParam( const std::wstring& name, tFilterError (T::*getFunc)( float& ),
tFilterError (T::*setFunc)( float ) );
名前 | 説明 |
---|---|
name | パラメータの名前です。パラメータにアクセスするために文字列はIFrameFilter::setParameterクラスライブラリリファレンス>クラス>IFrameFilter>IFrameFilter::setParameter MethodかIFrameFilter::getParameterクラスライブラリリファレンス>クラス>IFrameFilter>IFrameFilter::getParameter Methodへ渡す必要があります。 |
getFunc | FrameFilterImplクラスライブラリリファレンス>クラス>FrameFilterImplから継承したクラスのメンバ関数の名前です。唯一のパラメータとしてfloatへの参照を取り、tFilterErrorクラスライブラリリファレンス>エニュメレーション>tFilterErrorを返す必要があります。 |
setFunc | FrameFilterImplクラスライブラリリファレンス>クラス>FrameFilterImplから継承したクラスのメンバ関数の名前です。唯一のパラメータとしてfloatへの参照を取り、tFilterErrorクラスライブラリリファレンス>エニュメレーション>tFilterErrorを返す必要があります。 |
備考
コンストラクタ内ではフレームフィルタの全パラメータを登録する必要があります。
サンプル
このサンプルではfloat型パラメータの登録方法とアクセスメソッドの実装方法を紹介します。
フレームフィルタ実装のコンストラクタないではaddFloatParamへのコールを追加してください。
RotateTransform::CRotateTransform()
: m_Angle( 0.0f )
{
addFloatParam( "angle", &CRotateTransform::getAngle, &CRotateTransform::setAngle );
}
ヘッダファイル内でメソッドsetAngleとgetAngleを宣言します。
DShowLib::tFilterError setAngle( float val );
DShowLib::tFilterError getAngle( float& val );
そしてそれらをソースファイルに実装します。
tFilterError CRotateTransform::setAngle( float val )
{
m_Angle = val;
return eNO_ERROR;
}
tFilterError CRotateTransform::getAngle( float& val )
{
val = m_Angle;
return eNO_ERROR;
}
関連項目
FrameFilterImplクラスライブラリリファレンス>クラス>FrameFilterImpl, FrameFilterImpl::addBoolParamクラスライブラリリファレンス>クラス>FrameFilterImpl>FrameFilterImpl::addBoolParam Method, FrameFilterImpl::addLongParamクラスライブラリリファレンス>クラス>FrameFilterImpl>FrameFilterImpl::addLongParam Method, FrameFilterImpl::addStringParamクラスライブラリリファレンス>クラス>FrameFilterImpl>FrameFilterImpl::addStringParam Method, FrameFilterImpl::addDataParamクラスライブラリリファレンス>クラス>FrameFilterImpl>FrameFilterImpl::addDataParam Method