]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/geometry.h
Simplify constructors with C++11
[libs/gltk.git] / source / geometry.h
index 8c8c9897335caa0fd55ea79666c2f78de1a73db0..fac3bbc7a506ea9cde32a37fad8a5e50618d562a 100644 (file)
@@ -12,10 +12,12 @@ Specifies the position and size of a widget or graphic.
 */
 struct MSPGLTK_API Geometry
 {
-       int x, y;
-       unsigned w, h;
+       int x = 0;
+       int y = 0;
+       unsigned w = 1;
+       unsigned h = 1;
 
-       Geometry(): x(0), y(0), w(1), h(1) { }
+       Geometry() = default;
        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;
@@ -36,12 +38,12 @@ struct MSPGLTK_API Sides
                void vertical(unsigned);
        };
 
-       unsigned top;
-       unsigned right;
-       unsigned bottom;
-       unsigned left;
+       unsigned top = 0;
+       unsigned right = 0;
+       unsigned bottom = 0;
+       unsigned left = 0;
 
-       Sides();
+       Sides() = default;
        Sides(unsigned);
        Sides(unsigned, unsigned);
        Sides(unsigned, unsigned, unsigned);
@@ -54,10 +56,11 @@ Performs alignment of nested geometries, such as widgets and their parts.
 */
 struct MSPGLTK_API Alignment
 {
-       float x, y;
-       float w, h;
+       float x = 0.0f;
+       float y = 0.0f;
+       float w = 1.0f;
+       float h = 1.0f;
 
-       Alignment(): x(0), y(0), w(1), h(1) { }
        void apply(Geometry &, const Geometry &) const;
        void apply(Geometry &, const Geometry &, const Sides &) const;
 };