]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/resources.h
Restore parent to 0 if an exception occurs while setting things up
[libs/gltk.git] / source / resources.h
index cf8116dbc7392f1eb9a60d51df959c081040db48..d83c2087543e75c1e6371f0c74cd6a7cdc6d0e2b 100644 (file)
@@ -4,18 +4,24 @@
 #include <msp/gl/font.h>
 #include <msp/gl/texture.h>
 #include <msp/datafile/collection.h>
-#include <msp/path/path.h>
+#include <msp/datafile/directorysource.h>
+#include <msp/fs/path.h>
 #include "graphic.h"
 #include "style.h"
 
 namespace Msp {
 namespace GLtk {
 
+/**
+Stores resources such as styles and graphics.  All widgets require a Resources
+instance in constructor.
+*/
 class Resources: public DataFile::Collection
 {
 private:
-       Path path;
+       FS::Path path;
        GL::Font *default_font;
+       DataFile::DirectorySource *dir_src;
 
 public:
        class Loader: public Collection::Loader
@@ -26,15 +32,21 @@ public:
        public:
                Loader(Resources &);
        private:
+               void default_font(const std::string &);
                void font(const std::string &);
        };
 
+public:
        Resources();
+       Resources(const FS::Path &);
+private:
+       void init();
+public:
+       ~Resources();
 
-       void set_path(const Path &);
        const GL::Font &get_default_font() const;
+
 private:
-       GL::Font *create_font(const std::string &);
        GL::Texture2D *create_texture(const std::string &);
 };