Ejemplo n.º 1
0
void UrhoRenderer::HandleScreenModeChange(StringHash /*eventType*/, VariantMap& /*eventData*/)
{
    ConfigAPI *config = framework->Config();
    if (!config)
        return;

    HashMap<String, Variant> data;

    Urho3D::Graphics* graphics = GetSubsystem<Urho3D::Graphics>();
    if (graphics)
    {
        data["window position"] = graphics->GetWindowPosition();
        data["window size"] = Urho3D::IntVector2(graphics->GetWidth(), graphics->GetHeight());
        data["window fullscreen"] = graphics->GetFullscreen();
    
        /* Store potentially frequent runtime changes in memory only.
        The changes will be written to disk latest at a clean Framework exit. */
        ConfigFile &f = config->GetFile(ConfigAPI::FILE_FRAMEWORK);
        f.Set(ConfigAPI::SECTION_GRAPHICS, data);
    }
}
Ejemplo n.º 2
0
		RocketDocument3D::RocketDocument3D(Urho3D::Context* context) :
			Drawable(context, Urho3D::DRAWABLE_GEOMETRY)
		{
			Urho3D::Graphics* graphics = GetSubsystem<Urho3D::Graphics>();

			zorder = 0.f;

			noTextureVS = graphics->GetShader(Urho3D::VS, "Basic", "VERTEXCOLOR");
			noTexturePS = graphics->GetShader(Urho3D::PS, "Basic", "VERTEXCOLOR");

			diffTextureVS = graphics->GetShader(Urho3D::VS, "Basic", "DIFFMAP VERTEXCOLOR");
			diffTexturePS = graphics->GetShader(Urho3D::PS, "Basic", "DIFFMAP VERTEXCOLOR");

			//Urho3D::Material* mat = new Urho3D::Material(context);
			

			_rocketContext = std::shared_ptr<::Rocket::Core::Context>(
				::Rocket::Core::CreateContext("main2",
				::Rocket::Core::Vector2i(graphics->GetWidth(), graphics->GetHeight()),
				this));
			input = new RocketInput(Urho3D::Object::GetContext(), _rocketContext.get());

			::Rocket::Core::FontDatabase::LoadFontFace("Data/Fonts/Delicious-Bold.otf");
			::Rocket::Core::FontDatabase::LoadFontFace("Data/Fonts/Delicious-BoldItalic.otf");
			::Rocket::Core::FontDatabase::LoadFontFace("Data/Fonts/Delicious-Italic.otf");
			::Rocket::Core::FontDatabase::LoadFontFace("Data/Fonts/Delicious-Roman.otf");

			::Rocket::Core::ElementDocument *Document = _rocketContext->LoadDocument("Data/UI/rocketDemo.html");
//			::Rocket::Core::ElementDocument *Document = _rocketContext->LoadDocument("Data/UI/demo.rml");

			if (Document)
			{
				Document->Show();
			};

			SubscribeToEvent(Urho3D::E_UPDATE, HANDLER(RocketDocument3D, HandleUpdate));
			SubscribeToEvent(Urho3D::E_ENDRENDERING, HANDLER(RocketDocument3D, HandlePostRender));
		}
Ejemplo n.º 3
0
int UrhoRenderer::WindowWidth() const
{
    Urho3D::Graphics* gfx = GetSubsystem<Urho3D::Graphics>();
    return gfx ? gfx->GetWidth() : 0;
}