X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flayout.h;h=274660c6464b5da55e3506bd370e77c3377a8f4c;hb=394e5c9969a30b604bfaf78fc05a8c2d5c98ab5b;hp=8b1c527640e4e29e69bd61c3f9fab4a4188044be;hpb=9f38197854e699a6093a906ab43f4238f3cd2388;p=libs%2Fgltk.git diff --git a/source/layout.h b/source/layout.h index 8b1c527..274660c 100644 --- a/source/layout.h +++ b/source/layout.h @@ -1,8 +1,8 @@ #ifndef MSP_GLTK_LAYOUT_H_ #define MSP_GLTK_LAYOUT_H_ -#include -#include +#include +#include #include #include #include "geometry.h" @@ -132,7 +132,7 @@ private: struct Constraint { ConstraintType type; - Slot ⌖ + Slot *target = nullptr; int spacing = -1; Constraint(ConstraintType, Slot &); @@ -151,7 +151,7 @@ private: Widget &widget; Geometry autosize_geom; Geometry geom; - std::list constraints; + std::vector constraints; Packing horiz_pack; Packing vert_pack; bool ghost = false; @@ -172,21 +172,19 @@ private: class LinearProgram; struct Pointers; - Container *container = 0; - std::list slots; - unsigned n_active_slots = 0; - unsigned n_slack_vars[2] = { 0, 0 }; + Container *container = nullptr; + std::vector> slots; + std::size_t n_active_slots = 0; + std::size_t n_slack_vars[2] = { 0, 0 }; Sides margin{ 8 }; unsigned row_spacing = 5; unsigned col_spacing = 4; Geometry autosize_geom; - std::list arrangement_stack; + std::vector arrangement_stack; static Pointers pointers[2]; public: - ~Layout(); - void set_container(Container &); void set_margin(const Sides &); const Sides &get_margin() const { return margin; }