/* $Id$
This file is part of libmspgltk
-Copyright © 2007 Mikko Rasa, Mikkosoft Productions
+Copyright © 2007, 2011 Mikko Rasa, Mikkosoft Productions
Distributed under the LGPL
*/
#ifndef MSP_GLTK_GEOMETRY_H_
#define MSP_GLTK_GEOMETRY_H_
-#include <msp/datafile/loader.h>
+#include <msp/datafile/objectloader.h>
namespace Msp {
namespace GLtk {
Geometry(): x(0), y(0), w(1), h(1) { }
Geometry(int x_, int y_, unsigned w_, unsigned h_): x(x_), y(y_), w(w_), h(h_) { }
bool is_inside(int, int) const;
+ bool is_inside_relative(int, int) const;
};
*/
struct Sides
{
- class Loader: public DataFile::Loader
+ class Loader: public DataFile::ObjectLoader<Sides>
{
public:
Loader(Sides &);
- Sides &get_object() { return sides; }
- private:
- Sides &sides;
};
unsigned top;
unsigned left;
Sides();
+ Sides(unsigned);
+ Sides(unsigned, unsigned);
+ Sides(unsigned, unsigned, unsigned);
+ Sides(unsigned, unsigned, unsigned, unsigned);
};
struct Alignment
{
float x, y;
+ float w, h;
- Alignment(): x(0), y(0) { }
- Alignment(float x_, float y_): x(x_), y(y_) { }
+ Alignment(): x(0), y(0), w(1), h(1) { }
void apply(Geometry &, const Geometry &) const;
void apply(Geometry &, const Geometry &, const Sides &) const;
};