Feature/globals (#690)

* Move global objects out of OpenSpaceEngine
 * General cleanup of main.cpp
 * Add default_joystick asset to all scenes
 * No longer suppress mouse interaction on slave nodes
 * Window delegate uses function pointers rather than subclassing
 * Fix for false overwriting of ImGUI configuration file
 * Change default color and tilt angle of fisheye rendering
 * Restructured performance manager
 * Simplify screenshot handling
This commit is contained in:
Alexander Bock
2018-08-30 11:38:47 -04:00
committed by GitHub
parent c287c03fe8
commit 9f1c4e847d
177 changed files with 3103 additions and 3952 deletions

View File

@@ -26,6 +26,7 @@
#include "cefwebguimodule.h"
#include <openspace/engine/configuration.h>
#include <openspace/engine/globalscallbacks.h>
#include <openspace/engine/openspaceengine.h>
#include <openspace/engine/moduleengine.h>
#include <openspace/engine/wrapper/windowwrapper.h>
@@ -48,46 +49,39 @@ void CefWebGuiModule::internalInitialize(const ghoul::Dictionary&) {
_guiInstance = std::make_shared<BrowserInstance>(new GUIRenderHandler);
_guiLocation = OsEng.configuration().cefWebGuiUrl;
OsEng.registerModuleCallback(
OpenSpaceEngine::CallbackOption::Initialize,
[this]() {
LDEBUGC("WebBrowser", fmt::format("Loading GUI from {}", _guiLocation));
_guiInstance->loadUrl(_guiLocation);
WebBrowserModule* webBrowserModule =
OsEng.moduleEngine().module<WebBrowserModule>();
global::callback::initialize.push_back([this]() {
LDEBUGC("WebBrowser", fmt::format("Loading GUI from {}", _guiLocation));
_guiInstance->loadUrl(_guiLocation);
WebBrowserModule* webBrowserModule =
OsEng.moduleEngine().module<WebBrowserModule>();
if (webBrowserModule) {
webBrowserModule->attachEventHandler(_guiInstance);
webBrowserModule->addBrowser(_guiInstance);
}
if (webBrowserModule) {
webBrowserModule->attachEventHandler(_guiInstance);
webBrowserModule->addBrowser(_guiInstance);
}
);
OsEng.registerModuleCallback(
OpenSpaceEngine::CallbackOption::Render,
[this](){
WindowWrapper& wrapper = OsEng.windowWrapper();
if (wrapper.isMaster()) {
if (wrapper.windowHasResized()) {
_guiInstance->reshape(wrapper.currentWindowSize());
}
});
_guiInstance->draw();
global::callback::render.push_back([this](){
WindowWrapper& wrapper = OsEng.windowWrapper();
if (wrapper.isMaster()) {
if (wrapper.windowHasResized()) {
_guiInstance->reshape(wrapper.currentWindowSize());
}
}
);
OsEng.registerModuleCallback(
OpenSpaceEngine::CallbackOption::Deinitialize,
[this]() {
_guiInstance->close(true);
WebBrowserModule* webBrowserModule =
OsEng.moduleEngine().module<WebBrowserModule>();
if (webBrowserModule) {
webBrowserModule->removeBrowser(_guiInstance);
}
_guiInstance.reset();
_guiInstance->draw();
}
);
});
global::callback::deinitialize.push_back()[this]() {
_guiInstance->close(true);
WebBrowserModule* webBrowserModule =
OsEng.moduleEngine().module<WebBrowserModule>();
if (webBrowserModule) {
webBrowserModule->removeBrowser(_guiInstance);
}
_guiInstance.reset();
});
}
} // namespace openspace