summaryrefslogtreecommitdiff
path: root/examples/win32/Win32.cpp
diff options
context:
space:
mode:
authorJames Cowgill <james410@cowgill.org.uk>2014-12-09 20:21:40 +0000
committerJames Cowgill <james410@cowgill.org.uk>2014-12-09 20:21:40 +0000
commitfa21c65d0c764705cfc377bf0d0de08fac26874e (patch)
treedbc9e87bbd8684d15e79fc0c8b7a8985389c3b35 /examples/win32/Win32.cpp
parentdd835931261c340acd5f0409341d13fa2670423e (diff)
Imported Upstream version 2.2.0+dfsg
Diffstat (limited to 'examples/win32/Win32.cpp')
-rw-r--r--examples/win32/Win32.cpp260
1 files changed, 130 insertions, 130 deletions
diff --git a/examples/win32/Win32.cpp b/examples/win32/Win32.cpp
index 4d70931..5df33a8 100644
--- a/examples/win32/Win32.cpp
+++ b/examples/win32/Win32.cpp
@@ -1,130 +1,130 @@
-
-////////////////////////////////////////////////////////////
-// Headers
-////////////////////////////////////////////////////////////
-#include <SFML/Graphics.hpp>
-#include <windows.h>
-#include <cmath>
-
-HWND button;
-
-
-////////////////////////////////////////////////////////////
-/// Function called whenever one of our windows receives a message
-///
-////////////////////////////////////////////////////////////
-LRESULT CALLBACK onEvent(HWND handle, UINT message, WPARAM wParam, LPARAM lParam)
-{
- switch (message)
- {
- // Quit when we close the main window
- case WM_CLOSE :
- {
- PostQuitMessage(0);
- return 0;
- }
-
- // Quit when we click the "quit" button
- case WM_COMMAND :
- {
- if (reinterpret_cast<HWND>(lParam) == button)
- {
- PostQuitMessage(0);
- return 0;
- }
- }
- }
-
- return DefWindowProc(handle, message, wParam, lParam);
-}
-
-
-////////////////////////////////////////////////////////////
-/// Entry point of application
-///
-/// \param Instance : Instance of the application
-///
-/// \return Error code
-///
-////////////////////////////////////////////////////////////
-INT WINAPI WinMain(HINSTANCE instance, HINSTANCE, LPSTR, INT)
-{
- // Define a class for our main window
- WNDCLASS windowClass;
- windowClass.style = 0;
- windowClass.lpfnWndProc = &onEvent;
- windowClass.cbClsExtra = 0;
- windowClass.cbWndExtra = 0;
- windowClass.hInstance = instance;
- windowClass.hIcon = NULL;
- windowClass.hCursor = 0;
- windowClass.hbrBackground = reinterpret_cast<HBRUSH>(COLOR_BACKGROUND);
- windowClass.lpszMenuName = NULL;
- windowClass.lpszClassName = TEXT("SFML App");
- RegisterClass(&windowClass);
-
- // Let's create the main window
- HWND window = CreateWindow(TEXT("SFML App"), TEXT("SFML Win32"), WS_SYSMENU | WS_VISIBLE, 200, 200, 660, 520, NULL, NULL, instance, NULL);
-
- // Add a button for exiting
- button = CreateWindow(TEXT("BUTTON"), TEXT("Quit"), WS_CHILD | WS_VISIBLE, 560, 440, 80, 40, window, NULL, instance, NULL);
-
- // Let's create two SFML views
- HWND view1 = CreateWindow(TEXT("STATIC"), NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS, 20, 20, 300, 400, window, NULL, instance, NULL);
- HWND view2 = CreateWindow(TEXT("STATIC"), NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS, 340, 20, 300, 400, window, NULL, instance, NULL);
- sf::RenderWindow SFMLView1(view1);
- sf::RenderWindow SFMLView2(view2);
-
- // Load some textures to display
- sf::Texture texture1, texture2;
- if (!texture1.loadFromFile("resources/image1.jpg") || !texture2.loadFromFile("resources/image2.jpg"))
- return EXIT_FAILURE;
- sf::Sprite sprite1(texture1);
- sf::Sprite sprite2(texture2);
- sprite1.setOrigin(sf::Vector2f(texture1.getSize()) / 2.f);
- sprite1.setPosition(sprite1.getOrigin());
-
- // Create a clock for measuring elapsed time
- sf::Clock clock;
-
- // Loop until a WM_QUIT message is received
- MSG message;
- message.message = static_cast<UINT>(~WM_QUIT);
- while (message.message != WM_QUIT)
- {
- if (PeekMessage(&message, NULL, 0, 0, PM_REMOVE))
- {
- // If a message was waiting in the message queue, process it
- TranslateMessage(&message);
- DispatchMessage(&message);
- }
- else
- {
- float time = clock.getElapsedTime().asSeconds();
-
- // Clear views
- SFMLView1.clear();
- SFMLView2.clear();
-
- // Draw sprite 1 on view 1
- sprite1.setRotation(time * 100);
- SFMLView1.draw(sprite1);
-
- // Draw sprite 2 on view 2
- sprite2.setPosition(std::cos(time) * 100.f, 0.f);
- SFMLView2.draw(sprite2);
-
- // Display each view on screen
- SFMLView1.display();
- SFMLView2.display();
- }
- }
-
- // Destroy the main window (all its child controls will be destroyed)
- DestroyWindow(window);
-
- // Don't forget to unregister the window class
- UnregisterClass(TEXT("SFML App"), instance);
-
- return EXIT_SUCCESS;
-}
+
+////////////////////////////////////////////////////////////
+// Headers
+////////////////////////////////////////////////////////////
+#include <SFML/Graphics.hpp>
+#include <windows.h>
+#include <cmath>
+
+HWND button;
+
+
+////////////////////////////////////////////////////////////
+/// Function called whenever one of our windows receives a message
+///
+////////////////////////////////////////////////////////////
+LRESULT CALLBACK onEvent(HWND handle, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ switch (message)
+ {
+ // Quit when we close the main window
+ case WM_CLOSE:
+ {
+ PostQuitMessage(0);
+ return 0;
+ }
+
+ // Quit when we click the "quit" button
+ case WM_COMMAND:
+ {
+ if (reinterpret_cast<HWND>(lParam) == button)
+ {
+ PostQuitMessage(0);
+ return 0;
+ }
+ }
+ }
+
+ return DefWindowProc(handle, message, wParam, lParam);
+}
+
+
+////////////////////////////////////////////////////////////
+/// Entry point of application
+///
+/// \param Instance: Instance of the application
+///
+/// \return Error code
+///
+////////////////////////////////////////////////////////////
+INT WINAPI WinMain(HINSTANCE instance, HINSTANCE, LPSTR, INT)
+{
+ // Define a class for our main window
+ WNDCLASS windowClass;
+ windowClass.style = 0;
+ windowClass.lpfnWndProc = &onEvent;
+ windowClass.cbClsExtra = 0;
+ windowClass.cbWndExtra = 0;
+ windowClass.hInstance = instance;
+ windowClass.hIcon = NULL;
+ windowClass.hCursor = 0;
+ windowClass.hbrBackground = reinterpret_cast<HBRUSH>(COLOR_BACKGROUND);
+ windowClass.lpszMenuName = NULL;
+ windowClass.lpszClassName = TEXT("SFML App");
+ RegisterClass(&windowClass);
+
+ // Let's create the main window
+ HWND window = CreateWindow(TEXT("SFML App"), TEXT("SFML Win32"), WS_SYSMENU | WS_VISIBLE, 200, 200, 660, 520, NULL, NULL, instance, NULL);
+
+ // Add a button for exiting
+ button = CreateWindow(TEXT("BUTTON"), TEXT("Quit"), WS_CHILD | WS_VISIBLE, 560, 440, 80, 40, window, NULL, instance, NULL);
+
+ // Let's create two SFML views
+ HWND view1 = CreateWindow(TEXT("STATIC"), NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS, 20, 20, 300, 400, window, NULL, instance, NULL);
+ HWND view2 = CreateWindow(TEXT("STATIC"), NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS, 340, 20, 300, 400, window, NULL, instance, NULL);
+ sf::RenderWindow SFMLView1(view1);
+ sf::RenderWindow SFMLView2(view2);
+
+ // Load some textures to display
+ sf::Texture texture1, texture2;
+ if (!texture1.loadFromFile("resources/image1.jpg") || !texture2.loadFromFile("resources/image2.jpg"))
+ return EXIT_FAILURE;
+ sf::Sprite sprite1(texture1);
+ sf::Sprite sprite2(texture2);
+ sprite1.setOrigin(sf::Vector2f(texture1.getSize()) / 2.f);
+ sprite1.setPosition(sprite1.getOrigin());
+
+ // Create a clock for measuring elapsed time
+ sf::Clock clock;
+
+ // Loop until a WM_QUIT message is received
+ MSG message;
+ message.message = static_cast<UINT>(~WM_QUIT);
+ while (message.message != WM_QUIT)
+ {
+ if (PeekMessage(&message, NULL, 0, 0, PM_REMOVE))
+ {
+ // If a message was waiting in the message queue, process it
+ TranslateMessage(&message);
+ DispatchMessage(&message);
+ }
+ else
+ {
+ float time = clock.getElapsedTime().asSeconds();
+
+ // Clear views
+ SFMLView1.clear();
+ SFMLView2.clear();
+
+ // Draw sprite 1 on view 1
+ sprite1.setRotation(time * 100);
+ SFMLView1.draw(sprite1);
+
+ // Draw sprite 2 on view 2
+ sprite2.setPosition(std::cos(time) * 100.f, 0.f);
+ SFMLView2.draw(sprite2);
+
+ // Display each view on screen
+ SFMLView1.display();
+ SFMLView2.display();
+ }
+ }
+
+ // Destroy the main window (all its child controls will be destroyed)
+ DestroyWindow(window);
+
+ // Don't forget to unregister the window class
+ UnregisterClass(TEXT("SFML App"), instance);
+
+ return EXIT_SUCCESS;
+}