+/* $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/parser/loader.h>
-#include "color.h"
+#include <msp/datafile/loader.h>
#include "part.h"
namespace Msp {
class Resources;
+/**
+Styles define what wigets look like. They are made up of Parts and some
+generic properties.
+*/
class Style
{
public:
- class Loader: public Parser::Loader
+ class Loader: public DataFile::Loader
{
- public:
- Loader(Style &);
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 part();
+ void special(const std::string &);
};
- Style(const Resources &, const std::string &, const std::string &);
- const GL::Font *get_font() const { return font; }
- const Color &get_font_color() const { return font_color; }
- const PartSeq &get_parts() const { return parts; }
private:
- const Resources &res;
- std::string widget;
- std::string name;
const GL::Font *font;
- Color font_color;
- PartSeq parts;
+ GL::Color font_color;
+ PartSeq parts;
+
+public:
+ Style(Resources &);
+ const GL::Font *get_font() const { return font; }
+ const GL::Color &get_font_color() const { return font_color; }
+ const PartSeq &get_parts() const { return parts; }
};
} // namespace GLtk