Update to v106r41 release.

byuu says:

Changelog:

  - hiro: added Label::set(Background,Foreground)Color (not implemented
    on Cocoa backend)
  - hiro: added (Horizontal,Vertical)Layout::setPadding()
      - setMargin(m) is now an alias to setPadding({m, m, m, m})
  - hiro/Windows: update Label rendering to draw to an offscreen canvas
    to prevent flickering
  - sfc: reverted back to 224/240-line height (from 223/239-line height
    in earlier v106 WIPs)
  - bsnes: new multi-segment status bar added
  - bsnes: exiting fullscreen mode will resize and recenter window
      - this is required; the window geometry gets all scrambled when
        toggling fullscreen mode
  - bsnes: updated to a new logo [Ange Albertini]

Errata:

  - hiro/Windows: try to paint Label backgroundColor quicker to avoid
    startup flicker
      - `WM_ERASEBKGND` fallthrough to `WM_PAINT` seems to work
  - hiro/Qt: use Window backgroundColor for Label when no Label
    backgroundColor set
  - bsnes: update size multipliers in presentation.cpp to 224/240 (main
    window size is off in this WIP)
This commit is contained in:
Tim Allen
2018-06-24 14:53:44 +10:00
parent 470e27323d
commit f70a20bc42
29 changed files with 1473 additions and 1579 deletions

View File

@@ -38,7 +38,10 @@ auto mVerticalLayout::minimumSize() const -> Size {
if(&child != &properties.right()) height += child.spacing();
}
return {settings.margin * 2 + width, settings.margin * 2 + height};
return {
settings.padding.x() + width + settings.padding.width(),
settings.padding.y() + height + settings.padding.height()
};
}
auto mVerticalLayout::remove(sSizable sizable) -> type& {
@@ -85,10 +88,10 @@ auto mVerticalLayout::setGeometry(Geometry containerGeometry) -> type& {
}
Geometry geometry = containerGeometry;
geometry.setX (geometry.x() + settings.margin );
geometry.setY (geometry.y() + settings.margin );
geometry.setWidth (geometry.width() - settings.margin * 2);
geometry.setHeight(geometry.height() - settings.margin * 2);
geometry.setX (geometry.x() + settings.padding.x());
geometry.setY (geometry.y() + settings.padding.y());
geometry.setWidth (geometry.width() - settings.padding.x() - settings.padding.width());
geometry.setHeight(geometry.height() - settings.padding.y() - settings.padding.height());
float minimumHeight = 0, maximumHeightCounter = 0;
for(auto& child : properties) {
@@ -121,12 +124,19 @@ auto mVerticalLayout::setGeometry(Geometry containerGeometry) -> type& {
}
auto mVerticalLayout::setMargin(float margin) -> type& {
settings.margin = margin;
setPadding({margin, margin, margin, margin});
return *this;
}
auto mVerticalLayout::setPadding(Geometry padding) -> type& {
settings.padding = padding;
setGeometry(geometry());
return *this;
}
auto mVerticalLayout::setSpacing(float spacing) -> type& {
settings.spacing = spacing;
setGeometry(geometry());
return *this;
}