|
|
@@ -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;
|
|
|
+};
|