Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/RenderSystems/GL/include/OgreWin32Window.h @ 3

Last change on this file since 3 was 3, checked in by anonymous, 17 years ago

=update

File size: 2.9 KB
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-2006 Torus Knot Software Ltd
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
24You may alternatively use this source under the terms of a specific version of
25the OGRE Unrestricted License provided you have obtained such a license from
26Torus Knot Software Ltd.
27-----------------------------------------------------------------------------
28*/
29
30#ifndef __Win32Window_H__
31#define __Win32Window_H__
32
33#include "OgreWin32Prerequisites.h"
34#include "OgreRenderWindow.h"
35
36namespace Ogre {
37    class _OgrePrivate Win32Window : public RenderWindow
38    {
39    public:
40        Win32Window(Win32GLSupport &glsupport);
41        ~Win32Window();
42
43       void create(const String& name, unsigned int width, unsigned int height,
44                    bool fullScreen, const NameValuePairList *miscParams);
45           void setFullscreen(bool fullScreen, unsigned int width, unsigned int height);
46        void destroy(void);
47        bool isVisible() const;
48        bool isClosed(void) const;
49        void reposition(int left, int top);
50        void resize(unsigned int width, unsigned int height);
51        void swapBuffers(bool waitForVSync);
52
53        /** Overridden - see RenderTarget.
54        */
55        void writeContentsToFile(const String& filename);
56
57                bool requiresTextureFlipping() const { return false; }
58
59                HWND getWindowHandle() const { return mHWnd; }
60                HDC getHDC() const { return mHDC; }
61               
62                // Method for dealing with resize / move & 3d library
63                virtual void windowMovedOrResized(void);
64
65                void getCustomAttribute( const String& name, void* pData );
66
67        /** Used to set the active state of the render target.
68        */
69        virtual void setActive( bool state );
70
71        protected:
72                Win32GLSupport &mGLSupport;
73                HWND    mHWnd;                                  // Win32 Window handle
74                HDC             mHDC;
75                HGLRC   mGlrc;
76        bool    mIsExternal;
77        bool    mIsExternalGLControl;
78        bool    mIsExternalGLContext;
79        bool    mSizing;
80                bool    mClosed;
81        int     mDisplayFrequency;      // fullscreen only, to restore display
82        Win32Context *mContext;
83    };
84}
85
86#endif
Note: See TracBrowser for help on using the repository browser.