]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/geometry.h
Clear focus in Panel if focused child is removed
[libs/gltk.git] / source / geometry.h
index 6dc982727070ed2f09dbd357f94963922ee8d8e1..08d660eeb05a4b9507968a6f8845924e524f70e1 100644 (file)
@@ -24,8 +24,10 @@ 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;
+       bool is_inside_relative(int, int) const;
 };
 
+
 /**
 Specifies margins on the sides of an element.
 */
@@ -48,6 +50,20 @@ struct Sides
        Sides();
 };
 
+
+/**
+Performs alignment of nested geometries, such as widgets and their parts.
+*/
+struct Alignment
+{
+       float x, y;
+       float w, h;
+
+       Alignment(): x(0), y(0), w(1), h(1) { }
+       void apply(Geometry &, const Geometry &) const;
+       void apply(Geometry &, const Geometry &, const Sides &) const;
+};
+
 } // namespace GLtk
 } // namespace Msp