]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/geometry.h
Rework event passing system to allow for pointer grabs
[libs/gltk.git] / source / geometry.h
index 7e59bd4936f7dc4f82797f9a97170532527b0a37..85e28161930841dfa1bb358b4489c16e888935f7 100644 (file)
@@ -1,6 +1,8 @@
 #ifndef MSP_GLTK_GEOMETRY_H_
 #define MSP_GLTK_GEOMETRY_H_
 
+#include <msp/parser/loader.h>
+
 namespace Msp {
 namespace GLtk {
 
@@ -14,6 +16,29 @@ struct Geometry
 
        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;
+};
+
+/**
+Specifies margins on the sides of an element.
+*/
+struct Sides
+{
+       class Loader: public Parser::Loader
+       {
+       public:
+               Loader(Sides &);
+               Sides &get_object() { return sides; }
+       private:
+               Sides &sides;
+       };
+
+       unsigned top;
+       unsigned right;
+       unsigned bottom;
+       unsigned left;
+
+       Sides();
 };
 
 } // namespace GLtk