You can nest groups however deep you need, and at each level choose between horizontal, vertical and overlay for direction (x, y and z axis), as well as left/right/center alignment for children of that group. the button goes under the label, and with child elements to the left, meaning if the two elements don't have the same width, they will align to the left. It also specifies how they should be layed out: vertically, i.e. These mark a set of widgets that should be grouped together, in this case our label and button. The reason for this is that Run actually executes that block of code twice, once to gather information on the sizes of things in the ui, and the second time to actually render it and fire off events.Īlso new here is StartGroup and EndGroup. Our gui code now sits inside a C++ lambda passed to gui::Run().