OSDN Git Service

Windows APIを実装部に隠蔽してみた。まだ不完全だが。
[wintimer/wintimer.git] / wintimer / taskbar.h
1 #pragma once
2
3 /*
4   ==============================================================================
5
6    This file is part of the mini timer
7    Copyright 2005-10 by Satoshi Fujiwara.
8
9    mini timer can be redistributed and/or modified under the terms of the
10    GNU General Public License, as published by the Free Software Foundation;
11    either version 2 of the License, or (at your option) any later version.
12
13    mini timer is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17
18    You should have received a copy of the GNU General Public License
19    along with mini timer; if not, visit www.gnu.org/licenses or write to the
20    Free Software Foundation, Inc., 59 Temple Place, Suite 330, 
21    Boston, MA 02111-1307 USA
22
23   ==============================================================================
24 */
25
26 #include "exception.h"
27
28 namespace sf
29 {
30   
31   struct taskbar : boost::noncopyable
32   {
33     struct exception
34      : public sf::win32_error_exception 
35     {
36       exception(boost::uint32_t hr) : win32_error_exception(hr) {};
37       exception() : win32_error_exception() {} ;
38     };
39
40      taskbar();
41     ~taskbar();
42     void create();
43     void discard();
44     void overlay_icon(sf::base_window& w,HICON icon,std::wstring& description);
45     void progress_state(sf::base_window& w,int state);
46     void progress_value(sf::base_window& w,boost::uint64_t completed, boost::uint64_t total);
47
48     static const int none;
49     static const int indeterminate;
50     static const int normal;
51     static const int error;
52     static const int paused;
53
54   private:
55     struct impl;
56     std::shared_ptr<impl> impl_;
57   };
58
59 }
60