-/* $Id$
-
-This file is part of libmspgltk
-Copyright © 2007 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
#ifndef MSP_GLTK_STYLE_H_
#define MSP_GLTK_STYLE_H_
#include <msp/gl/color.h>
#include <msp/gl/font.h>
-#include <msp/datafile/loader.h>
+#include <msp/datafile/objectloader.h>
#include "part.h"
namespace Msp {
class Style
{
public:
- class Loader: public DataFile::Loader
+ class Loader: public DataFile::CollectionObjectLoader<Style, Resources>
{
- private:
- Style &style;
- Resources &res;
-
public:
- typedef Resources Collection;
-
Loader(Style &, Resources &);
- Style &get_object() const { return style; }
- Resources &get_collection() const { return res; }
+
private:
void font(const std::string &);
void font_color(float, float, float);
void part(const std::string &);
+ void unnamed_part();
};
+ typedef std::list<Part> PartSeq;
+
private:
const GL::Font *font;
+ unsigned font_size;
GL::Color font_color;
PartSeq parts;
public:
Style();
- const GL::Font *get_font() const { return font; }
+ const GL::Font &get_font() const;
+ unsigned get_font_size() const { return font_size; }
const GL::Color &get_font_color() const { return font_color; }
const PartSeq &get_parts() const { return parts; }
+ const Part *get_part(const std::string &) const;
};
} // namespace GLtk