本文整理汇总了C++中Environment::CreateLibrary方法的典型用法代码示例。如果您正苦于以下问题:C++ Environment::CreateLibrary方法的具体用法?C++ Environment::CreateLibrary怎么用?C++ Environment::CreateLibrary使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Environment
的用法示例。
在下文中一共展示了Environment::CreateLibrary方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: bind_playlist_library
//Регистрация библиотеки работы с плейлистами
void bind_playlist_library (Environment& environment)
{
InvokerRegistry lib = environment.CreateLibrary (MEDIA_PLAYLIST_LIBRARY);
//регистрация функций создания
lib.Register ("Create", make_invoker (&create_playlist));
//регистрация операций
lib.Register ("get_Capacity", make_invoker (&Playlist::Capacity));
lib.Register ("get_Empty", make_invoker (&Playlist::IsEmpty));
lib.Register ("get_Id", make_invoker (&Playlist::Id));
lib.Register ("get_Size", make_invoker (&Playlist::Size));
lib.Register ("AddSource", make_invoker (&Playlist::AddSource));
lib.Register ("Clear", make_invoker (&Playlist::Clear));
lib.Register ("Clone", make_invoker (&Playlist::Clone));
lib.Register ("Item", make_invoker (&Playlist::Item));
lib.Register ("RemoveSource", make_invoker (make_invoker (implicit_cast<void (Playlist::*) (const char*)> (&Playlist::RemoveSource)),
make_invoker (implicit_cast<void (Playlist::*) (unsigned int)> (&Playlist::RemoveSource))));
lib.Register ("Reserve", make_invoker (&Playlist::Reserve));
environment.RegisterType<Playlist> (MEDIA_PLAYLIST_LIBRARY);
}
示例2: bind_media_player_library
//Регистрация библиотеки работы с проигрывателями
void bind_media_player_library (Environment& environment)
{
InvokerRegistry lib = environment.CreateLibrary (MEDIA_PLAYER_LIBRARY);
//регистрация статических переменных
bind_static_media_player_library (environment);
//регистрация функций создания
lib.Register ("Create", make_invoker (make_invoker (&create_player_with_target_and_playlist),
make_invoker (&create_player_with_target_and_stream),
make_invoker (&create_player_with_target),
make_invoker (&create_player)));
//регистрация операций
lib.Register ("get_CurrentPlaybackDuration", make_invoker (implicit_cast<float (MediaPlayer::*) () const> (&MediaPlayer::Duration)));
lib.Register ("get_IsPaused", make_invoker (&MediaPlayer::IsPaused));
lib.Register ("get_IsPlaying", make_invoker (&MediaPlayer::IsPlaying));
lib.Register ("get_IsStopped", make_invoker (&MediaPlayer::IsStopped));
lib.Register ("get_Mute", make_invoker (&MediaPlayer::IsMuted));
lib.Register ("get_Name", make_invoker (&MediaPlayer::Name));
lib.Register ("get_NextPlayTrack", make_invoker (&MediaPlayer::NextPlayTrack));
lib.Register ("get_Playlist", make_invoker (&MediaPlayer::Playlist));
lib.Register ("get_Position", make_invoker (&MediaPlayer::Position));
lib.Register ("get_RepeatMode", make_invoker (&MediaPlayer::RepeatMode));
lib.Register ("get_Source", make_invoker (implicit_cast<const char* (MediaPlayer::*) () const> (&MediaPlayer::Source)));
lib.Register ("get_State", make_invoker (&MediaPlayer::State));
lib.Register ("get_Target", make_invoker (&MediaPlayer::Target));
lib.Register ("get_Track", make_invoker (&MediaPlayer::Track));
lib.Register ("get_TracksCount", make_invoker (&MediaPlayer::TracksCount));
lib.Register ("get_Volume", make_invoker (&MediaPlayer::Volume));
lib.Register ("set_Mute", make_invoker (&MediaPlayer::SetMute));
lib.Register ("set_Name", make_invoker (&MediaPlayer::SetName));
lib.Register ("set_NextPlayTrack", make_invoker (&MediaPlayer::SetNextPlayTrack));
lib.Register ("set_Position", make_invoker (&MediaPlayer::SetPosition));
lib.Register ("set_RepeatMode", make_invoker (&MediaPlayer::SetRepeatMode));
lib.Register ("set_Target", make_invoker (&MediaPlayer::SetTarget));
lib.Register ("set_Track", make_invoker (&MediaPlayer::SetTrack));
lib.Register ("set_Volume", make_invoker (&MediaPlayer::SetVolume));
lib.Register ("Close", make_invoker (&MediaPlayer::Close));
lib.Register ("Duration", make_invoker (implicit_cast<float (MediaPlayer::*) (unsigned int) const> (&MediaPlayer::Duration)));
lib.Register ("NextTrack", make_invoker (&MediaPlayer::NextTrack));
lib.Register ("Open", make_invoker (make_invoker (implicit_cast<void (MediaPlayer::*) (const char*)> (&MediaPlayer::Open)),
make_invoker (implicit_cast<void (MediaPlayer::*) (const Playlist&)> (&MediaPlayer::Open))));
lib.Register ("UpdatePlaylist", make_invoker (&MediaPlayer::UpdatePlaylist));
lib.Register ("Pause", make_invoker (&MediaPlayer::Pause));
lib.Register ("Play", make_invoker (&MediaPlayer::Play));
lib.Register ("PrevTrack", make_invoker (&MediaPlayer::PrevTrack));
lib.Register ("Source", make_invoker (implicit_cast<const char* (MediaPlayer::*) (unsigned int) const> (&MediaPlayer::Source)));
lib.Register ("Stop", make_invoker (&MediaPlayer::Stop));
lib.Register ("CreateEventHandler", make_callback_invoker<MediaPlayerEventHandler::signature_type> ());
lib.Register ("RegisterEventHandler", make_invoker (&player_register_event_handler));
environment.RegisterType<MediaPlayer> (MEDIA_PLAYER_LIBRARY);
}
示例3: bind_static_media_player_library
//Регистрация статических переменных
void bind_static_media_player_library (Environment& environment)
{
InvokerRegistry player_state_lib = environment.CreateLibrary (MEDIA_STATIC_PLAYER_STATE_LIBRARY);
InvokerRegistry player_repeat_mode_lib = environment.CreateLibrary (MEDIA_STATIC_PLAYER_REPEAT_MODE_LIBRARY);
InvokerRegistry player_event_lib = environment.CreateLibrary (MEDIA_STATIC_PLAYER_EVENT_LIBRARY);
player_state_lib.Register ("get_Stopped", make_const (MediaPlayerState_Stopped));
player_state_lib.Register ("get_Playing", make_const (MediaPlayerState_Playing));
player_state_lib.Register ("get_Paused", make_const (MediaPlayerState_Paused));
player_repeat_mode_lib.Register ("get_Off", make_const (MediaPlayerRepeatMode_Off));
player_repeat_mode_lib.Register ("get_Last", make_const (MediaPlayerRepeatMode_Last));
player_repeat_mode_lib.Register ("get_All", make_const (MediaPlayerRepeatMode_All));
player_event_lib.Register ("get_OnChangeName", make_const (MediaPlayerEvent_OnChangeName));
player_event_lib.Register ("get_OnChangeTarget", make_const (MediaPlayerEvent_OnChangeTarget));
player_event_lib.Register ("get_OnChangePlaylist", make_const (MediaPlayerEvent_OnChangePlaylist));
player_event_lib.Register ("get_OnChangeTrack", make_const (MediaPlayerEvent_OnChangeTrack));
player_event_lib.Register ("get_OnChangePlayback", make_const (MediaPlayerEvent_OnChangePlayback));
player_event_lib.Register ("get_OnChangeVolume", make_const (MediaPlayerEvent_OnChangeVolume));
player_event_lib.Register ("get_OnChangeRepeatMode", make_const (MediaPlayerEvent_OnChangeRepeatMode));
}
示例4: bind_static_axis_aligned_box_library
void bind_static_axis_aligned_box_library (Environment& environment)
{
InvokerRegistry aabox_box_corner_lib = environment.CreateLibrary (BV_STATIC_AXIS_ALIGNED_BOX_CORNER_LIBRARY);
aabox_box_corner_lib.Register ("get_nxnynz", make_const (box_corner_nxnynz));
aabox_box_corner_lib.Register ("get_pxnynz", make_const (box_corner_pxnynz));
aabox_box_corner_lib.Register ("get_nxpynz", make_const (box_corner_nxpynz));
aabox_box_corner_lib.Register ("get_pxpynz", make_const (box_corner_pxpynz));
aabox_box_corner_lib.Register ("get_nxnypz", make_const (box_corner_nxnypz));
aabox_box_corner_lib.Register ("get_pxnypz", make_const (box_corner_pxnypz));
aabox_box_corner_lib.Register ("get_nxpypz", make_const (box_corner_nxpypz));
aabox_box_corner_lib.Register ("get_pxpypz", make_const (box_corner_pxpypz));
}
示例5: bind_linear_acceleration_evaluator_library
void bind_linear_acceleration_evaluator_library (Environment& environment)
{
InvokerRegistry lib = environment.CreateLibrary (SCENE_LINEAR_ACCELERATION_EVALUATOR_LIBRARY);
//регистрация функций создания
lib.Register ("Create", make_invoker (&create_linear_acceleration_evaluator));
//регистрация операций
lib.Register ("set_Acceleration", make_invoker (&LinearAccelerationEvaluator::SetAcceleration));
lib.Register ("set_Deceleration", make_invoker (&LinearAccelerationEvaluator::SetDeceleration));
lib.Register ("set_MaxSpeed", make_invoker (&LinearAccelerationEvaluator::SetMaxSpeed));
lib.Register ("get_Acceleration", make_invoker (&LinearAccelerationEvaluator::Acceleration));
lib.Register ("get_Deceleration", make_invoker (&LinearAccelerationEvaluator::Deceleration));
lib.Register ("get_MaxSpeed", make_invoker (&LinearAccelerationEvaluator::MaxSpeed));
//регистрация типа данных
environment.RegisterType<LinearAccelerationEvaluator> (SCENE_LINEAR_ACCELERATION_EVALUATOR_LIBRARY);
}
示例6: main
int main ()
{
printf ("Results of common_string_tree_test:\n");
try
{
common::LogFilter filter ("script.binds.*", &log_handler);
Environment env;
InvokerRegistry lib = env.CreateLibrary ("Utils");
lib.Register ("PrintIndent", make_invoker (&print_indent));
Shell shell ("lua", env);
xtl::com_ptr<IInterpreter> script (shell.Interpreter ());
env.BindLibraries ("Common");
load_script (*script, SCRIPT_FILE_NAME);
printf ("Test library:\n");
invoke<void> (*script, "test");
}
catch (xtl::bad_any_cast& exception)
{
printf ("%s: %s -> %s\n", exception.what (), exception.source_type ().name (), exception.target_type ().name ());
}
catch (std::exception& exception)
{
printf ("exception: %s\n", exception.what ());
}
return 0;
}
示例7: bind_axis_aligned_box_library
void bind_axis_aligned_box_library (Environment& environment)
{
typedef axis_aligned_box<T> box_type;
typedef typename box_type::vec_type vec_type;
InvokerRegistry lib = environment.CreateLibrary (BV_AXIS_ALIGNED_BOX_LIBRARY);
InvokerRegistry global_lib = environment.Library ("global");
//регистрация функций создания
lib.Register ("Create", make_invoker (
make_invoker ((box_type (*)(T, T, T, T, T, T))&create_axis_aligned_box<T>),
make_invoker ((box_type (*)(const vec_type&, const vec_type&))&create_axis_aligned_box<T>),
make_invoker ((box_type (*)())&create_axis_aligned_box<T>)
));
global_lib.Register ("AABB", lib, "Create");
//регистрация статических переменных
bind_static_axis_aligned_box_library (environment);
//регистрация операций
lib.Register ("set_Minimum", make_invoker (implicit_cast<void (axis_aligned_box<T>::*) (const typename axis_aligned_box<T>::vec_type&)>
(&box_type::set_minimum)));
lib.Register ("set_Maximum", make_invoker (implicit_cast<void (box_type::*) (const typename box_type::vec_type&)>
(&box_type::set_maximum)));
lib.Register ("get_Minimum", make_invoker (&box_type::minimum));
lib.Register ("get_Maximum", make_invoker (&box_type::maximum));
lib.Register ("get_Center", make_invoker (&box_type::center));
lib.Register ("get_Size", make_invoker (&box_type::size));
lib.Register ("get_Radius", make_invoker (&box_type::radius));
lib.Register ("get_Empty", make_invoker (&box_type::empty));
lib.Register ("SetExtents", make_invoker (implicit_cast<void (box_type::*)
(const typename box_type::vec_type&, const typename box_type::vec_type&)> (&box_type::set_extents)));
lib.Register ("Corner", make_invoker (&box_type::corner));
lib.Register ("Reset", make_invoker (&box_type::reset));
lib.Register ("__add", make_invoker (implicit_cast<box_type (box_type::*)
(const box_type&) const> (&box_type::operator +)));
lib.Register ("__mul", make_invoker (
make_invoker (implicit_cast<box_type (box_type::*) (const matrix<T, 4>&) const> (&box_type::operator *)),
make_invoker (implicit_cast<box_type (box_type::*) (const quat<T>&) const> (&box_type::operator *))
));
// lib.Register ("__eq", make_invoker (&box_type::operator ==));
lib.Register ("get_Volume", make_invoker (&bound_volumes::volume<T>));
lib.Register ("Equal", make_invoker (xtl::implicit_cast<bool (*)(const box_type&, const box_type&, const T& eps)> (&bound_volumes::equal<T>)));
lib.Register ("Intersects", make_invoker (implicit_cast<bool (*) (const box_type&, const box_type&)> (&bound_volumes::intersects)));
lib.Register ("Contains", make_invoker (
make_invoker (implicit_cast<bool (*) (const box_type&, const box_type&)> (&bound_volumes::contains)),
make_invoker (implicit_cast<bool (*) (const box_type&, const math::vector<T, 3>&)> (&bound_volumes::contains))
));
lib.Register ("Intersection", make_invoker (implicit_cast<box_type (*) (const box_type&, const box_type&)> (&bound_volumes::intersection)));
//регистрация типов данных
environment.RegisterType<box_type> (BV_AXIS_ALIGNED_BOX_LIBRARY);
}