本文整理汇总了C++中rocket::core::ElementDocument类的典型用法代码示例。如果您正苦于以下问题:C++ ElementDocument类的具体用法?C++ ElementDocument怎么用?C++ ElementDocument使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ElementDocument类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Rocket_SetInnerRMLById
void Rocket_SetInnerRMLById( const char *name, const char *id, const char *RML, int parseFlags )
{
Rocket::Core::String newRML = parseFlags ? Rocket_QuakeToRML( RML, parseFlags ) : RML;
if ( ( !*name || !*id ) && activeElement )
{
Rocket_SetInnerRMLGuarded( activeElement, newRML );
}
else
{
Rocket::Core::ElementDocument *document = menuContext->GetDocument( name );
if ( document )
{
Rocket::Core::Element *e = document->GetElementById( id );
if ( e )
{
Rocket_SetInnerRMLGuarded( e, newRML );
}
}
}
}
示例2: UiBase
GameMenu::GameMenu(WindowFramework* window, Rocket::Core::Context* context) : UiBase(window, context)
{
Rocket::Core::ElementDocument* doc = context->LoadDocument("data/main_menu.rml");
root = doc;
if (doc)
{
doc->Show();
ToggleEventListener(true, "continue", "click", _continueClicked);
ToggleEventListener(true, "options", "click", _optionsClicked);
ToggleEventListener(true, "exit", "click", _exitClicked);
ToggleEventListener(true, "save", "click", _saveClicked);
ToggleEventListener(true, "load", "click", _loadClicked);
_continueClicked.EventReceived.Connect(*this, &GameMenu::MenuEventContinue);
_exitClicked.EventReceived.Connect(ExitClicked, &Sync::Signal<void (Rocket::Core::Event&)>::Emit);
_saveClicked.EventReceived.Connect(SaveClicked, &Sync::Signal<void (Rocket::Core::Event&)>::Emit);
_loadClicked.EventReceived.Connect(LoadClicked, &Sync::Signal<void (Rocket::Core::Event&)>::Emit);
_optionsClicked.EventReceived.Connect(OptionsClicked, &Sync::Signal<void (Rocket::Core::Event&)>::Emit);
Translate();
}
}
示例3: LoadDiskTexture
bool ElementImage::LoadDiskTexture()
{
texture_dirty = false;
// Get the source URL for the image.
String image_source = GetAttribute< String >("src", "");
if (image_source.Empty())
return false;
geometry_dirty = true;
Rocket::Core::ElementDocument* document = GetOwnerDocument();
URL source_url(document == NULL ? "" : document->GetSourceURL());
if (!texture.Load(image_source, source_url.GetPath()))
{
geometry.SetTexture(NULL);
return false;
}
// Set the texture onto our geometry object.
geometry.SetTexture(&texture);
return true;
}
示例4:
// Loads a window and binds the event handler for it.
Rocket::Core::ElementDocument* EventManager::LoadWindow(const Rocket::Core::String& window_name)
{
// Set the event handler for the new screen, if one has been registered.
EventHandler* old_event_handler = event_handler;
EventHandlerMap::iterator iterator = event_handlers.find(window_name);
if (iterator != event_handlers.end())
{
event_handler = iterator->second;
//Rocket::Core::Log::Message(Rocket::Core::Log::LT_INFO, "%s", window_name.CString());
}
else
event_handler = NULL;
// Attempt to load the referenced RML document.
Rocket::Core::String document_path = Rocket::Core::String("data/") + window_name + Rocket::Core::String(".rml");
Rocket::Core::ElementDocument* document = Context->LoadDocument(document_path.CString());
if (document == nullptr)
{
event_handler = old_event_handler;
return nullptr;
}
document->SetId(window_name);
// Set the element's title on the title; IDd 'title' in the RML.
Rocket::Core::Element* title = document->GetElementById("title");
if (title != NULL)
title->SetInnerRML(document->GetTitle());
document->Focus();
document->Show();
// Remove the caller's reference.
document->RemoveReference();
return document;
}
示例5: main
int main(int argc, char **argv)
{
#ifdef ROCKET_PLATFORM_WIN32
DoAllocConsole();
#endif
int window_width = 1024;
int window_height = 768;
sf::RenderWindow MyWindow(sf::VideoMode(window_width, window_height), "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();
//.........这里部分代码省略.........
示例6: main
int main(int ROCKET_UNUSED_PARAMETER(argc), char** ROCKET_UNUSED_PARAMETER(argv))
#endif
{
#ifdef ROCKET_PLATFORM_WIN32
ROCKET_UNUSED(instance_handle);
ROCKET_UNUSED(previous_instance_handle);
ROCKET_UNUSED(command_line);
ROCKET_UNUSED(command_show);
#else
ROCKET_UNUSED(argc);
ROCKET_UNUSED(argv);
#endif
#ifdef ROCKET_PLATFORM_LINUX
#define APP_PATH "../Samples/tutorial/datagrid_tree/"
#else
#define APP_PATH "../../Samples/tutorial/datagrid_tree/"
#endif
#ifdef ROCKET_PLATFORM_WIN32
DoAllocConsole();
#endif
int window_width = 1024;
int window_height = 768;
ShellRenderInterfaceOpenGL opengl_renderer;
shell_renderer = &opengl_renderer;
// Generic OS initialisation, creates a window and attaches OpenGL.
if (!Shell::Initialise(APP_PATH) ||
!Shell::OpenWindow("Datagrid Tree Tutorial", shell_renderer, window_width, window_height, true))
{
Shell::Shutdown();
return -1;
}
// Rocket initialisation.
Rocket::Core::SetRenderInterface(&opengl_renderer);
opengl_renderer.SetViewport(window_width, window_height);
ShellSystemInterface system_interface;
Rocket::Core::SetSystemInterface(&system_interface);
Rocket::Core::Initialise();
Rocket::Controls::Initialise();
// Create the main Rocket context and set it on the shell's input layer.
context = Rocket::Core::CreateContext("main", Rocket::Core::Vector2i(window_width, window_height));
if (context == NULL)
{
Rocket::Core::Shutdown();
Shell::Shutdown();
return -1;
}
Rocket::Debugger::Initialise(context);
Input::SetContext(context);
shell_renderer->SetContext(context);
Shell::LoadFonts("../../assets/");
// Load the defender decorator.
Rocket::Core::DecoratorInstancer* decorator_instancer = Rocket::Core::Factory::RegisterDecoratorInstancer("defender", new DecoratorInstancerDefender());
if (decorator_instancer != NULL)
decorator_instancer->RemoveReference();
// Add the ship formatter.
HighScoresShipFormatter ship_formatter;
// Construct the high scores.
HighScores::Initialise();
// Load and show the tutorial document.
Rocket::Core::ElementDocument* document = context->LoadDocument("data/tutorial.rml");
document->GetElementById("title")->SetInnerRML(document->GetTitle());
if (document != NULL)
{
document->Show();
document->RemoveReference();
}
Shell::EventLoop(GameLoop);
// Shut down the high scores.
HighScores::Shutdown();
// Shutdown Rocket.
context->RemoveReference();
Rocket::Core::Shutdown();
Shell::CloseWindow();
Shell::Shutdown();
return 0;
}
示例7: main
int main(int ROCKET_UNUSED(argc), char** ROCKET_UNUSED(argv))
#endif
{
// Generic OS initialisation, creates a window and does not attach OpenGL.
if (!Shell::Initialise("../Samples/basic/directx/") ||
!Shell::OpenWindow("DirectX Sample", false))
{
Shell::Shutdown();
return -1;
}
// DirectX initialisation.
if (!InitialiseDirectX())
{
Shell::CloseWindow();
Shell::Shutdown();
return -1;
}
// Install our DirectX render interface into Rocket.
RenderInterfaceDirectX directx_renderer(g_pD3D, g_pd3dDevice);
Rocket::Core::SetRenderInterface(&directx_renderer);
ShellSystemInterface system_interface;
Rocket::Core::SetSystemInterface(&system_interface);
Rocket::Core::Initialise();
// Create the main Rocket context and set it on the shell's input layer.
context = Rocket::Core::CreateContext("main", Rocket::Core::Vector2i(1024, 768));
if (context == NULL)
{
Rocket::Core::Shutdown();
Shell::Shutdown();
return -1;
}
Rocket::Debugger::Initialise(context);
Input::SetContext(context);
Shell::LoadFonts("../../assets/");
// Load and show the tutorial document.
Rocket::Core::ElementDocument* document = context->LoadDocument("../../assets/demo.rml");
if (document != NULL)
{
document->Show();
document->RemoveReference();
}
Shell::EventLoop(GameLoop);
// Shutdown Rocket.
context->RemoveReference();
Rocket::Core::Shutdown();
ShutdownDirectX();
Shell::CloseWindow();
Shell::Shutdown();
return 0;
}
示例8: main
int main(int ROCKET_UNUSED_PARAMETER(argc), char** ROCKET_UNUSED_PARAMETER(argv))
#endif
{
#ifdef ROCKET_PLATFORM_WIN32
ROCKET_UNUSED(instance_handle);
ROCKET_UNUSED(previous_instance_handle);
ROCKET_UNUSED(command_line);
ROCKET_UNUSED(command_show);
#else
ROCKET_UNUSED(argc);
ROCKET_UNUSED(argv);
#endif
// Generic OS initialisation, creates a window and attaches OpenGL.
if (!Shell::Initialise("../Samples/tutorial/template/") ||
!Shell::OpenWindow("Template Tutorial", true))
{
Shell::Shutdown();
return -1;
}
// Rocket initialisation.
ShellRenderInterfaceOpenGL opengl_renderer;
Rocket::Core::SetRenderInterface(&opengl_renderer);
opengl_renderer.SetViewport(1024, 768);
ShellSystemInterface system_interface;
Rocket::Core::SetSystemInterface(&system_interface);
Rocket::Core::Initialise();
// Create the main Rocket context and set it on the shell's input layer.
context = Rocket::Core::CreateContext("main", Rocket::Core::Vector2i(1024, 768));
if (context == NULL)
{
Rocket::Core::Shutdown();
Shell::Shutdown();
return -1;
}
Rocket::Debugger::Initialise(context);
Input::SetContext(context);
Shell::LoadFonts("../../assets/");
// Load and show the tutorial document.
Rocket::Core::ElementDocument* document = context->LoadDocument("data/tutorial.rml");
if (document != NULL)
{
document->Show();
document->RemoveReference();
}
Shell::EventLoop(GameLoop);
// Shutdown Rocket.
context->RemoveReference();
Rocket::Core::Shutdown();
Shell::CloseWindow();
Shell::Shutdown();
return 0;
}
示例9: main
int main(int ROCKET_UNUSED(argc), char** ROCKET_UNUSED(argv))
#endif
{
// Generic OS initialisation, creates a window and attaches OpenGL.
if (!Shell::Initialise("../Samples/basic/customlog/") ||
!Shell::OpenWindow("Custom File Handler Sample", true))
{
Shell::Shutdown();
return -1;
}
// Rocket initialisation.
ShellRenderInterfaceOpenGL opengl_renderer;
Rocket::Core::SetRenderInterface(&opengl_renderer);
opengl_renderer.SetViewport(1024,768);
// Initialise our system interface to write the log messages to file.
SystemInterface system_interface;
Rocket::Core::SetSystemInterface(&system_interface);
Rocket::Core::Initialise();
// Create the main Rocket context and set it on the shell's input layer.
context = Rocket::Core::CreateContext("main", Rocket::Core::Vector2i(1024, 768));
if (context == NULL)
{
Rocket::Core::Shutdown();
Shell::Shutdown();
return -1;
}
Rocket::Debugger::Initialise(context);
Input::SetContext(context);
Shell::LoadFonts("../../assets/");
// Load a non-existent document to spawn an error message.
Rocket::Core::ElementDocument* invalid_document = context->LoadDocument("../../assets/invalid.rml");
ROCKET_ASSERTMSG(invalid_document != NULL, "Testing ASSERT logging.");
if (invalid_document != NULL)
{
invalid_document->RemoveReference();
invalid_document->Close();
}
// Load and show the demo document.
Rocket::Core::ElementDocument* document = context->LoadDocument("../../assets/demo.rml");
if (document != NULL)
{
document->Show();
document->RemoveReference();
}
Shell::EventLoop(GameLoop);
// Shutdown Rocket.
context->RemoveReference();
Rocket::Core::Shutdown();
Shell::CloseWindow();
Shell::Shutdown();
return 0;
}
示例10: Undefined
Handle<Value> EDClose(const Arguments& args)
{
Rocket::Core::ElementDocument* v = UnwrapElementDocument(args.This());
v->Close();
return Undefined();
}
示例11: Rocket_DocumentAction
void Rocket_DocumentAction(const char* name, const char* action) {
if (!Q_stricmp(action, "show") || !Q_stricmp(action, "open")) {
Rocket::Core::ElementDocument* document = menuContext->GetDocument(name);
if (document) {
document->Show();
}
} else if (!Q_stricmp("close", action)) {
if (!*name) // If name is empty, hide active
{
if (menuContext->GetFocusElement() &&
menuContext->GetFocusElement()->GetOwnerDocument()) {
menuContext->GetFocusElement()->GetOwnerDocument()->Close();
}
return;
}
Rocket::Core::ElementDocument* document = menuContext->GetDocument(name);
if (document) {
document->Close();
}
} else if (!Q_stricmp("goto", action)) {
Rocket::Core::ElementDocument* document = menuContext->GetDocument(name);
if (document) {
Rocket::Core::ElementDocument* owner =
menuContext->GetFocusElement()->GetOwnerDocument();
if (owner) {
owner->Close();
}
document->Show();
}
} else if (!Q_stricmp("load", action)) {
Rocket_LoadDocument(name);
} else if (!Q_stricmp("blur", action) || !Q_stricmp("hide", action)) {
Rocket::Core::ElementDocument* document = nullptr;
if (!*name) // If name is empty, hide active
{
if (menuContext->GetFocusElement() &&
menuContext->GetFocusElement()->GetOwnerDocument()) {
document = menuContext->GetFocusElement()->GetOwnerDocument();
}
} else {
document = menuContext->GetDocument(name);
}
if (document) {
document->Hide();
}
} else if (!Q_stricmp("blurall", action)) {
for (int i = 0; i < menuContext->GetNumDocuments(); ++i) {
menuContext->GetDocument(i)->Hide();
}
} else if (!Q_stricmp("reload", action)) {
Rocket::Core::ElementDocument* document = nullptr;
if (!*name) // If name is empty, hide active
{
if (menuContext->GetFocusElement() &&
menuContext->GetFocusElement()->GetOwnerDocument()) {
document = menuContext->GetFocusElement()->GetOwnerDocument();
}
} else {
document = menuContext->GetDocument(name);
}
if (document) {
Rocket::Core::String url = document->GetSourceURL();
document->Close();
document = menuContext->LoadDocument(url);
document->Show();
}
}
}
示例12: Rocket_LoadCursor
void Rocket_LoadCursor(const char* path) {
Rocket::Core::ElementDocument* document = menuContext->LoadMouseCursor(path);
if (document) {
document->RemoveReference();
}
}
示例13: main
int main(int argc, char *argv[])
{
Options& options = Options::GetInstance();
options.LoadFromCommandLine(argc, argv);
options.LoadFromIniFile("gravity.ini");
GRAVITY_LOG(info, "Client started.");
sf::ContextSettings settings;
settings.depthBits = 0;
settings.stencilBits = 8;
settings.antialiasingLevel = options.msaa;
int style = options.fullscreen ? sf::Style::Fullscreen : sf::Style::Default;
sf::RenderWindow window(sf::VideoMode(options.hres, options.vres, options.bitdepth), "Gravity", style, settings);
::Gravity::Game::Game game;
game.Start();
BoundingCamera camera(Vec2f(400, 300), Vec2f());
// ROCKET
RocketRendererInterfaceImpl rendererInterface;
RocketSystemInterfaceImpl systemInterface;
RocketShellInterfaceImpl shellInterface("../data/gui/");
rendererInterface.target = &window;
rendererInterface.states = (sf::RenderStates *) &sf::RenderStates::Default;
Rocket::Core::SetFileInterface(&shellInterface);
Rocket::Core::SetRenderInterface(&rendererInterface);
Rocket::Core::SetSystemInterface(&systemInterface);
if(!Rocket::Core::Initialise())
return 0;
Rocket::Controls::Initialise();
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::FontDatabase::LoadFontFace("DejaVuSans-Bold.ttf");
Rocket::Core::FontDatabase::LoadFontFace("DejaVuSans-BoldOblique.ttf");
Rocket::Core::FontDatabase::LoadFontFace("DejaVuSans-Oblique.ttf");
Rocket::Core::FontDatabase::LoadFontFace("DejaVuSans.ttf");
Rocket::Core::Context *Context = Rocket::Core::CreateContext("default",
Rocket::Core::Vector2i(window.getSize().x, window.getSize().y));
Rocket::Debugger::Initialise(Context);
//Rocket::Debugger::SetVisible(true);
Rocket::Core::ElementDocument *document = Context->LoadDocument("my.rml");
if(document)
{
document->Show();
document->RemoveReference();
};
// END ROCKET
//Rocket::Core::ElementDocument* document;
std::cout << "OpenGL Version" << window.getSettings().ContextSettings::majorVersion << "." << window.getSettings().ContextSettings::minorVersion << std::endl;
sf::ContextSettings settingz = window.getSettings();
std::cout << settingz.majorVersion << "." << settingz.minorVersion << std::endl;
while(window.isOpen()) {
sf::Event event;
Entity* ship = game.GetWorld().GetEntities()[0];
while (window.pollEvent(event)) {
//window.PollEvent(event);
if (event.type == sf::Event::Closed)
window.close();
if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Escape))
return 0;
if ((event.type == sf::Event::MouseWheelMoved)) {
options.renderscale += event.mouseWheel.delta*.1f;
}
if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Space)) {
Shape* bombShape = Shape::CreateBombShape();
Entity* bomb = new Entity(game.GetWorld(), *bombShape, ship->GetPos() + Vec2f(1, 1));
bomb->SetVel(ship->GetVel());
bomb->SetMass(0.01f);
game.GetWorld().AddEntity(*bomb);
}
switch(event.type)
{
case sf::Event::Resized:
//.........这里部分代码省略.........
示例14: uninitRocket
void GuiDemo::uninitRocket()
{
if (m_document) m_document->RemoveReference();
m_document = 0;
// Shutdown Rocket.
if (m_rkContext) m_rkContext->RemoveReference();
m_rkContext = 0;
Rocket::Core::Shutdown();
delete m_rkOgreSystem; m_rkOgreSystem = 0;
delete m_rkOgreRenderer; m_rkOgreRenderer = 0;
delete m_rkFileInterface; m_rkFileInterface = 0;
delete m_rkEventListener; m_rkEventListener = 0;
delete m_rkRenderListener; m_rkRenderListener = 0;
}