madewokherd / xalia

Service adding gamepad UI to traditional desktop applications
MIT License
85 stars 3 forks source link

Use tracked properties and retire DeclarationsChanged #2

Closed madewokherd closed 1 year ago

madewokherd commented 1 year ago

The DeclarationsChanged method is inconvenient to use because it doesn't say which declarations changed. This means we have to check every declaration we care about for changes every time any declarations change. It also would prevent an update to gudl allowing "late evaluations" (for this update, we'd need to remove RaiseElementDeclarationsChangedEvent as well).

Doing this cleanup now so supporting use_msaa_element in #1 can be done more cleanly and we don't need the unrelated micro-optimization.

Conmanx360 commented 1 year ago

Things look good here to me, and this definitely feels much cleaner than the previous element changing behavior in UIA.