plik


SFML - Simple and Fast Multimedia Library Main Page Namespaces Classes Files File List WindowImplWin32.hpp00001 00002 // 00003 // SFML - Simple and Fast Multimedia Library 00004 // Copyright (C) 2007-2009 Laurent Gomila (laurent.gom@gmail.com) 00005 // 00006 // This software is provided 'as-is', without any express or implied warranty. 00007 // In no event will the authors be held liable for any damages arising from the use of this software. 00008 // 00009 // Permission is granted to anyone to use this software for any purpose, 00010 // including commercial applications, and to alter it and redistribute it freely, 00011 // subject to the following restrictions: 00012 // 00013 // 1. The origin of this software must not be misrepresented; 00014 // you must not claim that you wrote the original software. 00015 // If you use this software in a product, an acknowledgment 00016 // in the product documentation would be appreciated but is not required. 00017 // 00018 // 2. Altered source versions must be plainly marked as such, 00019 // and must not be misrepresented as being the original software. 00020 // 00021 // 3. This notice may not be removed or altered from any source distribution. 00022 // 00024 00025 #ifndef SFML_WINDOWIMPLWIN32_HPP 00026 #define SFML_WINDOWIMPLWIN32_HPP 00027 00029 // Headers 00031 #include <SFML/Window/Event.hpp> 00032 #include <SFML/Window/WindowImpl.hpp> 00033 #include <windows.h> 00034 #include <string> 00035 00036 00037 namespace sf 00038 { 00039 namespace priv 00040 { 00044 class WindowImplWin32 : public WindowImpl 00045 { 00046 public : 00047 00053 WindowImplWin32(); 00054 00062 WindowImplWin32(WindowHandle Handle, WindowSettings& Params); 00063 00073 WindowImplWin32(VideoMode Mode, const std::string& Title, unsigned long WindowStyle, WindowSettings& Params); 00074 00079 ~WindowImplWin32(); 00080 00087 static bool IsContextActive(); 00088 00089 private : 00090 00095 virtual void ProcessEvents(); 00096 00101 virtual void Display(); 00102 00107 virtual void SetActive(bool Active = true) const; 00108 00113 virtual void UseVerticalSync(bool Enabled); 00114 00119 virtual void ShowMouseCursor(bool Show); 00120 00125 virtual void SetCursorPosition(unsigned int Left, unsigned int Top); 00126 00131 virtual void SetPosition(int Left, int Top); 00132 00137 virtual void SetSize(unsigned int Width, unsigned int Height); 00138 00143 virtual void Show(bool State); 00144 00149 virtual void EnableKeyRepeat(bool Enabled); 00150 00155 virtual void SetIcon(unsigned int Width, unsigned int Height, const Uint8* Pixels); 00156 00161 void RegisterWindowClass(); 00162 00169 void SwitchToFullscreen(const VideoMode& Mode); 00170 00178 void CreateContext(const VideoMode& Mode, WindowSettings& Params); 00179 00184 void Cleanup(); 00185 00194 void ProcessEvent(UINT Message, WPARAM WParam, LPARAM LParam); 00195 00205 static Key::Code VirtualKeyCodeToSF(WPARAM VirtualKey, LPARAM Flags); 00206 00215 static bool HasUnicodeSupport(); 00216 00228 static LRESULT CALLBACK GlobalOnEvent(HWND Handle, UINT Message, WPARAM WParam, LPARAM LParam); 00229 00231 // Static member data 00233 static unsigned int ourWindowCount; 00234 static const char* ourClassNameA; 00235 static const wchar_t* ourClassNameW; 00236 static WindowImplWin32* ourFullscreenWindow; 00237 00239 // Member data 00241 HWND myHandle; 00242 long myCallback; 00243 HCURSOR myCursor; 00244 HICON myIcon; 00245 bool myKeyRepeatEnabled; 00246 bool myIsCursorIn; 00247 HDC myDeviceContext; 00248 HGLRC myGLContext; 00249 }; 00250 00251 } // namespace priv 00252 00253 } // namespace sf 00254 00255 #endif // SFML_WINDOWIMPLWIN32_HPP  ::  Copyright © 2007-2008 Laurent Gomila, all rights reserved  ::  Documentation generated by doxygen 1.5.2  :: 

Wyszukiwarka

Podobne podstrony:
WindowImplXXX 8hpp source
WindowSettings 8hpp source
WindowHandle 8hpp source
WindowImpl 8hpp source
WindowImplCocoa 8hpp source
Window 8hpp source
WindowListener 8hpp source
Window 2Window 8hpp source
Arial 8hpp source
Sleep 8hpp source
Win32 2Thread 8hpp source
Mutex 8hpp source
FontLoader 8hpp source
Color 8hpp source
IPAddress 8hpp source
SoundFileDefault 8hpp source
Network 8hpp source
SoundStream 8hpp source

więcej podobnych podstron