00001 00011 /***************************************************************************** 00012 ** Ifdefs 00013 *****************************************************************************/ 00014 00015 #ifndef ECL_STREAMS_CLEAR_SCREEN_HPP_ 00016 #define ECL_STREAMS_CLEAR_SCREEN_HPP_ 00017 00018 /***************************************************************************** 00019 ** Includes 00020 *****************************************************************************/ 00021 00022 #include <ecl/config/macros.hpp> 00023 #include "../manipulators.hpp" 00024 #include "../text_stream.hpp" 00025 00026 /***************************************************************************** 00027 ** Namespaces 00028 *****************************************************************************/ 00029 00030 namespace ecl { 00031 00032 /***************************************************************************** 00033 ** Interface [ClearScreen] 00034 *****************************************************************************/ 00047 class ECL_PUBLIC ClearScreen : public Manipulator<ClearScreen> { 00048 public: 00062 template <typename ODevice> 00063 void action (interfaces::OutputTextStream<ODevice,true>& ostream) { 00064 for (int i = 0; i < 80; ++i ) { 00065 ostream << "\n"; 00066 } 00067 } 00068 virtual ~ClearScreen() {} 00069 }; 00070 00071 /***************************************************************************** 00072 ** Global Variables 00073 *****************************************************************************/ 00074 00075 extern ClearScreen clrscr; 00076 00077 } // namespace ecl 00078 00079 00080 #endif /* ECL_STREAMS_CLEAR_SCREEN_HPP_ */