/usr/include/SFML/Window/Window.hpp is in libsfml-dev 1.6+dfsg1-2ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 | ////////////////////////////////////////////////////////////
//
// SFML - Simple and Fast Multimedia Library
// Copyright (C) 2007-2009 Laurent Gomila (laurent.gom@gmail.com)
//
// This software is provided 'as-is', without any express or implied warranty.
// In no event will the authors be held liable for any damages arising from the use of this software.
//
// Permission is granted to anyone to use this software for any purpose,
// including commercial applications, and to alter it and redistribute it freely,
// subject to the following restrictions:
//
// 1. The origin of this software must not be misrepresented;
// you must not claim that you wrote the original software.
// If you use this software in a product, an acknowledgment
// in the product documentation would be appreciated but is not required.
//
// 2. Altered source versions must be plainly marked as such,
// and must not be misrepresented as being the original software.
//
// 3. This notice may not be removed or altered from any source distribution.
//
////////////////////////////////////////////////////////////
#ifndef SFML_WINDOW_HPP
#define SFML_WINDOW_HPP
////////////////////////////////////////////////////////////
// Headers
////////////////////////////////////////////////////////////
#include <SFML/Window/Event.hpp>
#include <SFML/Window/Input.hpp>
#include <SFML/Window/VideoMode.hpp>
#include <SFML/Window/WindowHandle.hpp>
#include <SFML/Window/WindowListener.hpp>
#include <SFML/Window/WindowSettings.hpp>
#include <SFML/Window/WindowStyle.hpp>
#include <SFML/System/Clock.hpp>
#include <SFML/System/NonCopyable.hpp>
#include <queue>
#include <string>
namespace sf
{
namespace priv
{
class WindowImpl;
}
////////////////////////////////////////////////////////////
/// Window is a rendering window ; it can create a new window
/// or connect to an existing one
////////////////////////////////////////////////////////////
class SFML_API Window : public WindowListener, NonCopyable
{
public :
////////////////////////////////////////////////////////////
/// Default constructor
///
////////////////////////////////////////////////////////////
Window();
////////////////////////////////////////////////////////////
/// Construct a new window
///
/// \param Mode : Video mode to use
/// \param Title : Title of the window
/// \param WindowStyle : Window style, see sf::Style (Resize | Close by default)
/// \param Params : Creation parameters (see default constructor for default values)
///
////////////////////////////////////////////////////////////
Window(VideoMode Mode, const std::string& Title, unsigned long WindowStyle = Style::Resize | Style::Close, const WindowSettings& Params = WindowSettings());
////////////////////////////////////////////////////////////
/// Construct the window from an existing control
///
/// \param Handle : Platform-specific handle of the control
/// \param Params : Creation parameters (see default constructor for default values)
///
////////////////////////////////////////////////////////////
Window(WindowHandle Handle, const WindowSettings& Params = WindowSettings());
////////////////////////////////////////////////////////////
/// Destructor
///
////////////////////////////////////////////////////////////
virtual ~Window();
////////////////////////////////////////////////////////////
/// Create (or recreate) the window
///
/// \param Mode : Video mode to use
/// \param Title : Title of the window
/// \param WindowStyle : Window style, see sf::Style (Resize | Close by default)
/// \param Params : Creation parameters (see default constructor for default values)
///
////////////////////////////////////////////////////////////
void Create(VideoMode Mode, const std::string& Title, unsigned long WindowStyle = Style::Resize | Style::Close, const WindowSettings& Params = WindowSettings());
////////////////////////////////////////////////////////////
/// Create (or recreate) the window from an existing control
///
/// \param Handle : Platform-specific handle of the control
/// \param Params : Creation parameters (see default constructor for default values)
///
////////////////////////////////////////////////////////////
void Create(WindowHandle Handle, const WindowSettings& Params = WindowSettings());
////////////////////////////////////////////////////////////
/// Close (destroy) the window.
/// The sf::Window instance remains valid and you can call
/// Create to recreate the window
///
////////////////////////////////////////////////////////////
void Close();
////////////////////////////////////////////////////////////
/// Tell whether or not the window is opened (ie. has been created).
/// Note that a hidden window (Show(false))
/// will still return true
///
/// \return True if the window is opened
///
////////////////////////////////////////////////////////////
bool IsOpened() const;
////////////////////////////////////////////////////////////
/// Get the width of the rendering region of the window
///
/// \return Width in pixels
///
////////////////////////////////////////////////////////////
unsigned int GetWidth() const;
////////////////////////////////////////////////////////////
/// Get the height of the rendering region of the window
///
/// \return Height in pixels
///
////////////////////////////////////////////////////////////
unsigned int GetHeight() const;
////////////////////////////////////////////////////////////
/// Get the creation settings of the window
///
/// \return Structure containing the creation settings
///
////////////////////////////////////////////////////////////
const WindowSettings& GetSettings() const;
////////////////////////////////////////////////////////////
/// Get the event on top of events stack, if any, and pop it
///
/// \param EventReceived : Event to fill, if any
///
/// \return True if an event was returned, false if events stack was empty
///
////////////////////////////////////////////////////////////
bool GetEvent(Event& EventReceived);
////////////////////////////////////////////////////////////
/// Enable / disable vertical synchronization
///
/// \param Enabled : True to enable v-sync, false to deactivate
///
////////////////////////////////////////////////////////////
void UseVerticalSync(bool Enabled);
////////////////////////////////////////////////////////////
/// Show or hide the mouse cursor
///
/// \param Show : True to show, false to hide
///
////////////////////////////////////////////////////////////
void ShowMouseCursor(bool Show);
////////////////////////////////////////////////////////////
/// Change the position of the mouse cursor
///
/// \param Left : Left coordinate of the cursor, relative to the window
/// \param Top : Top coordinate of the cursor, relative to the window
///
////////////////////////////////////////////////////////////
void SetCursorPosition(unsigned int Left, unsigned int Top);
////////////////////////////////////////////////////////////
/// Change the position of the window on screen.
/// Only works for top-level windows
///
/// \param Left : Left position
/// \param Top : Top position
///
////////////////////////////////////////////////////////////
void SetPosition(int Left, int Top);
////////////////////////////////////////////////////////////
/// Change the size of the rendering region of the window
///
/// \param Width : New width
/// \param Height : New height
///
////////////////////////////////////////////////////////////
void SetSize(unsigned int Width, unsigned int Height);
////////////////////////////////////////////////////////////
/// Show or hide the window
///
/// \param State : True to show, false to hide
///
////////////////////////////////////////////////////////////
void Show(bool State);
////////////////////////////////////////////////////////////
/// Enable or disable automatic key-repeat.
/// Automatic key-repeat is enabled by default
///
/// \param Enabled : True to enable, false to disable
///
////////////////////////////////////////////////////////////
void EnableKeyRepeat(bool Enabled);
////////////////////////////////////////////////////////////
/// Change the window's icon
///
/// \param Width : Icon's width, in pixels
/// \param Height : Icon's height, in pixels
/// \param Pixels : Pointer to the pixels in memory, format must be RGBA 32 bits
///
////////////////////////////////////////////////////////////
void SetIcon(unsigned int Width, unsigned int Height, const Uint8* Pixels);
////////////////////////////////////////////////////////////
/// Activate of deactivate the window as the current target
/// for rendering
///
/// \param Active : True to activate, false to deactivate (true by default)
///
/// \return True if operation was successful, false otherwise
///
////////////////////////////////////////////////////////////
bool SetActive(bool Active = true) const;
////////////////////////////////////////////////////////////
/// Display the window on screen
///
////////////////////////////////////////////////////////////
void Display();
////////////////////////////////////////////////////////////
/// Get the input manager of the window
///
/// \return Reference to the input
///
////////////////////////////////////////////////////////////
const Input& GetInput() const;
////////////////////////////////////////////////////////////
/// Limit the framerate to a maximum fixed frequency
///
/// \param Limit : Framerate limit, in frames per seconds (use 0 to disable limit)
///
////////////////////////////////////////////////////////////
void SetFramerateLimit(unsigned int Limit);
////////////////////////////////////////////////////////////
/// Get time elapsed since last frame
///
/// \return Time elapsed, in seconds
///
////////////////////////////////////////////////////////////
float GetFrameTime() const;
////////////////////////////////////////////////////////////
/// Change the joystick threshold, ie. the value below which
/// no move event will be generated
///
/// \param Threshold : New threshold, in range [0, 100]
///
////////////////////////////////////////////////////////////
void SetJoystickThreshold(float Threshold);
private :
////////////////////////////////////////////////////////////
/// Called after the window has been created
///
////////////////////////////////////////////////////////////
virtual void OnCreate();
////////////////////////////////////////////////////////////
/// /see WindowListener::OnEvent
///
/// \param EventReceived : Event received
///
////////////////////////////////////////////////////////////
virtual void OnEvent(const Event& EventReceived);
////////////////////////////////////////////////////////////
/// Initialize internal window
///
/// \param Impl : New internal window implementation
///
////////////////////////////////////////////////////////////
void Initialize(priv::WindowImpl* Impl);
////////////////////////////////////////////////////////////
// Member data
////////////////////////////////////////////////////////////
priv::WindowImpl* myWindow; ///< Platform-specific implementation of window
std::queue<Event> myEvents; ///< Queue of received events
Input myInput; ///< Input manager connected to window
Clock myClock; ///< Clock for measuring the elapsed time between frames
WindowSettings mySettings; ///< Creation settings of the window
float myLastFrameTime; ///< Time elapsed since last frame
bool myIsExternal; ///< Tell whether the window is internal or external (created by SFML or not)
unsigned int myFramerateLimit; ///< Current framerate limit
int mySetCursorPosX; ///< X coordinate passed to the last call to SetCursorPosition
int mySetCursorPosY; ///< Y coordinate passed to the last call to SetCursorPosition
};
} // namespace sf
#endif // SFML_WINDOW_HPP
|