📄 shooting.hpp
字号:
#ifndef BOOST_STATECHART_EXAMPLE_SHOOTING_HPP_INCLUDED#define BOOST_STATECHART_EXAMPLE_SHOOTING_HPP_INCLUDED//////////////////////////////////////////////////////////////////////////////// Copyright 2002-2006 Andreas Huber Doenni// Distributed under the Boost Software License, Version 1.0. (See accompany-// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)//////////////////////////////////////////////////////////////////////////////#include "Camera.hpp"#include <boost/statechart/event.hpp>#include <boost/statechart/simple_state.hpp>#include <boost/statechart/state.hpp>#include <boost/statechart/transition.hpp>#include <boost/statechart/custom_reaction.hpp>#include <boost/statechart/deferral.hpp>#include <boost/mpl/list.hpp>#include <boost/config.hpp>#ifdef BOOST_INTEL# pragma warning( disable: 304 ) // access control not specified#endifnamespace sc = boost::statechart;namespace mpl = boost::mpl;//////////////////////////////////////////////////////////////////////////////struct EvInFocus : sc::event< EvInFocus > {};struct Focusing;struct Shooting : sc::simple_state< Shooting, Camera, Focusing >{ typedef sc::transition< EvShutterRelease, NotShooting > reactions; Shooting(); ~Shooting(); void DisplayFocused( const EvInFocus & ) { std::cout << "Focused!\n"; }}; struct Focusing : sc::state< Focusing, Shooting > { typedef mpl::list< sc::custom_reaction< EvInFocus >, sc::deferral< EvShutterFull > > reactions; Focusing( my_context ctx ); sc::result react( const EvInFocus & ); };#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -