Added default font

Former-commit-id: 84fc15f2c6d46bcfb55236863611f2fb96961a6d
This commit is contained in:
Lynix
2015-01-18 10:38:50 +01:00
parent c02fe6c8ff
commit e30c447bd5
6 changed files with 61 additions and 5 deletions

View File

@@ -96,9 +96,30 @@ void NzGraphics::Uninitialize()
s_moduleReferenceCounter = 0;
// Libération de l'atlas s'il vient de nous
if (NzFont::GetDefaultAtlas()->GetStorage() & nzDataStorage_Hardware)
std::shared_ptr<NzAbstractAtlas> defaultAtlas = NzFont::GetDefaultAtlas();
if (defaultAtlas && defaultAtlas->GetStorage() & nzDataStorage_Hardware)
{
NzFont::SetDefaultAtlas(nullptr);
// La police par défaut peut faire vivre un atlas hardware après la libération du module (ce qui va être problématique)
// du coup, si la police par défaut utilise un atlas hardware, on lui enlève.
// Je n'aime pas cette solution mais je n'en ai pas de meilleure sous la main pour l'instant
if (!defaultAtlas.unique())
{
// Encore au moins une police utilise l'atlas
NzFont* defaultFont = NzFont::GetDefault();
defaultFont->SetAtlas(nullptr);
if (!defaultAtlas.unique())
{
// Toujours pas seuls propriétaires ? Ah ben zut.
NazaraWarning("Default font atlas uses hardware storage and is still used");
}
}
}
defaultAtlas.reset();
// Loaders
NzLoaders_Mesh_Unregister();
NzLoaders_OBJ_Unregister();