OSDN Git Service

base_window基本クラスの抽象化をすすめるため、Windows API部分を除去。
[wintimer/wintimer.git] / wintimer / base_window.h
diff --git a/wintimer/base_window.h b/wintimer/base_window.h
new file mode 100644 (file)
index 0000000..63f8d82
--- /dev/null
@@ -0,0 +1,44 @@
+#pragma once
+/*
+  ==============================================================================
+
+   This file is part of the mini timer
+   Copyright 2005-10 by Satoshi Fujiwara.
+
+   mini timer can be redistributed and/or modified under the terms of the
+   GNU General Public License, as published by the Free Software Foundation;
+   either version 2 of the License, or (at your option) any later version.
+
+   mini timer is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with mini timer; if not, visit www.gnu.org/licenses or write to the
+   Free Software Foundation, Inc., 59 Temple Place, Suite 330, 
+   Boston, MA 02111-1307 USA
+
+  ==============================================================================
+*/
+namespace sf {
+   /** window \83x\81[\83X\83N\83\89\83X */
+struct base_window : boost::noncopyable
+{
+  typedef boost::signals2::signal<void ()> on_render_type;
+
+  on_render_type on_render;
+    
+  virtual void * raw_handle() = 0;
+  virtual void create() = 0;
+  virtual void show(boost::uint32_t show_flag) = 0;
+  virtual void text(std::wstring& text) = 0;
+  virtual void update() = 0;
+
+protected:
+  virtual ~base_window() {};
+
+};
+
+}
+