00001 /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ 00002 /* _______ ______ ______ __ */ 00003 /* ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ / ____(_)___ / ___ /) / ____/___ ____/ /__ */ 00004 /* [fsConWin] / /_ / / __ \\__ \|/ / / / __ \/ __ / _ \ */ 00005 /* rev. 4 / __/ / / /_/ /__/ / / /___/ /_/ / /_/ / __/ */ 00006 /* 8th Feb 2007 /_/ /_/ ,___/____/ \____/\____/\__,_/\___/ */ 00007 /* [x] stable /_/ (c) 2006-7 Filip STOKLAS (FipS) */ 00008 /* ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ http://HOLE.4FipS.com/fips_code.php */ 00009 /* */ 00010 /* This code is free for personal and commercial use. You may redistribute */ 00011 /* it by any means. If you use the code for your own projects please give */ 00012 /* me credit. Please send a bug report. Don't alter or remove this header! */ 00013 /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ 00014 #ifndef FS_RAP_FSCONWIN_H 00015 #define FS_RAP_FSCONWIN_H 00016 //--------------------------------------------------------------------------- 00017 #if defined(FS_INCLUDE_USERDEFS) // inject user definition file on request 00018 # include <fs/fsUserDefs.h> 00019 #endif 00020 //--------------------------------------------------------------------------- 00021 namespace fs { namespace rap { 00022 //--------------------------------------------------------------------------- 00024 00049 class ConWin_t 00050 { 00051 public: 00052 00053 struct TxtRcvr_i; 00054 00056 explicit ConWin_t(const char *pszTitle = "FipS' Console"); 00058 ~ConWin_t(); 00060 bool IsValid() const; 00061 00063 void Show(bool bShow = true); 00065 void SetPos(int nX, int nY, int nW, int nH); 00067 void Push(const char *pszText); 00068 00070 void RegTxtRcvr(TxtRcvr_i *pRcvr); 00071 00072 private: 00073 00074 ConWin_t(const ConWin_t &); 00075 ConWin_t & operator = (const ConWin_t &); 00076 00077 void *m_pImpl; 00078 00079 public: 00080 00082 struct TxtRcvr_i 00083 { 00084 virtual void Receive(const char *pszText, bool bCmd) = 0; 00085 }; 00086 }; 00087 //--------------------------------------------------------------------------- 00088 }} // namespace fs::rap 00089 //--------------------------------------------------------------------------- 00090 #endif // FS_RAP_FSCONWIN_H