25 #ifndef SFML_WINDOWIMPLWIN32_HPP
26 #define SFML_WINDOWIMPLWIN32_HPP
31 #include <SFML/Window/Event.hpp>
32 #include <SFML/Window/WindowImpl.hpp>
44 class WindowImplWin32 :
public WindowImpl
62 WindowImplWin32(WindowHandle Handle, WindowSettings& Params);
73 WindowImplWin32(VideoMode Mode,
const std::string& Title,
unsigned long WindowStyle, WindowSettings& Params);
87 static bool IsContextActive();
95 virtual void ProcessEvents();
101 virtual void Display();
107 virtual void SetActive(
bool Active =
true)
const;
113 virtual void UseVerticalSync(
bool Enabled);
119 virtual void ShowMouseCursor(
bool Show);
125 virtual void SetCursorPosition(
unsigned int Left,
unsigned int Top);
131 virtual void SetPosition(
int Left,
int Top);
137 virtual void SetSize(
unsigned int Width,
unsigned int Height);
143 virtual void Show(
bool State);
149 virtual void EnableKeyRepeat(
bool Enabled);
155 virtual void SetIcon(
unsigned int Width,
unsigned int Height,
const Uint8* Pixels);
161 void RegisterWindowClass();
169 void SwitchToFullscreen(
const VideoMode& Mode);
178 void CreateContext(
const VideoMode& Mode, WindowSettings& Params);
194 void ProcessEvent(UINT Message, WPARAM WParam, LPARAM LParam);
205 static Key::Code VirtualKeyCodeToSF(WPARAM VirtualKey, LPARAM Flags);
215 static bool HasUnicodeSupport();
228 static LRESULT CALLBACK GlobalOnEvent(HWND Handle, UINT Message, WPARAM WParam, LPARAM LParam);
233 static unsigned int ourWindowCount;
234 static const char* ourClassNameA;
235 static const wchar_t* ourClassNameW;
236 static WindowImplWin32* ourFullscreenWindow;
245 bool myKeyRepeatEnabled;
255 #endif // SFML_WINDOWIMPLWIN32_HPP