OSDN Git Service

e6a3a506b899f535c4e54f66105a388928c60ddc
[wintimer/wintimer.git] / wintimer / base_window.h
1 #pragma once
2 /*
3   ==============================================================================
4
5    This file is part of the mini timer
6    Copyright 2005-10 by Satoshi Fujiwara.
7
8    mini timer can be redistributed and/or modified under the terms of the
9    GNU General Public License, as published by the Free Software Foundation;
10    either version 2 of the License, or (at your option) any later version.
11
12    mini timer is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16
17    You should have received a copy of the GNU General Public License
18    along with mini timer; if not, visit www.gnu.org/licenses or write to the
19    Free Software Foundation, Inc., 59 Temple Place, Suite 330, 
20    Boston, MA 02111-1307 USA
21
22   ==============================================================================
23 */
24 namespace sf {
25    /** window \83x\81[\83X\83N\83\89\83X */
26 struct base_window : boost::noncopyable
27 {
28   typedef boost::signals2::signal<void ()> on_render_type;
29
30   on_render_type on_render;
31     
32   virtual void * raw_handle() = 0;
33   virtual void create() = 0;
34   virtual void show(uint32_t show_flag) = 0;
35   virtual void text(std::wstring& text) = 0;
36   virtual void update() = 0;
37
38 protected:
39   virtual ~base_window() {};
40
41 };
42
43 }
44