]> git.tdb.fi Git - libs/gltk.git/commitdiff
Fix automatic font creation
authorMikko Rasa <tdb@tdb.fi>
Tue, 16 Oct 2007 17:28:56 +0000 (17:28 +0000)
committerMikko Rasa <tdb@tdb.fi>
Tue, 16 Oct 2007 17:28:56 +0000 (17:28 +0000)
Add a default_font keyword

source/resources.cpp
source/resources.h

index 650140ba4552f59b066f00cc5677b5d34dfd9734..f146bbc9a281b6f19423005dd6d45a3b5d5550ed 100644 (file)
@@ -34,7 +34,9 @@ const GL::Font &Resources::get_default_font() const
 GL::Font *Resources::create_font(const string &name)
 {
        RefPtr<GL::Font> fnt=new GL::Font;
-       DataFile::load(*fnt, (path/(name+".font")).str());
+       DataFile::load<GL::Font, Resources &>(*fnt, (path/(name+".font")).str(), *this);
+       if(!default_font)
+               default_font=fnt.get();
        return fnt.release();
 }
 
@@ -51,9 +53,15 @@ Resources::Loader::Loader(Resources &r):
        Collection::Loader(r),
        res(r)
 {
+       add("default_font", &Loader::default_font);
        add("font", &Loader::font);
 }
 
+void Resources::Loader::default_font(const string &name)
+{
+       res.default_font=&res.get<GL::Font>(name);
+}
+
 void Resources::Loader::font(const string &name)
 {
        RefPtr<GL::Font> fnt=new GL::Font;
index cf8116dbc7392f1eb9a60d51df959c081040db48..3d39393bac979b144f54d152d73dc69563355c5e 100644 (file)
@@ -26,6 +26,7 @@ public:
        public:
                Loader(Resources &);
        private:
+               void default_font(const std::string &);
                void font(const std::string &);
        };