scarpe-team / scarpe

Scarpe - shoes but running on webview
Other
163 stars 28 forks source link

Properly handle shoes styles and keyword args in Lacci initialize() methods #473

Closed noahgibbs closed 11 months ago

noahgibbs commented 11 months ago

Description

Handle positional arguments, not just styles, in Drawable#initialize. That makes it obvious how to combine positional with keyword args. Use Shoes default styles for default argument values instead of initialize default params. Add some tests for default argument values.

There are a few places we still don't do this, mostly flow and stack. We still need to rework a few places where we do weird nonstandard things -- e.g. margin should change to Drawable, not separately Flow/Stack/Para. Para needs to stop passing all "extra" args as HTML attributes, which doesn't even work for the styles (margin, align) it's using it for. But those can be a later PR.

Checklist

noahgibbs commented 11 months ago

Nearly there. Schwad allows inferring radius from width/height -- so does old Shoes. But I'm not doing that yet. Need to get examples/oval.rb working (it does that) and a test that checks that behaviour.