-/* $Id$
-
-This file is part of libmspgltk
-Copyright © 2007 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
#ifndef MSP_GLTK_GEOMETRY_H_
#define MSP_GLTK_GEOMETRY_H_
#include <msp/datafile/objectloader.h>
+#include "mspgltk_api.h"
namespace Msp {
namespace GLtk {
/**
Specifies the position and size of a widget or graphic.
*/
-struct Geometry
+struct MSPGLTK_API Geometry
{
int x, y;
unsigned w, h;
/**
Specifies margins on the sides of an element.
*/
-struct Sides
+struct MSPGLTK_API Sides
{
class Loader: public DataFile::ObjectLoader<Sides>
{
public:
Loader(Sides &);
+ private:
+ void horizontal(unsigned);
+ void vertical(unsigned);
};
unsigned top;
unsigned left;
Sides();
+ Sides(unsigned);
+ Sides(unsigned, unsigned);
+ Sides(unsigned, unsigned, unsigned);
+ Sides(unsigned, unsigned, unsigned, unsigned);
};
/**
Performs alignment of nested geometries, such as widgets and their parts.
*/
-struct Alignment
+struct MSPGLTK_API Alignment
{
float x, y;
float w, h;