#include <msp/gl/font.h>
#include <msp/gl/sampler.h>
#include <msp/datafile/objectloader.h>
+#include "mspgltk_api.h"
#include "part.h"
namespace Msp {
Styles define what wigets look like. They are made up of Parts and some
generic properties.
*/
-class Style
+class MSPGLTK_API Style
{
public:
class Loader: public DataFile::CollectionObjectLoader<Style, Resources>
void unnamed_part();
};
- typedef std::list<Part> PartSeq;
-
private:
- const GL::Font *font;
- unsigned font_size;
+ const GL::Font *font = nullptr;
+ unsigned font_size = 0;
GL::Color font_color[N_STATES_];
- const GL::Sampler *sampler;
- PartSeq parts;
+ const GL::Sampler *sampler = nullptr;
+ std::vector<Part> parts;
public:
- Style();
const GL::Font &get_font() const;
unsigned get_font_size() const { return font_size; }
const GL::Color &get_font_color(State) const;
const GL::Sampler &get_sampler() const;
- const PartSeq &get_parts() const { return parts; }
- const Part *get_part(const std::string &) const;
+ const std::vector<Part> &get_parts() const { return parts; }
+ const Part *find_part(const std::string &) const;
bool compare_states(State, State) const;
};