* Use FancyWindow, margin of 10 for most gas devices
* Use FancyWindow, margin of 10 for gas analyzer, gas canister UI
* Adjust gas UI min sizes, resizeability, keyboard handling
---------
Co-authored-by: beck-thompson <beck314159@hotmail.com>
* Add SegmentedBarChart
* CryoPodWindow: Integrate SegmentedBarChart
* Remove BeakerBarChart
* SegmentedBarChart: Fix first frame jank
To update the entries' widths, it needed Control.Width, but that wouldn't be available until later. I moved things around so that it gets updated in ArrangeOverride the first time.
* GasAnalyzerWindow: Integrate SegmentedBarChart
* AbsorbentItemStatus: Integrate SegmentedBarChart
* Remove SplitBar
* SegmentedBarChart: Fix UI scale bug
With 200% UI scale the gaps would be half the intended size.
* SegmentedBarChart: Explicit deltaSeconds
* AbsorbentItemStatus: Use bar chart's background color
* SegmentedBarChart: Edit comments
* SegmentedBarChart: Edit calculation explanation
* SegmentedBarChart: Fix a subtle UI scale bug
MinSmallNotchScreenDistance was promised to be in UI units in the comment, but it was actually in pixels.
* SegmentedBarChart: Add sheetlet and doc comments
* SegmentedBarChart: Use StylePropertyDefault instead of TryGetStyleProperty
* SegmentedBarChart: Remove unnecessary helper
* SegmentedBarChart: Small redundancy removal
* AbsorbentItemStatus: Small adjustments based on feedback
* SegmentedBarChart: Use named colors
* AbsorbentItemStatus: Draw a medium notch every six notches instead of five
This is because the capacity of mops was changed to 12. It looks a little better this way.
* SegmentedBarChart: Reorder functions, add doc comment
* cleanup
* fix some localizations
* fix typo
* review and test fix
* rename
* minus one
---------
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
This prevents the volume and temperature labels from changing width when the value lands on integer values, making the text easier to read.
Co-authored-by: opl <4833621+opl@users.noreply.github.com>
* greatly improve how the gas analyzer behaves
* don't close the analyzer when the object goes out of range
* cleanup
* always switch to the device tab when a new device is analyzed
* modern api part one
* modern api part 2
* modern api part three
* file scope namespace
The gas analyzer now shows the volume of pipes, tanks, canisters and the environment.
Adjust gas analyzers so that the volume and number of moles shown corresponds to only the scanned element, e.g. a canister or single pipe in a pipenet.