missionpinball / mpf

Mission Pinball Framework: Open source software to run a real pinball machine.
http://missionpinball.org
MIT License
217 stars 143 forks source link

widget rectangle works draws area too small #1676

Open Stefku opened 1 year ago

Stefku commented 1 year ago

I've got the config

displays:
  window:
    width: 1280
    height: 720
window:
  width: 1280
  height: 720
  title: Mission Pinball Framework
  resizable: false
  fullscreen: false
  borderless: false
  exit_on_escape: true
  source_display: window

With the following widget, there appears just an rectangle quarter of the window. Other widgets use the whole window.

    - type: rectangle
      x: 0
      y: 0
      width: 1280
      height: 720
      color: pink
Screenshot 2023-01-05 at 19 20 12
atummons commented 1 year ago

This appears to be bad documentation here. Widgets claim they anchor from the bottom left corner. Thus it should fill the whole thing. However, rectangles actually are anchoring from the middle. So when you say X: 0 and y: 0, you are putting the middle in the bottom corner. The whole thing is there, just only the top right quadrant is shown.

Changing this would be breaking for others, so updating docs is the best approach.

If you remove x and y, it with default center. Additionally if you add anchor_x: left and anchor_y: bottom then it will appear as expected.

From cmd use mpf imc to see an interactive MC. This allows you to play with positioning, then copy it into your config.

atummons commented 1 year ago

I'll amend that slightly.

https://missionpinball.org/mc/widgets/common_settings/

The default anchor position is middle. This is inconsistent with what shows elsewhere. So this page matches how the code works. Other pages are inconsistent though. I'll try to run through and fix them and the examples.