Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/RenderSystems/GL/include/OSX/OgreOSXWindow.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 __OSXWindow_H__
31#define __OSXWindow_H__
32
33#include "OgreRenderWindow.h"
34#include "OgreOSXContext.h"
35#include <OpenGL/OpenGL.h>
36#include <OpenGL/CGLTypes.h>
37
38namespace Ogre
39{
40        class OSXWindow : public RenderWindow
41        {
42        public:
43                OSXWindow();
44                virtual ~OSXWindow();
45               
46                /** Overridden - see RenderWindow */
47                void create( const String& name, unsigned int width, unsigned int height,
48                    bool fullScreen, const NameValuePairList *miscParams ) = 0;
49        /** Overridden - see RenderWindow */
50        virtual void destroy( void ) = 0;
51        /** Overridden - see RenderWindow */
52        virtual bool isActive( void ) const = 0;
53        /** Overridden - see RenderWindow */
54        virtual bool isClosed( void ) const = 0;
55        /** Overridden - see RenderWindow */
56        virtual void reposition( int left, int top ) = 0;
57        /** Overridden - see RenderWindow */
58        virtual void resize( unsigned int width, unsigned int height ) = 0;
59        /** Overridden - see RenderWindow */
60        virtual void swapBuffers( bool waitForVSync ) = 0;
61        /** Overridden - see RenderTarget */
62        virtual void writeContentsToFile( const String& filename );
63                /** Overridden - see RenderTarget */
64                virtual void windowMovedOrResized() {};
65
66        protected:
67                OSXContext* mContext;
68                CGLContextObj mCGLContext;
69                /** Switch to full screen mode using CGL */
70                void createCGLFullscreen(unsigned int width, unsigned int height, unsigned int depth, unsigned int fsaa, CGLContextObj sharedContext);
71                /** Kill full screen mode, and return to default windowed mode */
72                void destroyCGLFullscreen(void);
73                /** Update the full screen context */
74                void swapCGLBuffers(void);
75        };
76}
77
78#endif
Note: See TracBrowser for help on using the repository browser.