source: OGRE/trunk/ogrenew/RenderSystems/Direct3D7/include/OgreDDDriverList.h @ 657

Revision 657, 2.6 KB checked in by mattausch, 19 years ago (diff)

added ogre dependencies and patched ogre sources

Line 
1/*
2-----------------------------------------------------------------------------
3This source file is part of OGRE
4    (Object-oriented Graphics Rendering Engine)
5For the latest info, see http://www.ogre3d.org/
6
7Copyright (c) 2000-2005 The OGRE Team
8Also see acknowledgements in Readme.html
9
10This program is free software; you can redistribute it and/or modify it under
11the terms of the GNU Lesser General Public License as published by the Free Software
12Foundation; either version 2 of the License, or (at your option) any later
13version.
14
15This program is distributed in the hope that it will be useful, but WITHOUT
16ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
18
19You should have received a copy of the GNU Lesser General Public License along with
20this program; if not, write to the Free Software Foundation, Inc., 59 Temple
21Place - Suite 330, Boston, MA 02111-1307, USA, or go to
22http://www.gnu.org/copyleft/lesser.txt.
23-----------------------------------------------------------------------------
24*/
25#ifndef __DDDRIVERLIST_H__
26#define __DDDRIVERLIST_H__
27
28// Precompiler options
29#include "OgreD3D7Prerequisites.h"
30
31namespace Ogre {
32    /**
33      Encapsulates enumeration of DirectDraw drivers. Utility class for D3DRenderSystem.
34      */
35    class DDDriverList
36    {
37
38    private:
39        // STL list of drivers (Vector used to allow random access)
40        std::vector<DDDriver> mDriverList;
41
42        void AddDriver(GUID FAR *lpGuid,
43                                LPSTR lpDriverDesc,
44                                LPSTR lpDriverName);
45
46
47    public:
48        DDDriverList(); // Default Constructor
49        ~DDDriverList(); // Default desctructor
50        BOOL enumerate(void); //Forces an enumeration / re-enumeration
51
52        /** Returns the item at the specified position. Throws an
53            std::out_of_range if the index is greater then the size.
54        */
55        DDDriver* item(size_t index);
56
57        size_t count(void) const;
58
59
60
61        // Non-member callbacks
62        friend static BOOL WINAPI DDEnumCallbackEx(GUID FAR *lpGUID,
63                        LPSTR     lpDriverDescription,
64                        LPSTR     lpDriverName,
65                        LPVOID    lpContext,
66                        HMONITOR  hm);
67
68
69        friend static BOOL WINAPI DDEnumCallback(GUID FAR *lpGUID,
70                                   LPSTR  lpDriverDescription,
71                                   LPSTR  lpDriverName,
72                                   LPVOID lpContext);
73
74
75    };
76} // Namespace Ogre
77
78#endif
Note: See TracBrowser for help on using the repository browser.