public cave.ui.AlignWidget addWidget(Windows.UI.Xaml.UIElement widget, double alignX, double alignY, bool maximizeWidth = false) { var ee = new cave.ui.AlignWidget.MyChildEntry(); ee.widget = widget; ee.alignX = alignX; ee.alignY = alignY; ee.maximizeWidth = maximizeWidth; children.Add(ee); cave.ui.Widget.addChild((Windows.UI.Xaml.UIElement) this, widget); if (hasSize()) { handleEntry(ee); } return(this); }
private void handleEntry(cave.ui.AlignWidget.MyChildEntry entry) { var w = cave.ui.Widget.getWidth((Windows.UI.Xaml.UIElement) this) - widgetMarginLeft - widgetMarginRight; var h = cave.ui.Widget.getHeight((Windows.UI.Xaml.UIElement) this) - widgetMarginTop - widgetMarginBottom; var cw = cave.ui.Widget.getWidth(entry.widget); var ch = cave.ui.Widget.getHeight(entry.widget); if (cw > w || ch > h) { if (cw > w) { cw = w; } if (ch > h) { ch = h; } } var dx = (int)(widgetMarginLeft + (w - cw) * entry.alignX); var dy = (int)(widgetMarginTop + (h - ch) * entry.alignY); cave.ui.Widget.move(entry.widget, dx, dy); }