]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/part.h
Add a shortcut for defining normal graphic
[libs/gltk.git] / source / part.h
index a3c0dcf4a109eb045c162a4f007c5b937d911d81..252d5a3cbecad1d2fafe1eec17edbced1a592fdf 100644 (file)
@@ -1,15 +1,8 @@
-/* $Id$
-
-This file is part of libmspgltk
-Copyright © 2007  Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
 #ifndef MSP_GLTK_PART_H_
 #define MSP_GLTK_PART_H_
 
 #include <string>
-#include <msp/datafile/loader.h>
+#include <msp/datafile/objectloader.h>
 #include "geometry.h"
 #include "state.h"
 
@@ -17,6 +10,7 @@ namespace Msp {
 namespace GLtk {
 
 class Graphic;
+class PartCache;
 class Resources;
 
 /**
@@ -25,16 +19,13 @@ Defines a single graphical element of a widget style.
 class Part
 {
 public:
-       class Loader: public DataFile::Loader
+       class Loader: public DataFile::CollectionObjectLoader<Part>
        {
-       private:
-               Part &part;
-               Resources &res;
-
        public:
                Loader(Part &, Resources &);
                ~Loader();
        private:
+               void graphic_normal(const std::string &);
                void graphic(State, const std::string &);
                void align(float, float);
                void fill(float, float);
@@ -56,7 +47,7 @@ public:
        const Geometry &get_geometry() const { return geom; }
        const Sides &get_margin() const { return margin; }
        const Alignment &get_alignment() const { return align; }
-       void render(const Geometry &, State) const;
+       void build(const Geometry &, State, PartCache &) const;
 };
 
 } // namespace GLtk