OGRE  1.9.0
OgreRenderWindow.h
Go to the documentation of this file.
1/*-------------------------------------------------------------------------
2This source file is a part of OGRE
3(Object-oriented Graphics Rendering Engine)
4
5For the latest info, see http://www.ogre3d.org/
6
7Copyright (c) 2000-2014 Torus Knot Software Ltd
8Permission is hereby granted, free of charge, to any person obtaining a copy
9of this software and associated documentation files (the "Software"), to deal
10in the Software without restriction, including without limitation the rights
11to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12copies of the Software, and to permit persons to whom the Software is
13furnished to do so, subject to the following conditions:
14
15The above copyright notice and this permission notice shall be included in
16all copies or substantial portions of the Software.
17
18THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24THE SOFTWARE
25-------------------------------------------------------------------------*/
26#ifndef __RenderWindow_H__
27#define __RenderWindow_H__
28
29#include "OgrePrerequisites.h"
30
31#include "OgreRenderTarget.h"
32
33namespace Ogre
34{
63 {
64
65 public:
69
82 virtual void create(const String& name, unsigned int width, unsigned int height,
83 bool fullScreen, const NameValuePairList *miscParams) = 0;
84
92 virtual void setFullscreen(bool fullScreen, unsigned int width, unsigned int height)
93 { (void)fullScreen; (void)width; (void)height; }
94
97 virtual void destroy(void) = 0;
98
101 virtual void resize(unsigned int width, unsigned int height) = 0;
102
107 virtual void windowMovedOrResized() {}
108
111 virtual void reposition(int left, int top) = 0;
112
115 virtual bool isVisible(void) const { return true; }
116
119 virtual void setVisible(bool visible)
120 { (void)visible; }
121
124 virtual bool isHidden(void) const { return false; }
125
134 virtual void setHidden(bool hidden)
135 { (void)hidden; }
136
139 virtual void setVSyncEnabled(bool vsync)
140 { (void)vsync; }
141
144 virtual bool isVSyncEnabled() const { return false; }
145
149 virtual void setVSyncInterval(unsigned int interval)
150 { (void)interval; }
151
154 virtual unsigned int getVSyncInterval() const { return 1; }
155
156
159 virtual bool isActive(void) const { return mActive && isVisible(); }
160
163 virtual bool isClosed(void) const = 0;
164
171 virtual bool isPrimary(void) const;
172
175 virtual bool isFullScreen(void) const;
176
180 virtual void getMetrics(unsigned int& width, unsigned int& height, unsigned int& colourDepth,
181 int& left, int& top);
182
185
189
194 void setDeactivateOnFocusChange(bool deactivate);
195
196 protected:
200 int mLeft;
201 int mTop;
202
206 void _setPrimary() { mIsPrimary = true; }
207
208 friend class Root;
209 };
213} // Namespace
214#endif
#define _OgreExport
Definition: OgrePlatform.h:260
A 'canvas' which can receive the results of a rendering operation.
Manages the target rendering window.
virtual bool isPrimary(void) const
Indicates whether the window is the primary window.
virtual void setHidden(bool hidden)
Hide (or show) the window.
virtual void reposition(int left, int top)=0
Reposition the window.
virtual bool isClosed(void) const =0
Indicates whether the window has been closed by the user.
virtual void resize(unsigned int width, unsigned int height)=0
Alter the size of the window.
RenderWindow()
Default constructor.
virtual void create(const String &name, unsigned int width, unsigned int height, bool fullScreen, const NameValuePairList *miscParams)=0
Creates & displays the new window.
virtual void destroy(void)=0
Destroys the window.
bool isDeactivatedOnFocusChange() const
Returns true if the window will automatically de-activate itself when it loses focus.
virtual void windowMovedOrResized()
Notify that the window has been resized.
virtual void setFullscreen(bool fullScreen, unsigned int width, unsigned int height)
Alter fullscreen mode options.
virtual void setVSyncEnabled(bool vsync)
Enable or disable vertical sync for the RenderWindow.
void setDeactivateOnFocusChange(bool deactivate)
Indicates whether the window will automatically deactivate itself when it loses focus.
virtual bool isVSyncEnabled() const
Indicates whether vertical sync is activated for the window.
PixelFormat suggestPixelFormat() const
Override since windows don't usually have alpha.
virtual bool isVisible(void) const
Indicates whether the window is visible (not minimized or obscured)
void _setPrimary()
Indicates that this is the primary window.
virtual bool isActive(void) const
Overridden from RenderTarget, flags invisible windows as inactive.
virtual bool isHidden(void) const
Indicates whether the window was set to hidden (not displayed)
virtual unsigned int getVSyncInterval() const
Returns the vertical sync interval.
virtual bool isFullScreen(void) const
Returns true if window is running in fullscreen mode.
virtual void getMetrics(unsigned int &width, unsigned int &height, unsigned int &colourDepth, int &left, int &top)
Overloaded version of getMetrics from RenderTarget, including extra details specific to windowing sys...
virtual void setVSyncInterval(unsigned int interval)
Set the vertical sync interval.
virtual void setVisible(bool visible)
Set the visibility state.
The root class of the Ogre system.
Definition: OgreRoot.h:72
map< String, String >::type NameValuePairList
Name / value parameter pair (first = name, second = value)
Definition: OgreCommon.h:550
PixelFormat
The pixel format used for images, textures, and render surfaces.
@ PF_BYTE_RGB
3 byte pixel format, 1 byte for red, 1 byte for green, 1 byte for blue
_StringBase String