Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/RenderSystems/GL/include/OgreSDLWindow.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 __SDLWindow_H__
31#define __SDLWindow_H__
32
33#include "OgreSDLPrerequisites.h"
34#include "OgreRenderWindow.h"
35
36namespace Ogre {
37    class _OgrePrivate SDLWindow : public RenderWindow
38    {
39    private:
40        SDL_Surface* mScreen;
41        bool mActive;
42        bool mClosed;
43           
44        // Process pending events
45        void processEvents(void);
46
47        int (*glXGetVideoSyncSGI) (unsigned int *);
48        int (*glXWaitVideoSyncSGI) (int, int, unsigned int *);
49
50    public:
51        SDLWindow();
52        ~SDLWindow();
53
54                void create(const String& name, unsigned int width, unsigned int height,
55                    bool fullScreen, const NameValuePairList *miscParams);
56        /** Overridden - see RenderWindow */
57        void destroy(void);
58        /** Overridden - see RenderWindow */
59        bool isActive(void) const;
60        /** Overridden - see RenderWindow */
61        bool isClosed(void) const;
62        /** Overridden - see RenderWindow */
63        void reposition(int left, int top);
64        /** Overridden - see RenderWindow */
65        void resize(unsigned int width, unsigned int height);
66        /** Overridden - see RenderWindow */
67        void swapBuffers(bool waitForVSync);
68
69        /** Overridden - see RenderTarget.
70        */
71        void writeContentsToFile(const String& filename);
72       
73        /** Overridden - see RenderTarget.
74        */
75        void getCustomAttribute( const String& name, void* pData )
76        {
77            // NOOP
78        }
79
80        bool requiresTextureFlipping() const { return false; }
81
82        bool isFullScreen(void) const
83        {
84            return ( mScreen->flags & SDL_FULLSCREEN ) == SDL_FULLSCREEN;
85        }
86    };
87}
88
89#endif
90
Note: See TracBrowser for help on using the repository browser.