Browse Source

Fix SFML sample so that it only sends through Text events for characters greater than scancode 32.

Lloyd Weehuizen 15 years ago
parent
commit
c6e36f2981
1 changed files with 106 additions and 105 deletions
  1. 106 105
      Samples/basic/sfml/src/main.cpp

+ 106 - 105
Samples/basic/sfml/src/main.cpp

@@ -24,108 +24,109 @@
  * THE SOFTWARE.
  *
  */
-
-
-#include <Rocket/Core.h>
-#include "SystemInterfaceSFML.h"
-#include "RenderInterfaceSFML.h"
-#include <Rocket/Core/Input.h>
-#include <Rocket/Debugger/Debugger.h>
-#include "ShellFileInterface.h"
-
-int main(int argc, char **argv)
-{
-	sf::RenderWindow MyWindow(sf::VideoMode(800, 600), "libRocket with SFML");
-
-	RocketSFMLRenderer Renderer;
-	RocketSFMLSystemInterface SystemInterface;
-	ShellFileInterface FileInterface("../Samples/assets/");
-
-	if(!MyWindow.IsOpened())
-		return 1;
-
-	Renderer.SetWindow(&MyWindow);
-
-	Rocket::Core::SetFileInterface(&FileInterface);
-	Rocket::Core::SetRenderInterface(&Renderer);
-	Rocket::Core::SetSystemInterface(&SystemInterface);
-
-	if(!Rocket::Core::Initialise())
-		return 1;
-
-	Rocket::Core::FontDatabase::LoadFontFace("Delicious-Bold.otf");
-	Rocket::Core::FontDatabase::LoadFontFace("Delicious-BoldItalic.otf");
-	Rocket::Core::FontDatabase::LoadFontFace("Delicious-Italic.otf");
-	Rocket::Core::FontDatabase::LoadFontFace("Delicious-Roman.otf");
-
-	Rocket::Core::Context *Context = Rocket::Core::CreateContext("default",
-		Rocket::Core::Vector2i(MyWindow.GetWidth(), MyWindow.GetHeight()));
-
-	Rocket::Debugger::Initialise(Context);
-
-	Rocket::Core::ElementDocument *Document = Context->LoadDocument("demo.rml");
-
-	if(Document)
-	{
-		Document->Show();
-		Document->RemoveReference();
-	};
-
-	while(MyWindow.IsOpened())
-	{
-		static sf::Event event;
-
-		MyWindow.Clear();
-		Context->Render();
-		MyWindow.Display();
-
-		while(MyWindow.GetEvent(event))
-		{
-			switch(event.Type)
-			{
-			case sf::Event::Resized:
-				Renderer.Resize();
-				break;
-			case sf::Event::MouseMoved:
-				Context->ProcessMouseMove(event.MouseMove.X, event.MouseMove.Y,
-					SystemInterface.GetKeyModifiers(&MyWindow));
-				break;
-			case sf::Event::MouseButtonPressed:
-				Context->ProcessMouseButtonDown(event.MouseButton.Button,
-					SystemInterface.GetKeyModifiers(&MyWindow));
-				break;
-			case sf::Event::MouseButtonReleased:
-				Context->ProcessMouseButtonUp(event.MouseButton.Button,
-					SystemInterface.GetKeyModifiers(&MyWindow));
-				break;
-			case sf::Event::MouseWheelMoved:
-				Context->ProcessMouseWheel(event.MouseWheel.Delta,
-					SystemInterface.GetKeyModifiers(&MyWindow));
-				break;
-			case sf::Event::TextEntered:
-				Context->ProcessTextInput(event.Text.Unicode);
-				break;
-			case sf::Event::KeyPressed:
-				Context->ProcessKeyDown(SystemInterface.TranslateKey(event.Key.Code),
-					SystemInterface.GetKeyModifiers(&MyWindow));
-				break;
-			case sf::Event::KeyReleased:
-				if(event.Key.Code == sf::Key::F8)
-				{
-					Rocket::Debugger::SetVisible(!Rocket::Debugger::IsVisible());
-				};
-
-				Context->ProcessKeyUp(SystemInterface.TranslateKey(event.Key.Code),
-					SystemInterface.GetKeyModifiers(&MyWindow));
-				break;
-			case sf::Event::Closed:
-				return 1;
-				break;
-			};
-		};
-
-		Context->Update();
-	};
-
-	return 0;
-};
+
+
+#include <Rocket/Core.h>
+#include "SystemInterfaceSFML.h"
+#include "RenderInterfaceSFML.h"
+#include <Rocket/Core/Input.h>
+#include <Rocket/Debugger/Debugger.h>
+#include "ShellFileInterface.h"
+
+int main(int argc, char **argv)
+{
+	sf::RenderWindow MyWindow(sf::VideoMode(800, 600), "libRocket with SFML");
+
+	RocketSFMLRenderer Renderer;
+	RocketSFMLSystemInterface SystemInterface;
+	ShellFileInterface FileInterface("../Samples/assets/");
+
+	if(!MyWindow.IsOpened())
+		return 1;
+
+	Renderer.SetWindow(&MyWindow);
+
+	Rocket::Core::SetFileInterface(&FileInterface);
+	Rocket::Core::SetRenderInterface(&Renderer);
+	Rocket::Core::SetSystemInterface(&SystemInterface);
+
+	if(!Rocket::Core::Initialise())
+		return 1;
+
+	Rocket::Core::FontDatabase::LoadFontFace("Delicious-Bold.otf");
+	Rocket::Core::FontDatabase::LoadFontFace("Delicious-BoldItalic.otf");
+	Rocket::Core::FontDatabase::LoadFontFace("Delicious-Italic.otf");
+	Rocket::Core::FontDatabase::LoadFontFace("Delicious-Roman.otf");
+
+	Rocket::Core::Context *Context = Rocket::Core::CreateContext("default",
+		Rocket::Core::Vector2i(MyWindow.GetWidth(), MyWindow.GetHeight()));
+
+	Rocket::Debugger::Initialise(Context);
+
+	Rocket::Core::ElementDocument *Document = Context->LoadDocument("demo.rml");
+
+	if(Document)
+	{
+		Document->Show();
+		Document->RemoveReference();
+	};
+
+	while(MyWindow.IsOpened())
+	{
+		static sf::Event event;
+
+		MyWindow.Clear();
+		Context->Render();
+		MyWindow.Display();
+
+		while(MyWindow.GetEvent(event))
+		{
+			switch(event.Type)
+			{
+			case sf::Event::Resized:
+				Renderer.Resize();
+				break;
+			case sf::Event::MouseMoved:
+				Context->ProcessMouseMove(event.MouseMove.X, event.MouseMove.Y,
+					SystemInterface.GetKeyModifiers(&MyWindow));
+				break;
+			case sf::Event::MouseButtonPressed:
+				Context->ProcessMouseButtonDown(event.MouseButton.Button,
+					SystemInterface.GetKeyModifiers(&MyWindow));
+				break;
+			case sf::Event::MouseButtonReleased:
+				Context->ProcessMouseButtonUp(event.MouseButton.Button,
+					SystemInterface.GetKeyModifiers(&MyWindow));
+				break;
+			case sf::Event::MouseWheelMoved:
+				Context->ProcessMouseWheel(event.MouseWheel.Delta,
+					SystemInterface.GetKeyModifiers(&MyWindow));
+				break;
+			case sf::Event::TextEntered:
+				if (event.Text.Unicode > 32)
+					Context->ProcessTextInput(event.Text.Unicode);
+				break;
+			case sf::Event::KeyPressed:
+				Context->ProcessKeyDown(SystemInterface.TranslateKey(event.Key.Code),
+					SystemInterface.GetKeyModifiers(&MyWindow));
+				break;
+			case sf::Event::KeyReleased:
+				if(event.Key.Code == sf::Key::F8)
+				{
+					Rocket::Debugger::SetVisible(!Rocket::Debugger::IsVisible());
+				};
+
+				Context->ProcessKeyUp(SystemInterface.TranslateKey(event.Key.Code),
+					SystemInterface.GetKeyModifiers(&MyWindow));
+				break;
+			case sf::Event::Closed:
+				return 1;
+				break;
+			};
+		};
+
+		Context->Update();
+	};
+
+	return 0;
+};