update for HEAD-2003091401
[reactos.git] / subsys / system / explorer / globals.h
1 /*
2  * Copyright 2003 Martin Fuchs
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17  */
18
19
20  //
21  // Explorer clone
22  //
23  // globals.h
24  //
25  // Martin Fuchs, 23.07.2003
26  //
27
28
29 extern struct ExplorerGlobals
30 {
31         ExplorerGlobals();
32
33         HINSTANCE       _hInstance;
34         ATOM            _hframeClass;
35         UINT            _cfStrFName;
36         HWND            _hMainWnd;
37         bool            _prescan_nodes;
38         bool            _desktop_mode;
39 } g_Globals;
40
41
42 struct ResString : public String
43 {
44         ResString(UINT nid);
45 };
46
47 struct ResIcon
48 {
49         ResIcon(UINT nid);
50
51         operator HICON() const {return _hIcon;}
52
53 protected:
54         HICON   _hIcon;
55 };
56
57 struct SmallIcon
58 {
59         SmallIcon(UINT nid);
60
61         operator HICON() const {return _hIcon;}
62
63 protected:
64         HICON   _hIcon;
65 };
66
67 struct ResBitmap
68 {
69         ResBitmap(UINT nid);
70         ~ResBitmap() {DeleteObject(_hBmp);}
71
72         operator HBITMAP() const {return _hBmp;}
73
74 protected:
75         HBITMAP _hBmp;
76 };