├── .gitignore
├── 3rdParty
├── Carleen.lib
├── DinoDNS
│ ├── .editorconfig
│ ├── .gitattributes
│ ├── .github
│ │ ├── FUNDING.yml
│ │ ├── dependabot.yml
│ │ ├── release-drafter.yml
│ │ └── workflows
│ │ │ ├── build.yml
│ │ │ └── release-drafter.yml
│ ├── .gitignore
│ ├── CodeCoverage.runsettings
│ ├── License.txt
│ ├── README.md
│ ├── TurnerSoftware.DinoDNS.sln
│ ├── benchmarks
│ │ ├── StaticDnsServer
│ │ │ ├── Program.cs
│ │ │ └── StaticDnsServer.csproj
│ │ └── TurnerSoftware.DinoDNS.Benchmarks
│ │ │ ├── BenchmarkConfig.cs
│ │ │ ├── ExternalTestServer.cs
│ │ │ ├── HostsFileResolverBenchmark.cs
│ │ │ ├── Internal
│ │ │ ├── DnsRawValueBenchmark.cs
│ │ │ ├── HeaderReadWriteBenchmark.cs
│ │ │ ├── MessageReadWriteBenchmark.cs
│ │ │ ├── SequenceBytesBenchmark.cs
│ │ │ └── SequentialBytesBenchmark.cs
│ │ │ ├── NetworkStack
│ │ │ ├── HttpsStackBenchmark.cs
│ │ │ ├── NetworkStackBenchmark.cs
│ │ │ ├── TcpStackBenchmark.cs
│ │ │ ├── TlsStackBenchmark.cs
│ │ │ └── UdpStackBenchmark.cs
│ │ │ ├── Program.cs
│ │ │ ├── QueryMessageWritingBenchmark.cs
│ │ │ ├── ResponseMessageParsingBenchmark.cs
│ │ │ └── TurnerSoftware.DinoDNS.Benchmarks.csproj
│ ├── images
│ │ └── icon.png
│ ├── src
│ │ ├── Directory.Build.props
│ │ └── TurnerSoftware.DinoDNS
│ │ │ ├── AssemblyInternals.cs
│ │ │ ├── Connection
│ │ │ ├── Listeners
│ │ │ │ ├── IDnsQueryListener.cs
│ │ │ │ ├── TcpQueryListener.cs
│ │ │ │ ├── TlsQueryListener.cs
│ │ │ │ └── UdpQueryListener.cs
│ │ │ ├── Resolvers
│ │ │ │ ├── DoQResolver.cs
│ │ │ │ ├── HostsFileResolver.cs
│ │ │ │ ├── IDnsResolver.cs
│ │ │ │ ├── TcpResolver.cs
│ │ │ │ ├── TlsResolver.cs
│ │ │ │ ├── UdpResolver.cs
│ │ │ │ └── UdpTcpDualResolver.cs
│ │ │ ├── SocketMessageOrderer.cs
│ │ │ └── TransitData.cs
│ │ │ ├── ConnectionType.cs
│ │ │ ├── DnsClient.cs
│ │ │ ├── DnsClientExtensions.cs
│ │ │ ├── DnsForwardingServer.cs
│ │ │ ├── DnsHostsFile.cs
│ │ │ ├── DnsHostsTokenReader.cs
│ │ │ ├── DnsOptions.cs
│ │ │ ├── DnsProtocolReader.cs
│ │ │ ├── DnsProtocolWriter.cs
│ │ │ ├── DnsServerBase.cs
│ │ │ ├── Internal
│ │ │ └── SeekableMemory.cs
│ │ │ ├── NameServer.cs
│ │ │ ├── NameServers.cs
│ │ │ ├── Protocol
│ │ │ ├── DnsClass.cs
│ │ │ ├── DnsMessage.cs
│ │ │ ├── DnsMessageExtensions.cs
│ │ │ ├── DnsRawValue.cs
│ │ │ ├── DnsType.cs
│ │ │ ├── Header.cs
│ │ │ ├── LabelSequence.Enumerator.cs
│ │ │ ├── LabelSequence.Label.cs
│ │ │ ├── LabelSequence.cs
│ │ │ ├── Question.cs
│ │ │ ├── QuestionCollection.cs
│ │ │ ├── ResourceRecord.cs
│ │ │ ├── ResourceRecordCollection.cs
│ │ │ ├── ResourceRecordCollectionExtensions.cs
│ │ │ └── ResourceRecords
│ │ │ │ └── ARecord.cs
│ │ │ ├── ServerEndPoint.cs
│ │ │ └── TurnerSoftware.DinoDNS.csproj
│ └── tests
│ │ ├── Directory.Build.props
│ │ ├── TurnerSoftware.DinoDNS.TestConsole
│ │ ├── Program.cs
│ │ └── TurnerSoftware.DinoDNS.TestConsole.csproj
│ │ ├── TurnerSoftware.DinoDNS.TestServer
│ │ ├── DnsTestServer.cs
│ │ └── TurnerSoftware.DinoDNS.TestServer.csproj
│ │ └── TurnerSoftware.DinoDNS.Tests
│ │ ├── Connection
│ │ ├── HttpsConnectionTests.cs
│ │ ├── Resolvers
│ │ │ ├── HostsFileResolverTests.cs
│ │ │ └── UdpTcpDualResolverTests.cs
│ │ ├── SocketMessageOrdererTests.cs
│ │ ├── TcpConnectionTests.cs
│ │ ├── TlsConnectionTests.cs
│ │ └── UdpConnectionTests.cs
│ │ ├── DnsHostsFileTests.cs
│ │ ├── DnsHostsTokenReaderTests.cs
│ │ ├── DnsProtocolReaderTests.Header.cs
│ │ ├── DnsProtocolWriterExtensions.cs
│ │ ├── DnsProtocolWriterTests.Header.cs
│ │ ├── Protocol
│ │ ├── DnsRawValueTests.cs
│ │ ├── LabelSequenceEnumeratorTests.cs
│ │ └── LabelSequenceLengthTests.cs
│ │ └── TurnerSoftware.DinoDNS.Tests.csproj
├── FluentAvalonia
│ ├── .editorconfig
│ ├── .gitattributes
│ ├── .github
│ │ ├── CONTRIBUTING.md
│ │ ├── ISSUE_TEMPLATE
│ │ │ ├── bug_report.md
│ │ │ └── feature_request.md
│ │ └── workflows
│ │ │ └── build.yml
│ ├── .gitignore
│ ├── Assets
│ │ └── FAIcon.png
│ ├── Directory.Packages.props
│ ├── FluentAvalonia.sln
│ ├── LICENSE
│ ├── README.md
│ ├── nuget.config
│ ├── samples
│ │ ├── FAControlsGallery.Android
│ │ │ ├── FAControlsGallery.Android.csproj
│ │ │ ├── Icon.png
│ │ │ ├── MainActivity.cs
│ │ │ ├── Properties
│ │ │ │ └── AndroidManifest.xml
│ │ │ ├── Resources
│ │ │ │ ├── drawable
│ │ │ │ │ └── splash_screen.xml
│ │ │ │ └── values
│ │ │ │ │ ├── colors.xml
│ │ │ │ │ └── styles.xml
│ │ │ ├── environment.device.txt
│ │ │ └── environment.emulator.txt
│ │ ├── FAControlsGallery.Desktop
│ │ │ ├── .gitignore
│ │ │ ├── FAControlsGallery.Desktop.csproj
│ │ │ ├── Program.cs
│ │ │ ├── Roots.xml
│ │ │ └── app.manifest
│ │ ├── FAControlsGallery.Web
│ │ │ ├── AppBundle
│ │ │ │ ├── Logo.svg
│ │ │ │ ├── app.css
│ │ │ │ ├── favicon.ico
│ │ │ │ ├── index.html
│ │ │ │ └── main.js
│ │ │ ├── FAControlsGallery.Web.csproj
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── launchSettings.json
│ │ │ └── runtimeconfig.template.json
│ │ ├── FAControlsGallery.iOS
│ │ │ ├── AppDelegate.cs
│ │ │ ├── Entitlements.plist
│ │ │ ├── FAControlsGallery.iOS.csproj
│ │ │ ├── Info.plist
│ │ │ ├── Main.cs
│ │ │ └── Resources
│ │ │ │ └── LaunchScreen.xib
│ │ ├── FAControlsGallery
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── Assets
│ │ │ │ ├── CoreControlsGroups.json
│ │ │ │ ├── FAControlsGroups.json
│ │ │ │ ├── FAIcon.ico
│ │ │ │ ├── FASymbolFontList.json
│ │ │ │ ├── Icons
│ │ │ │ │ ├── AppWindowIcon.png
│ │ │ │ │ ├── BasicInputIcon.png
│ │ │ │ │ ├── ColorPickerButtonIcon.png
│ │ │ │ │ ├── ColorPickerIcon.png
│ │ │ │ │ ├── CommandBarFlyoutIcon.png
│ │ │ │ │ ├── CommandBarIcon.png
│ │ │ │ │ ├── ContentDialogIcon.png
│ │ │ │ │ ├── DataIcon.png
│ │ │ │ │ ├── DateIcon.png
│ │ │ │ │ ├── FAComboBoxIcon.png
│ │ │ │ │ ├── FrameIcon.png
│ │ │ │ │ ├── HyperlinkButtonIcon.png
│ │ │ │ │ ├── IconsIcon.png
│ │ │ │ │ ├── InfoBadgeIcon.png
│ │ │ │ │ ├── InfoBarIcon.png
│ │ │ │ │ ├── ListIcon.png
│ │ │ │ │ ├── MenuIcon.png
│ │ │ │ │ ├── MiscIcon.png
│ │ │ │ │ ├── NavigationViewIcon.png
│ │ │ │ │ ├── NumberBoxIcon.png
│ │ │ │ │ ├── PickerFlyoutBaseIcon.png
│ │ │ │ │ ├── RangeIcon.png
│ │ │ │ │ ├── RangeSliderIcon.png
│ │ │ │ │ ├── SettingsExpanderIcon.png
│ │ │ │ │ ├── TabViewIcon.png
│ │ │ │ │ ├── TaskDialogIcon.png
│ │ │ │ │ ├── TeachingTipIcon.png
│ │ │ │ │ ├── TextIcon.png
│ │ │ │ │ ├── ViewIcon.png
│ │ │ │ │ └── XamlUICommandIcon.png
│ │ │ │ ├── Images
│ │ │ │ │ ├── AvGithub.png
│ │ │ │ │ ├── Documentation.png
│ │ │ │ │ ├── FAHeader2.png
│ │ │ │ │ ├── FAHeader2_Dark.png
│ │ │ │ │ ├── FAHeaderBackground.png
│ │ │ │ │ ├── FAHeaderBackground_Dark.png
│ │ │ │ │ ├── FAHeader_CoreControls.png
│ │ │ │ │ ├── FAHeader_CoreControls_Dark.png
│ │ │ │ │ ├── FAHeader_NewControls.png
│ │ │ │ │ ├── FAHeader_NewControls_Dark.png
│ │ │ │ │ ├── FluentDesign.png
│ │ │ │ │ └── Github.png
│ │ │ │ ├── avalonia-logo.ico
│ │ │ │ ├── headerimage.jpeg
│ │ │ │ └── rainier.jpg
│ │ │ ├── Controls
│ │ │ │ ├── ColorTile.cs
│ │ │ │ ├── ControlDefinitionOverlay.cs
│ │ │ │ ├── ControlExample.cs
│ │ │ │ ├── ControlExampleSubstitution.cs
│ │ │ │ ├── DesignColorSection.cs
│ │ │ │ ├── PageHeaderControl.cs
│ │ │ │ └── SampleCodePresenter.cs
│ │ │ ├── Converters
│ │ │ │ ├── ResourceKeyToIconConverter.cs
│ │ │ │ ├── StringToBitmapConverter.cs
│ │ │ │ └── StringToURIConverter.cs
│ │ │ ├── FAControlsGallery.csproj
│ │ │ ├── Pages
│ │ │ │ ├── ControlsPageBase.cs
│ │ │ │ ├── CoreControlPages
│ │ │ │ │ ├── BasicInputControlsPage.axaml
│ │ │ │ │ ├── BasicInputControlsPage.axaml.cs
│ │ │ │ │ ├── DataControlsPage.axaml
│ │ │ │ │ ├── DataControlsPage.axaml.cs
│ │ │ │ │ ├── DateTimeControlsPage.axaml
│ │ │ │ │ ├── DateTimeControlsPage.axaml.cs
│ │ │ │ │ ├── ListControlsPage.axaml
│ │ │ │ │ ├── ListControlsPage.axaml.cs
│ │ │ │ │ ├── MenuControlsPage.axaml
│ │ │ │ │ ├── MenuControlsPage.axaml.cs
│ │ │ │ │ ├── MiscControlsPage.axaml
│ │ │ │ │ ├── MiscControlsPage.axaml.cs
│ │ │ │ │ ├── RangeControlsPage.axaml
│ │ │ │ │ ├── RangeControlsPage.axaml.cs
│ │ │ │ │ ├── TextControlsPage.axaml
│ │ │ │ │ ├── TextControlsPage.axaml.cs
│ │ │ │ │ ├── ViewControlsPage.axaml
│ │ │ │ │ └── ViewControlsPage.axaml.cs
│ │ │ │ ├── CoreControlsPage.axaml
│ │ │ │ ├── CoreControlsPage.axaml.cs
│ │ │ │ ├── DesignPage.axaml
│ │ │ │ ├── DesignPage.axaml.cs
│ │ │ │ ├── DesignPages
│ │ │ │ │ ├── BackgroundColorsPage.axaml
│ │ │ │ │ ├── BackgroundColorsPage.axaml.cs
│ │ │ │ │ ├── ColorsPage.axaml
│ │ │ │ │ ├── ColorsPage.axaml.cs
│ │ │ │ │ ├── DesignIconsPage.axaml
│ │ │ │ │ ├── DesignIconsPage.axaml.cs
│ │ │ │ │ ├── FillColorsPage.axaml
│ │ │ │ │ ├── FillColorsPage.axaml.cs
│ │ │ │ │ ├── SignalColorsPage.axaml
│ │ │ │ │ ├── SignalColorsPage.axaml.cs
│ │ │ │ │ ├── StrokeColorsPage.axaml
│ │ │ │ │ ├── StrokeColorsPage.axaml.cs
│ │ │ │ │ ├── TextColorsPage.axaml
│ │ │ │ │ ├── TextColorsPage.axaml.cs
│ │ │ │ │ ├── TypographyPage.axaml
│ │ │ │ │ └── TypographyPage.axaml.cs
│ │ │ │ ├── FAControlsOverviewPage.axaml
│ │ │ │ ├── FAControlsOverviewPage.axaml.cs
│ │ │ │ ├── FAControlsPages
│ │ │ │ │ ├── AppWindowPage.axaml
│ │ │ │ │ ├── AppWindowPage.axaml.cs
│ │ │ │ │ ├── ColorPickerButtonPage.axaml
│ │ │ │ │ ├── ColorPickerButtonPage.axaml.cs
│ │ │ │ │ ├── ColorPickerPage.axaml
│ │ │ │ │ ├── ColorPickerPage.axaml.cs
│ │ │ │ │ ├── CommandBarFlyoutPage.axaml
│ │ │ │ │ ├── CommandBarFlyoutPage.axaml.cs
│ │ │ │ │ ├── CommandBarPage.axaml
│ │ │ │ │ ├── CommandBarPage.axaml.cs
│ │ │ │ │ ├── ContentDialogPage.axaml
│ │ │ │ │ ├── ContentDialogPage.axaml.cs
│ │ │ │ │ ├── DemoComplexSplashScreen.axaml
│ │ │ │ │ ├── DemoComplexSplashScreen.axaml.cs
│ │ │ │ │ ├── FAComboBoxPage.axaml
│ │ │ │ │ ├── FAComboBoxPage.axaml.cs
│ │ │ │ │ ├── FramePage.axaml
│ │ │ │ │ ├── FramePage.axaml.cs
│ │ │ │ │ ├── HyperlinkButtonPage.axaml
│ │ │ │ │ ├── HyperlinkButtonPage.axaml.cs
│ │ │ │ │ ├── IconsPage.axaml
│ │ │ │ │ ├── IconsPage.axaml.cs
│ │ │ │ │ ├── InfoBadgePage.axaml
│ │ │ │ │ ├── InfoBadgePage.axaml.cs
│ │ │ │ │ ├── InfoBarPage.axaml
│ │ │ │ │ ├── InfoBarPage.axaml.cs
│ │ │ │ │ ├── MenuFlyoutPage.axaml
│ │ │ │ │ ├── MenuFlyoutPage.axaml.cs
│ │ │ │ │ ├── NavigationViewPage.axaml
│ │ │ │ │ ├── NavigationViewPage.axaml.cs
│ │ │ │ │ ├── NumberBoxPage.axaml
│ │ │ │ │ ├── NumberBoxPage.axaml.cs
│ │ │ │ │ ├── PickerFlyoutBasePage.axaml
│ │ │ │ │ ├── PickerFlyoutBasePage.axaml.cs
│ │ │ │ │ ├── RangeSliderPage.axaml
│ │ │ │ │ ├── RangeSliderPage.axaml.cs
│ │ │ │ │ ├── SettingsExpanderPage.axaml
│ │ │ │ │ ├── SettingsExpanderPage.axaml.cs
│ │ │ │ │ ├── TabViewPage.axaml
│ │ │ │ │ ├── TabViewPage.axaml.cs
│ │ │ │ │ ├── TabViewWindowSampleContent.axaml
│ │ │ │ │ ├── TabViewWindowSampleContent.axaml.cs
│ │ │ │ │ ├── TabViewWindowingSample.axaml
│ │ │ │ │ ├── TabViewWindowingSample.axaml.cs
│ │ │ │ │ ├── TaskDialogPage.axaml
│ │ │ │ │ ├── TaskDialogPage.axaml.cs
│ │ │ │ │ ├── TeachingTipPage.axaml
│ │ │ │ │ ├── TeachingTipPage.axaml.cs
│ │ │ │ │ ├── XamlUICommandPage.axaml
│ │ │ │ │ └── XamlUICommandPage.axaml.cs
│ │ │ │ ├── HomePage.axaml
│ │ │ │ ├── HomePage.axaml.cs
│ │ │ │ ├── SampleCode
│ │ │ │ │ ├── AppWindow1.cs.txt
│ │ │ │ │ ├── AppWindow2.cs.txt
│ │ │ │ │ ├── AppWindow3.cs.txt
│ │ │ │ │ ├── CommandBar1.xaml.txt
│ │ │ │ │ ├── CommandBar2.xaml.txt
│ │ │ │ │ ├── CommandBar3.xaml.txt
│ │ │ │ │ ├── CommandBarFlyout.cs.txt
│ │ │ │ │ ├── CommandBarFlyout.xaml.txt
│ │ │ │ │ ├── ContentDialogUsageNotes.txt
│ │ │ │ │ ├── CustomContentDialog.cs.txt
│ │ │ │ │ ├── FAComboBox.cs.txt
│ │ │ │ │ ├── Frame.cs.txt
│ │ │ │ │ ├── Frame.xaml.txt
│ │ │ │ │ ├── Frame2.cs.txt
│ │ │ │ │ ├── Frame3.cs.txt
│ │ │ │ │ ├── InfoBadge2.xaml.txt
│ │ │ │ │ ├── MenuFlyout.xaml.txt
│ │ │ │ │ ├── MenuFlyout2.xaml.txt
│ │ │ │ │ ├── NavView1.xaml.txt
│ │ │ │ │ ├── NavView2.xaml.txt
│ │ │ │ │ ├── NavView3.xaml.txt
│ │ │ │ │ ├── NavView4.xaml.txt
│ │ │ │ │ ├── NavView5.xaml.txt
│ │ │ │ │ ├── NavView6.xaml.txt
│ │ │ │ │ ├── NumberBox3.cs.txt
│ │ │ │ │ ├── NumberBox3UsageNotes.txt
│ │ │ │ │ ├── RangeSlider1.xaml.txt
│ │ │ │ │ ├── RangeSlider2.xaml.txt
│ │ │ │ │ ├── SettingsExpander1.xaml.txt
│ │ │ │ │ ├── SettingsExpander2.xaml.txt
│ │ │ │ │ ├── SettingsExpander3.cs.txt
│ │ │ │ │ ├── SettingsExpander3.xaml.txt
│ │ │ │ │ ├── StandardUICommand.cs.txt
│ │ │ │ │ ├── StandardUICommand.xaml.txt
│ │ │ │ │ ├── StandardUICommandUsageNotes.txt
│ │ │ │ │ ├── TabView1.cs.txt
│ │ │ │ │ ├── TabView1.xaml.txt
│ │ │ │ │ ├── TabView2.cs.txt
│ │ │ │ │ ├── TabView2.xaml.txt
│ │ │ │ │ ├── TabView3.xaml.txt
│ │ │ │ │ ├── TaskDialog1.cs.txt
│ │ │ │ │ ├── TaskDialog1.xaml.txt
│ │ │ │ │ ├── TaskDialog2.cs.txt
│ │ │ │ │ ├── TaskDialog3.cs.txt
│ │ │ │ │ ├── TeachingTip1.cs.txt
│ │ │ │ │ ├── TeachingTip1.xaml.txt
│ │ │ │ │ ├── TeachingTip2.cs.txt
│ │ │ │ │ ├── TeachingTip2.xaml.txt
│ │ │ │ │ ├── TeachingTip3.cs.txt
│ │ │ │ │ ├── TeachingTip3.xaml.txt
│ │ │ │ │ ├── TextCommandBarFlyoutUsageNotes.txt
│ │ │ │ │ ├── XamlUICommand.cs.txt
│ │ │ │ │ ├── XamlUICommand.xaml.txt
│ │ │ │ │ └── XamlUICommandUsageNotes.txt
│ │ │ │ ├── SamplePageAssets
│ │ │ │ │ ├── ContentDialogInputExample.axaml
│ │ │ │ │ ├── ContentDialogInputExample.axaml.cs
│ │ │ │ │ ├── NVSamplePage1.axaml
│ │ │ │ │ ├── NVSamplePage1.axaml.cs
│ │ │ │ │ ├── NVSamplePage2.axaml
│ │ │ │ │ ├── NVSamplePage2.axaml.cs
│ │ │ │ │ ├── NVSamplePage3.axaml
│ │ │ │ │ ├── NVSamplePage3.axaml.cs
│ │ │ │ │ ├── NVSamplePage4.axaml
│ │ │ │ │ ├── NVSamplePage4.axaml.cs
│ │ │ │ │ ├── NVSamplePage5.axaml
│ │ │ │ │ ├── NVSamplePage5.axaml.cs
│ │ │ │ │ ├── NVSamplePage6.axaml
│ │ │ │ │ ├── NVSamplePage6.axaml.cs
│ │ │ │ │ ├── NVSamplePage7.axaml
│ │ │ │ │ ├── NVSamplePage7.axaml.cs
│ │ │ │ │ ├── NVSamplePageSettings.axaml
│ │ │ │ │ └── NVSamplePageSettings.axaml.cs
│ │ │ │ ├── SettingsPage.axaml
│ │ │ │ └── SettingsPage.axaml.cs
│ │ │ ├── Services
│ │ │ │ ├── ClipboardService.cs
│ │ │ │ ├── DialogHelper.cs
│ │ │ │ └── NavigationService.cs
│ │ │ ├── Styling
│ │ │ │ ├── ColorTileStyles.axaml
│ │ │ │ ├── ControlDefinitionOverlayStyles.axaml
│ │ │ │ ├── ControlExampleStyles.axaml
│ │ │ │ ├── ControlThemes.axaml
│ │ │ │ ├── ControlsGalleryStyles.axaml
│ │ │ │ ├── ControlsPageBaseStyles.axaml
│ │ │ │ └── Resources.axaml
│ │ │ ├── ViewModels
│ │ │ │ ├── CoreControlsPageViewModel.cs
│ │ │ │ ├── CoreControlsPages
│ │ │ │ │ └── TextControlsPageViewModel.cs
│ │ │ │ ├── DesignPages
│ │ │ │ │ ├── DesignIconsPageViewModel.cs
│ │ │ │ │ ├── DesignPageViewModel.cs
│ │ │ │ │ └── TypographyItemViewModel.cs
│ │ │ │ ├── FACommand.cs
│ │ │ │ ├── FAControlPages
│ │ │ │ │ ├── ColorPickerPageViewModel.cs
│ │ │ │ │ ├── CommandBarFlyoutPageViewModel.cs
│ │ │ │ │ ├── ContentDialogPageViewModel.cs
│ │ │ │ │ ├── CustomContentDialogViewModel.cs
│ │ │ │ │ ├── FAComboBoxPageViewModel.cs
│ │ │ │ │ ├── IconElementPageViewModel.cs
│ │ │ │ │ ├── InfoBadgePageViewModel.cs
│ │ │ │ │ ├── InfoBarPageViewModel.cs
│ │ │ │ │ ├── MenuFlyoutPageViewModel.cs
│ │ │ │ │ ├── NavViewPageViewModel.cs
│ │ │ │ │ ├── SettingsExpanderPageViewModel.cs
│ │ │ │ │ ├── StandardUICommandPageViewModel.cs
│ │ │ │ │ └── TabViewPageViewModel.cs
│ │ │ │ ├── FAControlsOverviewPageViewModel.cs
│ │ │ │ ├── HomePageViewModel.cs
│ │ │ │ ├── MainViewViewModel.cs
│ │ │ │ ├── PageBaseViewModel.cs
│ │ │ │ ├── SettingsPageViewModel.cs
│ │ │ │ └── ViewModelBase.cs
│ │ │ └── Views
│ │ │ │ ├── MainAppSplashContent.axaml
│ │ │ │ ├── MainAppSplashContent.axaml.cs
│ │ │ │ ├── MainView.axaml
│ │ │ │ ├── MainView.axaml.cs
│ │ │ │ ├── MainWindow.axaml
│ │ │ │ └── MainWindow.axaml.cs
│ │ └── FASandbox
│ │ │ ├── .gitignore
│ │ │ ├── App.axaml
│ │ │ ├── App.axaml.cs
│ │ │ ├── FASandbox.csproj
│ │ │ ├── MainWindow.axaml
│ │ │ ├── MainWindow.axaml.cs
│ │ │ ├── MainWindowViewModel.cs
│ │ │ └── Program.cs
│ ├── src
│ │ ├── Directory.Build.props
│ │ ├── FluentAvalonia
│ │ │ ├── Assets
│ │ │ │ └── ControlStrings.json
│ │ │ ├── Converters
│ │ │ │ ├── ColorShadeBrushConv.cs
│ │ │ │ ├── ColorToBrushConv.cs
│ │ │ │ ├── IBitmapToImageConverter.cs
│ │ │ │ ├── InverseBooleanValueConverter.cs
│ │ │ │ ├── NUDSpinLocationConverter.cs
│ │ │ │ ├── NativeMenuInverseBoolConverter.cs
│ │ │ │ └── ScrollViewerVisibilityToBoolConverter.cs
│ │ │ ├── Core
│ │ │ │ ├── Attributes
│ │ │ │ │ └── NotImplementedAttribute.cs
│ │ │ │ ├── Deferral.cs
│ │ │ │ ├── Delegates.cs
│ │ │ │ ├── FACompositeDisposable.cs
│ │ │ │ ├── FAUISettings.cs
│ │ │ │ ├── IEnumerableExtensions.cs
│ │ │ │ ├── Internal
│ │ │ │ │ ├── IsExternalInit.cs
│ │ │ │ │ ├── MathF.cs
│ │ │ │ │ ├── MathHelpers.cs
│ │ │ │ │ ├── ModuleInitializerAttribute.cs
│ │ │ │ │ └── VisualStateHelper.cs
│ │ │ │ ├── SharedPseudoclasses.cs
│ │ │ │ ├── SimpleObserver.cs
│ │ │ │ └── ThicknessExtensions.cs
│ │ │ ├── FluentAvalonia.csproj
│ │ │ ├── FodyWeavers.xml
│ │ │ ├── Fonts
│ │ │ │ ├── FluentSystemIcons-Resizable.ttf
│ │ │ │ └── MiSans-Regular.otf
│ │ │ ├── Interop
│ │ │ │ ├── .gitignore
│ │ │ │ ├── Helpers
│ │ │ │ │ ├── BOOL.cs
│ │ │ │ │ ├── COLORREF.cs
│ │ │ │ │ ├── DWMWINDOWATTRIBUTE.cs
│ │ │ │ │ ├── HBITMAP.cs
│ │ │ │ │ ├── HINSTANCE.cs
│ │ │ │ │ ├── HMENU.cs
│ │ │ │ │ ├── HRESULT.cs
│ │ │ │ │ ├── HWND.cs
│ │ │ │ │ ├── LPARAM.cs
│ │ │ │ │ ├── LRESULT.cs
│ │ │ │ │ ├── MARGINS.cs
│ │ │ │ │ ├── MENUITEMINFO.cs
│ │ │ │ │ ├── NCCALCSIZE_PARAMS.cs
│ │ │ │ │ ├── RECT.cs
│ │ │ │ │ ├── WINDOWPOS.cs
│ │ │ │ │ └── WPARAM.cs
│ │ │ │ ├── OSVersionHelper.cs
│ │ │ │ ├── Win32Interop.cs
│ │ │ │ └── WinRT
│ │ │ │ │ ├── WinRT.idl
│ │ │ │ │ ├── WinRTColor.cs
│ │ │ │ │ ├── WinRTInterop.cs
│ │ │ │ │ └── WinRTSize.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Styling
│ │ │ │ ├── ControlThemes
│ │ │ │ │ ├── BasicControls
│ │ │ │ │ │ ├── AutoCompleteBoxStyles.axaml
│ │ │ │ │ │ ├── ButtonSpinnerStyles.axaml
│ │ │ │ │ │ ├── ButtonStyles.axaml
│ │ │ │ │ │ ├── CalendarDatePickerStyles.axaml
│ │ │ │ │ │ ├── CalendarStyles.axaml
│ │ │ │ │ │ ├── CaptionButtonStyles.axaml
│ │ │ │ │ │ ├── CarouselStyles.axaml
│ │ │ │ │ │ ├── CheckBoxStyles.axaml
│ │ │ │ │ │ ├── ColorPicker
│ │ │ │ │ │ │ ├── ColorPicker.axaml
│ │ │ │ │ │ │ ├── ColorPickerStyles.axaml
│ │ │ │ │ │ │ ├── ColorPreviewer.axaml
│ │ │ │ │ │ │ ├── ColorSlider.axaml
│ │ │ │ │ │ │ ├── ColorSpectrum.axaml
│ │ │ │ │ │ │ └── ColorView.axaml
│ │ │ │ │ │ ├── ComboBoxStyles.axaml
│ │ │ │ │ │ ├── ContentControlStyles.axaml
│ │ │ │ │ │ ├── DataGrid
│ │ │ │ │ │ │ ├── DataGridCellStyles.axaml
│ │ │ │ │ │ │ ├── DataGridColumnHeaderStyles.axaml
│ │ │ │ │ │ │ ├── DataGridRowGroupHeaderStyles.axaml
│ │ │ │ │ │ │ ├── DataGridRowHeaderStyles.axaml
│ │ │ │ │ │ │ ├── DataGridRowStyles.axaml
│ │ │ │ │ │ │ └── DataGridStyles.axaml
│ │ │ │ │ │ ├── DataValidationErrorsStyles.axaml
│ │ │ │ │ │ ├── DatePickerStyles.axaml
│ │ │ │ │ │ ├── DropDownButtonStyles.axaml
│ │ │ │ │ │ ├── EmbeddableControlRootStyles.axaml
│ │ │ │ │ │ ├── ExpanderStyles.axaml
│ │ │ │ │ │ ├── FlyoutPresenterStyles.axaml
│ │ │ │ │ │ ├── FocusAdornerStyles.axaml
│ │ │ │ │ │ ├── GridSplitterStyles.axaml
│ │ │ │ │ │ ├── ItemsControlStyles.axaml
│ │ │ │ │ │ ├── LabelStyles.axaml
│ │ │ │ │ │ ├── ListBoxStyles.axaml
│ │ │ │ │ │ ├── ManagedFileChooserStyles.axaml
│ │ │ │ │ │ ├── MenuItemStyles.axaml
│ │ │ │ │ │ ├── MenuStyles.axaml
│ │ │ │ │ │ ├── NativeMenuBarStyles.axaml
│ │ │ │ │ │ ├── NotificationCardStyles.axaml
│ │ │ │ │ │ ├── NumericUpDownStyles.axaml
│ │ │ │ │ │ ├── OverlayPopupHostStyles.axaml
│ │ │ │ │ │ ├── PathIcon.axaml
│ │ │ │ │ │ ├── PopupRootStyles.axaml
│ │ │ │ │ │ ├── ProgressBarStyles.axaml
│ │ │ │ │ │ ├── RadioButtonStyles.axaml
│ │ │ │ │ │ ├── RefreshControlStyles.axaml
│ │ │ │ │ │ ├── RepeatButtonStyles.axaml
│ │ │ │ │ │ ├── ScrollBarStyles.axaml
│ │ │ │ │ │ ├── ScrollViewerStyles.axaml
│ │ │ │ │ │ ├── SliderStyles.axaml
│ │ │ │ │ │ ├── SplitButtonStyles.axaml
│ │ │ │ │ │ ├── SplitViewStyles.axaml
│ │ │ │ │ │ ├── TabControlStyles.axaml
│ │ │ │ │ │ ├── TabStripStyles.axaml
│ │ │ │ │ │ ├── TextBlockStyles.axaml
│ │ │ │ │ │ ├── TextBoxStyles.axaml
│ │ │ │ │ │ ├── TimePickerStyles.axaml
│ │ │ │ │ │ ├── TitleBarStyles.axaml
│ │ │ │ │ │ ├── ToggleButtonStyles.axaml
│ │ │ │ │ │ ├── ToggleSwitchStyles.axaml
│ │ │ │ │ │ ├── ToolTipStyles.axaml
│ │ │ │ │ │ ├── TransitioningContentControlStyles.axaml
│ │ │ │ │ │ ├── TreeViewStyles.axaml
│ │ │ │ │ │ ├── UserControlStyles.axaml
│ │ │ │ │ │ ├── WindowNotificationManagerStyles.axaml
│ │ │ │ │ │ └── WindowStyles.axaml
│ │ │ │ │ ├── Controls.axaml
│ │ │ │ │ └── FAControls
│ │ │ │ │ │ ├── AppWindowStyles.axaml
│ │ │ │ │ │ ├── ColorPickerButtonStyles.axaml
│ │ │ │ │ │ ├── ColorPickerStyles.axaml
│ │ │ │ │ │ ├── CommandBar
│ │ │ │ │ │ ├── CommandBarButtonStyles.axaml
│ │ │ │ │ │ ├── CommandBarElementContainerStyles.axaml
│ │ │ │ │ │ ├── CommandBarFlyoutCommandBarStyles.axaml
│ │ │ │ │ │ ├── CommandBarOverflowPresenterStyles.axaml
│ │ │ │ │ │ ├── CommandBarSeparatorStyles.axaml
│ │ │ │ │ │ ├── CommandBarStyles.axaml
│ │ │ │ │ │ └── CommandBarToggleButtonStyles.axaml
│ │ │ │ │ │ ├── ContentDialogStyles.axaml
│ │ │ │ │ │ ├── FAComboBox
│ │ │ │ │ │ ├── FAComboBoxItemStyles.axaml
│ │ │ │ │ │ └── FAComboBoxStyles.axaml
│ │ │ │ │ │ ├── FAMenuFlyout
│ │ │ │ │ │ ├── FAMenuFlyoutPresenter.axaml
│ │ │ │ │ │ ├── MenuFlyoutItemStyles.axaml
│ │ │ │ │ │ ├── MenuFlyoutSeparatorStyles.axaml
│ │ │ │ │ │ ├── MenuFlyoutSubItemStyles.axaml
│ │ │ │ │ │ ├── RadioMenuFlyoutItemStyles.axaml
│ │ │ │ │ │ └── ToggleMenuFlyoutItemStyles.axaml
│ │ │ │ │ │ ├── FrameStyles.axaml
│ │ │ │ │ │ ├── HyperlinkButtonStyles.axaml
│ │ │ │ │ │ ├── InfoBadgeStyles.axaml
│ │ │ │ │ │ ├── InfoBarStyles.axaml
│ │ │ │ │ │ ├── NavigationView
│ │ │ │ │ │ ├── NavigationViewBackButtonStyles.axaml
│ │ │ │ │ │ ├── NavigationViewItemHeaderStyles.axaml
│ │ │ │ │ │ ├── NavigationViewItemPresenterStyles.axaml
│ │ │ │ │ │ ├── NavigationViewItemSeparatorStyles.axaml
│ │ │ │ │ │ ├── NavigationViewItemStyles.axaml
│ │ │ │ │ │ ├── NavigationViewSharedStyles.axaml
│ │ │ │ │ │ └── NavigationViewStyles.axaml
│ │ │ │ │ │ ├── NumberBoxStyles.axaml
│ │ │ │ │ │ ├── PickerFlyoutPresenterStyles.axaml
│ │ │ │ │ │ ├── RangeSliderStyles.axaml
│ │ │ │ │ │ ├── SettingsExpander
│ │ │ │ │ │ ├── SettingsExpanderItemStyles.axaml
│ │ │ │ │ │ └── SettingsExpanderStyles.axaml
│ │ │ │ │ │ ├── TabView
│ │ │ │ │ │ ├── TabViewItemStyles.axaml
│ │ │ │ │ │ ├── TabViewListViewStyles.axaml
│ │ │ │ │ │ └── TabViewStyles.axaml
│ │ │ │ │ │ ├── TaskDialog
│ │ │ │ │ │ ├── TaskDialogButtonStyles.axaml
│ │ │ │ │ │ ├── TaskDialogCommandStyles.axaml
│ │ │ │ │ │ └── TaskDialogStyles.axaml
│ │ │ │ │ │ └── TeachingTipStyles.axaml
│ │ │ │ ├── Core
│ │ │ │ │ ├── FluentAvaloniaTheme.axaml
│ │ │ │ │ ├── FluentAvaloniaTheme.axaml.cs
│ │ │ │ │ ├── FluentAvaloniaTheme.windows.cs
│ │ │ │ │ ├── LinuxThemeResolver.cs
│ │ │ │ │ └── TextVerticalAlignmentOverride.cs
│ │ │ │ └── StylesV2
│ │ │ │ │ ├── Fluentv2.axaml
│ │ │ │ │ └── Fluentv2Colors.axaml
│ │ │ └── UI
│ │ │ │ ├── Controls
│ │ │ │ ├── Button
│ │ │ │ │ └── HyperlinkButton.cs
│ │ │ │ ├── ColorPicker
│ │ │ │ │ ├── ColorChangedEventArgs.cs
│ │ │ │ │ ├── ColorPaletteItem.cs
│ │ │ │ │ ├── ColorPaletteItem.properties.cs
│ │ │ │ │ ├── ColorPicker.properties.cs
│ │ │ │ │ ├── ColorPickerComponent.cs
│ │ │ │ │ ├── ColorPickerComponent.properties.cs
│ │ │ │ │ ├── ColorRamp.cs
│ │ │ │ │ ├── ColorRamp.properties.cs
│ │ │ │ │ ├── ColorSpectrum.cs
│ │ │ │ │ ├── ColorSpectrum.properties.cs
│ │ │ │ │ ├── Enums
│ │ │ │ │ │ ├── ColorComponent.cs
│ │ │ │ │ │ ├── ColorSpectrumComponents.cs
│ │ │ │ │ │ ├── ColorSpectrumShape.cs
│ │ │ │ │ │ ├── ColorTextType.cs
│ │ │ │ │ │ └── ColorUpdateReason.cs
│ │ │ │ │ └── FAColorPicker.cs
│ │ │ │ ├── ColorPickerButton
│ │ │ │ │ ├── ColorButtonColorChangedEventArgs.cs
│ │ │ │ │ ├── ColorPickerButton.cs
│ │ │ │ │ └── ColorPickerButton.properties.cs
│ │ │ │ ├── CommandBar
│ │ │ │ │ ├── CommandBar.cs
│ │ │ │ │ ├── CommandBar.properties.cs
│ │ │ │ │ ├── CommandBarButton.cs
│ │ │ │ │ ├── CommandBarButton.properties.cs
│ │ │ │ │ ├── CommandBarButtonTemplateSettings.cs
│ │ │ │ │ ├── CommandBarElementContainer.cs
│ │ │ │ │ ├── CommandBarItemsAlignment.cs
│ │ │ │ │ ├── CommandBarOverflowPresenter.cs
│ │ │ │ │ ├── CommandBarSeparator.cs
│ │ │ │ │ ├── CommandBarToggleButton.cs
│ │ │ │ │ ├── CommandBarToggleButton.properties.cs
│ │ │ │ │ ├── Enums
│ │ │ │ │ │ ├── CommandBarClosedDisplayMode.cs
│ │ │ │ │ │ ├── CommandBarDefaultLabelPosition.cs
│ │ │ │ │ │ └── CommandBarOverflowButtonVisibility.cs
│ │ │ │ │ └── ICommandBarElement.cs
│ │ │ │ ├── CommandBarFlyout
│ │ │ │ │ ├── CommandBarFlyout.cs
│ │ │ │ │ ├── CommandBarFlyoutCommandBar.cs
│ │ │ │ │ ├── TextCommandBarFlyout.cs
│ │ │ │ │ └── TextControlButtons.cs
│ │ │ │ ├── ContentDialog
│ │ │ │ │ ├── ContentDialog.cs
│ │ │ │ │ ├── ContentDialog.properties.cs
│ │ │ │ │ ├── ContentDialogButton.cs
│ │ │ │ │ ├── ContentDialogPlacement.cs
│ │ │ │ │ ├── ContentDialogResult.cs
│ │ │ │ │ └── EventArgs
│ │ │ │ │ │ ├── ContentDialogButtonClickEventArgs.cs
│ │ │ │ │ │ ├── ContentDialogClosedEventArgs.cs
│ │ │ │ │ │ └── ContentDialogClosingEventArgs.cs
│ │ │ │ ├── DataTemplateSelector.cs
│ │ │ │ ├── Experimental
│ │ │ │ │ ├── ConnectedAnimation.cs
│ │ │ │ │ ├── ConnectedAnimationConfiguration.cs
│ │ │ │ │ └── ConnectedAnimationService.cs
│ │ │ │ ├── FABorder
│ │ │ │ │ ├── BackgroundSizing.cs
│ │ │ │ │ └── FABorder.cs
│ │ │ │ ├── FAComboBox
│ │ │ │ │ ├── FAComboBox.cs
│ │ │ │ │ ├── FAComboBox.properties.cs
│ │ │ │ │ ├── FAComboBoxAutomationPeer.cs
│ │ │ │ │ ├── FAComboBoxItem.cs
│ │ │ │ │ ├── FAComboBoxSelectionChangedTrigger.cs
│ │ │ │ │ └── FAComboBoxTextSubmittedEventArgs.cs
│ │ │ │ ├── Flyouts
│ │ │ │ │ ├── ColorPickerFlyout.cs
│ │ │ │ │ ├── PickerFlyoutBase.cs
│ │ │ │ │ └── PickerFlyoutPresenter.cs
│ │ │ │ ├── Frame
│ │ │ │ │ ├── Frame.cs
│ │ │ │ │ ├── Frame.properties.cs
│ │ │ │ │ ├── FrameNavigationOptions.cs
│ │ │ │ │ ├── INavigationPageFactory.cs
│ │ │ │ │ ├── IPageStackEntry.cs
│ │ │ │ │ ├── NavigatingCancelEventArgs.cs
│ │ │ │ │ ├── NavigationEventArgs.cs
│ │ │ │ │ ├── NavigationFailedEventArgs.cs
│ │ │ │ │ ├── NavigationMode.cs
│ │ │ │ │ ├── PageStackEntry.cs
│ │ │ │ │ └── PageStackEntryWithoutReflection.cs
│ │ │ │ ├── IconElement
│ │ │ │ │ ├── BitmapIcon.cs
│ │ │ │ │ ├── BitmapIcon.properties.cs
│ │ │ │ │ ├── BitmapIconSource.cs
│ │ │ │ │ ├── FAIconElement.cs
│ │ │ │ │ ├── FAPathIcon.cs
│ │ │ │ │ ├── FAPathIcon.properties.cs
│ │ │ │ │ ├── FilledSymbol.cs
│ │ │ │ │ ├── FontIcon.cs
│ │ │ │ │ ├── FontIcon.properties.cs
│ │ │ │ │ ├── FontIconSource.cs
│ │ │ │ │ ├── IconHelpers.cs
│ │ │ │ │ ├── IconSource.cs
│ │ │ │ │ ├── IconSourceElement.cs
│ │ │ │ │ ├── ImageIcon.cs
│ │ │ │ │ ├── ImageIconSource.cs
│ │ │ │ │ ├── PathIconSource.cs
│ │ │ │ │ ├── Symbol.cs
│ │ │ │ │ ├── SymbolConversion.cs
│ │ │ │ │ ├── SymbolIcon.cs
│ │ │ │ │ └── SymbolIconSource.cs
│ │ │ │ ├── InfoBadge
│ │ │ │ │ ├── InfoBadge.cs
│ │ │ │ │ ├── InfoBadge.properties.cs
│ │ │ │ │ └── InfoBadgeTemplateSettings.cs
│ │ │ │ ├── InfoBar
│ │ │ │ │ ├── InfoBar.cs
│ │ │ │ │ ├── InfoBar.properties.cs
│ │ │ │ │ ├── InfoBarClosedEventArgs.cs
│ │ │ │ │ ├── InfoBarClosingEventArgs.cs
│ │ │ │ │ ├── InfoBarEnums.cs
│ │ │ │ │ ├── InfoBarPanel.cs
│ │ │ │ │ └── InfoBarPanel.properties.cs
│ │ │ │ ├── Internal
│ │ │ │ │ ├── BorderRenderHelper.cs
│ │ │ │ │ ├── DialogHost.cs
│ │ │ │ │ ├── DragItemsCompletedEventArgs.cs
│ │ │ │ │ └── DragItemsStartingEventArgs.cs
│ │ │ │ ├── MenuFlyout
│ │ │ │ │ ├── FAMenuFlyout.cs
│ │ │ │ │ ├── FAMenuFlyoutPresenter.cs
│ │ │ │ │ ├── MenuFlyoutItem.cs
│ │ │ │ │ ├── MenuFlyoutItem.properties.cs
│ │ │ │ │ ├── MenuFlyoutItemBase.cs
│ │ │ │ │ ├── MenuFlyoutItemTemplateSettings.cs
│ │ │ │ │ ├── MenuFlyoutSeparator.cs
│ │ │ │ │ ├── MenuFlyoutSubItem.cs
│ │ │ │ │ ├── MenuFlyoutSubItem.properties.cs
│ │ │ │ │ ├── RadioMenuFlyoutItem.cs
│ │ │ │ │ └── ToggleMenuFlyoutItem.cs
│ │ │ │ ├── NavigationView
│ │ │ │ │ ├── Data
│ │ │ │ │ │ ├── SplitDataSourceBase.cs
│ │ │ │ │ │ └── TopNavigationViewDataProvider.cs
│ │ │ │ │ ├── Enums
│ │ │ │ │ │ ├── NavViewEnums.cs
│ │ │ │ │ │ ├── NavigationViewDisplayMode.cs
│ │ │ │ │ │ └── NavigationViewPaneDisplayMode.cs
│ │ │ │ │ ├── EventArgs
│ │ │ │ │ │ ├── NavigationViewBackRequestedEventArgs.cs
│ │ │ │ │ │ ├── NavigationViewDisplayModeChangedEventArgs.cs
│ │ │ │ │ │ ├── NavigationViewItemCollapsedEventArgs.cs
│ │ │ │ │ │ ├── NavigationViewItemExpandingEventArgs.cs
│ │ │ │ │ │ ├── NavigationViewItemInvokedEventArgs.cs
│ │ │ │ │ │ ├── NavigationViewPaneClosingEventArgs.cs
│ │ │ │ │ │ └── NavigationViewSelectionChangedEventArgs.cs
│ │ │ │ │ ├── Items
│ │ │ │ │ │ ├── NavigationViewItem.cs
│ │ │ │ │ │ ├── NavigationViewItem.properties.cs
│ │ │ │ │ │ ├── NavigationViewItemBase.cs
│ │ │ │ │ │ ├── NavigationViewItemHeader.cs
│ │ │ │ │ │ ├── NavigationViewItemPresenter.cs
│ │ │ │ │ │ ├── NavigationViewItemPresenter.properties.cs
│ │ │ │ │ │ ├── NavigationViewItemPresenterTemplateSettings.cs
│ │ │ │ │ │ └── NavigationViewItemSeparator.cs
│ │ │ │ │ ├── NavigationView.cs
│ │ │ │ │ ├── NavigationView.members.cs
│ │ │ │ │ ├── NavigationView.properties.cs
│ │ │ │ │ ├── NavigationViewItemsFactory.cs
│ │ │ │ │ ├── NavigationViewTemplateSettings.cs
│ │ │ │ │ └── SelectionModel
│ │ │ │ │ │ ├── IndexPath.cs
│ │ │ │ │ │ ├── IndexRange.cs
│ │ │ │ │ │ ├── SelectedItems.cs
│ │ │ │ │ │ ├── SelectionModel.cs
│ │ │ │ │ │ ├── SelectionModelChildrenRequestedEventArgs.cs
│ │ │ │ │ │ ├── SelectionModelSelectionChangedEventArgs.cs
│ │ │ │ │ │ ├── SelectionNode.cs
│ │ │ │ │ │ └── SelectionTreeHelper.cs
│ │ │ │ ├── NumberBox
│ │ │ │ │ ├── Enums.cs
│ │ │ │ │ ├── NumberBox.cs
│ │ │ │ │ ├── NumberBox.properties.cs
│ │ │ │ │ ├── NumberBoxParser.cs
│ │ │ │ │ └── NumberBoxValueChangedEventArgs.cs
│ │ │ │ ├── RangeSlider
│ │ │ │ │ ├── RangeChangedEventArgs.cs
│ │ │ │ │ ├── RangeSlider.cs
│ │ │ │ │ └── RangeSlider.props.cs
│ │ │ │ ├── SettingsExpander
│ │ │ │ │ ├── SettingsExpander.cs
│ │ │ │ │ ├── SettingsExpander.properties.cs
│ │ │ │ │ ├── SettingsExpanderItem.cs
│ │ │ │ │ ├── SettingsExpanderItem.properties.cs
│ │ │ │ │ └── SettingsExpanderTemplateSettings.cs
│ │ │ │ ├── TabView
│ │ │ │ │ ├── Enums
│ │ │ │ │ │ ├── TabViewCloseButtonOverlayMode.cs
│ │ │ │ │ │ └── TabViewWidthMode.cs
│ │ │ │ │ ├── EventArgs
│ │ │ │ │ │ ├── TabViewTabCloseRequestedEventArgs.cs
│ │ │ │ │ │ ├── TabViewTabDragCompletedEventArgs.cs
│ │ │ │ │ │ ├── TabViewTabDragStartingEventArgs.cs
│ │ │ │ │ │ └── TabViewTabDroppedOutsideEventArgs.cs
│ │ │ │ │ ├── TabView.cs
│ │ │ │ │ ├── TabView.properties.cs
│ │ │ │ │ ├── TabViewItem.cs
│ │ │ │ │ ├── TabViewItem.properties.cs
│ │ │ │ │ ├── TabViewItemTemplateSettings.cs
│ │ │ │ │ ├── TabViewListView.cs
│ │ │ │ │ └── TabViewStackPanel.cs
│ │ │ │ ├── TaskDialog
│ │ │ │ │ ├── Controls
│ │ │ │ │ │ ├── TaskDialogButtonHost.cs
│ │ │ │ │ │ └── TaskDialogCommandHost.cs
│ │ │ │ │ ├── TaskDialog.cs
│ │ │ │ │ ├── TaskDialog.properties.cs
│ │ │ │ │ ├── TaskDialogButton.cs
│ │ │ │ │ ├── TaskDialogButtonsPanel.cs
│ │ │ │ │ ├── TaskDialogCheckBox.cs
│ │ │ │ │ ├── TaskDialogClosingEventArgs.cs
│ │ │ │ │ ├── TaskDialogCommand.cs
│ │ │ │ │ ├── TaskDialogControl.cs
│ │ │ │ │ ├── TaskDialogFooterVisibility.cs
│ │ │ │ │ ├── TaskDialogProgressState.cs
│ │ │ │ │ ├── TaskDialogRadioButton.cs
│ │ │ │ │ └── TaskDialogStandardResult.cs
│ │ │ │ └── TeachingTip
│ │ │ │ │ ├── TeachingTip.cs
│ │ │ │ │ ├── TeachingTip.props.cs
│ │ │ │ │ ├── TeachingTipAutomationPeer.cs
│ │ │ │ │ ├── TeachingTipCloseReason.cs
│ │ │ │ │ ├── TeachingTipClosedEventArgs.cs
│ │ │ │ │ ├── TeachingTipClosingEventArgs.cs
│ │ │ │ │ ├── TeachingTipHeroContentPlacementMode.cs
│ │ │ │ │ ├── TeachingTipPlacementMode.cs
│ │ │ │ │ ├── TeachingTipTailVisibility.cs
│ │ │ │ │ └── TeachingTipTemplateSettings.cs
│ │ │ │ ├── Data
│ │ │ │ ├── CollectionView
│ │ │ │ │ ├── CollectionViewGroup.cs
│ │ │ │ │ ├── CollectionViewSource.cs
│ │ │ │ │ ├── CurrentChangingEventArgs.cs
│ │ │ │ │ ├── GroupedDataCollectionView.cs
│ │ │ │ │ ├── IAdvancedCollectionView.cs
│ │ │ │ │ ├── ICollectionView.cs
│ │ │ │ │ ├── ICollectionViewFactory.cs
│ │ │ │ │ ├── ICollectionViewGroup.cs
│ │ │ │ │ ├── IterableCollectionView.cs
│ │ │ │ │ ├── LoadMoreItemsResult.cs
│ │ │ │ │ ├── RefreshDeferer.cs
│ │ │ │ │ ├── SortDescription.cs
│ │ │ │ │ └── SortDirection.cs
│ │ │ │ └── DataPackage.cs
│ │ │ │ ├── FALocalizationHelper.cs
│ │ │ │ ├── Input
│ │ │ │ ├── CanExecuteRequestedEventArgs.cs
│ │ │ │ ├── ExecuteRequestedEventArgs.cs
│ │ │ │ ├── StandardUICommand.cs
│ │ │ │ ├── StandardUICommandKind.cs
│ │ │ │ ├── XamlUICommand.cs
│ │ │ │ └── XamlUICommand.properties.cs
│ │ │ │ ├── Media
│ │ │ │ ├── Color2.cs
│ │ │ │ ├── DrillInNavigationTransitionInfo.cs
│ │ │ │ ├── EntranceNavigationTransitionInfo.cs
│ │ │ │ ├── NavigationTransitionInfo.cs
│ │ │ │ ├── SlideNavigationTransitionEffect.cs
│ │ │ │ ├── SlideNavigationTransitionInfo.cs
│ │ │ │ └── SuppressNavigationTransitionInfo.cs
│ │ │ │ └── Windowing
│ │ │ │ ├── AppWindow
│ │ │ │ ├── AppWindow.cs
│ │ │ │ ├── AppWindow.props.cs
│ │ │ │ ├── AppWindowTemplateSettings.cs
│ │ │ │ ├── AppWindowTitleBar.cs
│ │ │ │ ├── IAppWindowPlatformFeatures.cs
│ │ │ │ ├── IApplicationSplashScreen.cs
│ │ │ │ ├── MinMaxCloseControl.cs
│ │ │ │ └── SplashScreenContext.cs
│ │ │ │ └── Win32
│ │ │ │ ├── AppWindow.win32.cs
│ │ │ │ ├── Win32AppWindowFeatures.cs
│ │ │ │ └── Win32WindowManager.cs
│ │ └── SourceLink.props
│ └── tests
│ │ └── FluentAvaloniaTests
│ │ ├── ControlTests
│ │ ├── CommandBarTests.cs
│ │ ├── ContentDialogTests.cs
│ │ ├── CoreWindowTests.cs
│ │ ├── FrameTests.cs
│ │ ├── IconSourceTests.cs
│ │ ├── NavigationViewTests.cs
│ │ ├── RangeSliderTests.cs
│ │ ├── TabViewTests.cs
│ │ └── TaskDialogTests.cs
│ │ ├── DataTests
│ │ └── CollectionViewSourceTests.cs
│ │ ├── FluentAvaloniaTests.csproj
│ │ ├── Helpers
│ │ ├── TestCommand.cs
│ │ └── UnitTestApplication.cs
│ │ ├── MediaTests
│ │ └── Color2Tests.cs
│ │ └── xunit.runner.json
├── LocalizationSourceGenerator.dll
├── WanaKanaShaapu
│ ├── .github
│ │ └── workflows
│ │ │ ├── CI.yml
│ │ │ └── release.yml
│ ├── .gitignore
│ ├── README.md
│ ├── WanaKanaShaapu.UnitTest
│ │ ├── CustomMappingUnitTests.cs
│ │ ├── DefaultOptionsUnitTests.cs
│ │ ├── IsHiraganaUnitTests.cs
│ │ ├── IsJapaneseUnitTests.cs
│ │ ├── IsKanaUnitTests.cs
│ │ ├── IsKanjiUnitTests.cs
│ │ ├── IsKatakanaUnitTests.cs
│ │ ├── IsMixedUnitTests.cs
│ │ ├── IsRomajiUnitTests.cs
│ │ ├── KanaToHepburnTreeBuilderUnitTests.cs
│ │ ├── PerformanceUnitTests.cs
│ │ ├── RomajiToKanaTreeBuilderUnitTests.cs
│ │ ├── StripOkuriganaUnitTests.cs
│ │ ├── ToHiraganaUnitTests.cs
│ │ ├── ToKanaUnitTests.cs
│ │ ├── ToKatakanaUnitTests.cs
│ │ ├── ToRomajiUnitTests.cs
│ │ ├── TokenizationUnitTests.cs
│ │ ├── TokenizeUnitTests.cs
│ │ ├── TreeTraverserUnitTests.cs
│ │ └── WanaKanaShaapu.UnitTests.csproj
│ ├── WanaKanaShaapu.sln
│ └── WanaKanaShaapu
│ │ ├── CharacterRange.cs
│ │ ├── Constants.cs
│ │ ├── DefaultOptions.cs
│ │ ├── Internal
│ │ └── Utils.cs
│ │ ├── Node.cs
│ │ ├── Token.cs
│ │ ├── Tokenization.cs
│ │ ├── TreeBuilder.cs
│ │ ├── TreeConstants.cs
│ │ ├── TreeTraverser.cs
│ │ ├── WanaKana.cs
│ │ ├── WanaKanaShaapu.csproj
│ │ └── wanikanilogo.png
└── WebView2LoaderStatic.lib
├── Celestite.Desktop
├── Assets
│ └── celestite-icon.ico
├── Celestite.Desktop.csproj
├── Program.cs
├── Properties
│ └── launchSettings.json
├── app.manifest
└── rd.xml
├── Celestite.sln
├── Celestite
├── App.axaml
├── App.axaml.cs
├── Assets
│ ├── Cert
│ │ ├── cacert.pem
│ │ └── himari_proxy.pem
│ ├── I18N
│ │ ├── en-US.json
│ │ └── zh-CN.json
│ └── celestite-icon.png
├── Build.cs
├── Celestite.csproj
├── Configs
│ ├── DmmConfig.cs
│ └── LauncherConfig.cs
├── Controls
│ ├── DmmGameExpander
│ │ ├── DmmGameExpander.properties.cs
│ │ └── DmmGameExpanderStyles.axaml
│ └── Native
│ │ └── WindowsWebView2Control.cs
├── Dialogs
│ ├── DefaultLoginFormDialog.axaml
│ ├── DefaultLoginFormDialog.axaml.cs
│ ├── Games
│ │ ├── AddBrowserGameDialog.axaml
│ │ ├── AddBrowserGameDialog.axaml.cs
│ │ ├── AddClientGameDialog.axaml
│ │ ├── AddClientGameDialog.axaml.cs
│ │ ├── AgreementCheckDialog.axaml
│ │ ├── AgreementCheckDialog.axaml.cs
│ │ ├── GameSettingsDialog.axaml
│ │ ├── GameSettingsDialog.axaml.cs
│ │ ├── HardwareRegDialog.axaml
│ │ ├── HardwareRegDialog.axaml.cs
│ │ ├── InstallGameDialog.axaml
│ │ ├── InstallGameDialog.axaml.cs
│ │ ├── UpdateGameDialog.axaml
│ │ └── UpdateGameDialog.axaml.cs
│ ├── HardwareListDialog.axaml
│ ├── HardwareListDialog.axaml.cs
│ ├── RegisterFormDialog.axaml
│ └── RegisterFormDialog.axaml.cs
├── FodyWeavers.xml
├── I18N
│ └── Localization.cs
├── LICENSE.txt
├── Network
│ ├── AvaImageHelper.cs
│ ├── Caching
│ │ └── HttpCaching.cs
│ ├── CelestiteBypassCore
│ │ └── HttpHelperImplementation.cs
│ ├── DmmAltHashLoginHelper.cs
│ ├── DmmBrowserGameLaunchHelper.cs
│ ├── DmmGamePlayerApiHelper.cs
│ ├── DmmHermesHelper.cs
│ ├── DmmOpenApiHelper.cs
│ ├── DmmPersonalAccessHelper.cs
│ ├── Downloader
│ │ ├── IKashimaDownloader.cs
│ │ ├── KashimaDownloadManager.cs
│ │ └── KashimaDownloaderV1.cs
│ ├── DynamicProxy
│ │ ├── DynamicProxy.cs
│ │ ├── FailedProxyCache.cs
│ │ ├── HttpNoProxy.cs
│ │ ├── IMultiWebProxy.cs
│ │ ├── MultiProxy.cs
│ │ ├── SimpleRegex.cs
│ │ └── Windows
│ │ │ ├── DynamicWindowsHttpProxy.cs
│ │ │ ├── HttpWindowsProxy.cs
│ │ │ ├── Interop.cs
│ │ │ ├── RegistryMonitor.cs
│ │ │ └── WinInetProxyHelper.cs
│ ├── HttpHelper.cs
│ ├── Models
│ │ ├── ApiExtreaViewModel.cs
│ │ ├── DmmGamePlayerApiEnums.cs
│ │ ├── DmmGamePlayerApiRequest.cs
│ │ ├── DmmGamePlayerApiResponse.cs
│ │ ├── DmmGamePlayerApiSharedModel.cs
│ │ ├── DmmOpenApiRequest.cs
│ │ ├── DmmOpenApiResponse.cs
│ │ └── ElectronCookie.cs
│ └── NetworkOperationResult.cs
├── Pages
│ ├── AccountPage.axaml
│ ├── AccountPage.axaml.cs
│ ├── Default
│ │ ├── DmmProfileRegistrationPage.axaml
│ │ ├── DmmProfileRegistrationPage.axaml.cs
│ │ ├── LoginPage.axaml
│ │ ├── LoginPage.axaml.cs
│ │ ├── MainNavigationView.axaml
│ │ └── MainNavigationView.axaml.cs
│ ├── DownloadManagerPage.axaml
│ ├── DownloadManagerPage.axaml.cs
│ ├── GamesPage.axaml
│ ├── GamesPage.axaml.cs
│ ├── HomePage.axaml
│ ├── HomePage.axaml.cs
│ ├── MissionPage.axaml
│ ├── MissionPage.axaml.cs
│ ├── NotificationPage.axaml
│ ├── NotificationPage.axaml.cs
│ ├── SettingsPage.axaml
│ └── SettingsPage.axaml.cs
├── Properties
│ ├── launchSettings.json
│ └── rd.xml
├── Styling
│ └── Resources.axaml
├── Utils
│ ├── Algorithm
│ │ └── PathCommonPrefixFinder.cs
│ ├── CommandLineHelper.cs
│ ├── ConfigUtils.cs
│ ├── Converters
│ │ ├── FileSizeConverter.cs
│ │ └── UnixEpochDateTimeConverter.cs
│ ├── CyBase64.cs
│ ├── FileUtils.cs
│ ├── GCUtils.cs
│ ├── Interop
│ │ └── Windows
│ │ │ ├── Carleen.cs
│ │ │ ├── USER32.cs
│ │ │ └── WIN32.cs
│ ├── JwtUtils.cs
│ ├── LaunchHelper.cs
│ ├── NextDataParserUtils.cs
│ ├── NotificationHelper.cs
│ ├── ProcessUtils.cs
│ ├── SingletonInstanceHelper.cs
│ ├── SystemInfoUtils.cs
│ └── WindowTrayHelper.cs
├── ViewModels
│ ├── AppViewModel.cs
│ ├── DefaultVM
│ │ ├── DmmProfileRegistrationPageViewModel.cs
│ │ └── LoginPageViewModel.cs
│ ├── Dialogs
│ │ ├── AddBrowserGameDialogViewModel.cs
│ │ ├── AddClientGameDialogViewModel.cs
│ │ ├── AgreementDialogViewModel.cs
│ │ ├── DefaultLoginFormDialogViewModel.cs
│ │ ├── GameSettingsDialogViewModel.cs
│ │ ├── HardwareListDialogViewModel.cs
│ │ ├── HardwareRegDialogViewModel.cs
│ │ ├── InstallGameDialogViewModel.cs
│ │ ├── RegisterFormDialogViewModel.cs
│ │ └── UpdateGameDialogViewModel.cs
│ ├── Navigation
│ │ └── GameNavigationFactory.cs
│ ├── NavigationFactory.cs
│ ├── Pages
│ │ ├── AccountPageViewModel.cs
│ │ ├── DownloadManagerPageViewModel.cs
│ │ ├── GamesPageViewModel.cs
│ │ ├── HomePageViewModel.cs
│ │ ├── MissionPageViewModel.cs
│ │ ├── MissionParser.cs
│ │ ├── NotificationPageViewModel.cs
│ │ └── SettingsViewModel.cs
│ ├── ViewModelBase.cs
│ └── WebBrowser
│ │ └── WebBrowserViewModel.cs
└── Views
│ ├── MainView.axaml
│ ├── MainView.axaml.cs
│ ├── MainWindow.axaml
│ ├── MainWindow.axaml.cs
│ ├── WebViewBrowser.axaml
│ └── WebViewBrowser.axaml.cs
├── Directory.Build.props
├── LICENSE
├── LocalizationSourceGenerator
├── LocalizationSourceGenerator.cs
└── LocalizationSourceGenerator.csproj
├── README.md
├── azure-pipelines.yml
└── rd.xml
/3rdParty/Carleen.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/Carleen.lib
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | github: Turnerj
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 | updates:
3 | - package-ecosystem: nuget
4 | directory: "/"
5 | schedule:
6 | interval: daily
7 | open-pull-requests-limit: 10
8 |
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/.github/release-drafter.yml:
--------------------------------------------------------------------------------
1 | name-template: '$RESOLVED_VERSION'
2 | tag-template: '$RESOLVED_VERSION'
3 | categories:
4 | - title: '🚀 Features'
5 | labels:
6 | - 'feature'
7 | - 'enhancement'
8 | - title: '🐛 Bug Fixes'
9 | labels:
10 | - 'bug'
11 | - 'bugfix'
12 | - title: '🧰 Maintenance'
13 | label:
14 | - 'dependencies'
15 | - 'maintenance'
16 | change-template: '- $TITLE by @$AUTHOR (#$NUMBER)'
17 | change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks.
18 | version-resolver:
19 | major:
20 | labels:
21 | - 'major'
22 | minor:
23 | labels:
24 | - 'minor'
25 | patch:
26 | labels:
27 | - 'patch'
28 | default: patch
29 | template: |
30 | ## Changes
31 |
32 | $CHANGES
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/.github/workflows/release-drafter.yml:
--------------------------------------------------------------------------------
1 | name: Release Drafter
2 |
3 | on:
4 | push:
5 | branches:
6 | - main
7 |
8 | jobs:
9 | update_release_draft:
10 | runs-on: ubuntu-latest
11 | steps:
12 | - uses: release-drafter/release-drafter@v5
13 | env:
14 | GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/CodeCoverage.runsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | cobertura
8 | [MongoFramework.Tests]*
9 | [MongoFramework]*,[MongoFramework.*]*
10 | Obsolete,GeneratedCodeAttribute,CompilerGeneratedAttribute
11 | true
12 | true
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/benchmarks/StaticDnsServer/StaticDnsServer.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | net6.0
6 | enable
7 | enable
8 | false
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/benchmarks/TurnerSoftware.DinoDNS.Benchmarks/Internal/DnsRawValueBenchmark.cs:
--------------------------------------------------------------------------------
1 | using BenchmarkDotNet.Attributes;
2 | using TurnerSoftware.DinoDNS.Protocol;
3 |
4 | namespace TurnerSoftware.DinoDNS.Benchmarks.Internal;
5 |
6 | [Config(typeof(DefaultBenchmarkConfig))]
7 | public class DnsRawValueBenchmark
8 | {
9 | private readonly DnsRawValue ByteValue = new(new byte[] {
10 | 116,
11 | 101,
12 | 115,
13 | 116,
14 | 46,
15 | 119,
16 | 119,
17 | 119,
18 | 46,
19 | 101,
20 | 120,
21 | 97,
22 | 109,
23 | 112,
24 | 108,
25 | 101,
26 | 46,
27 | 111,
28 | 114,
29 | 103,
30 | }.AsMemory());
31 |
32 | private readonly DnsRawValue CharValue = new("test.www.example.org".AsMemory());
33 |
34 | [Benchmark]
35 | public bool Equality_Mixed() => ByteValue.Equals(CharValue);
36 |
37 | [Benchmark]
38 | public bool Equality_Byte() => ByteValue.Equals(ByteValue);
39 |
40 | [Benchmark]
41 | public bool Equality_Char() => CharValue.Equals(CharValue);
42 | }
43 |
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/benchmarks/TurnerSoftware.DinoDNS.Benchmarks/Internal/SequenceBytesBenchmark.cs:
--------------------------------------------------------------------------------
1 | using BenchmarkDotNet.Attributes;
2 | using TurnerSoftware.DinoDNS.Protocol;
3 |
4 | namespace TurnerSoftware.DinoDNS.Benchmarks.Internal;
5 |
6 | [Config(typeof(IntrinsicBenchmarkConfig))]
7 | public class SequenceBytesBenchmark
8 | {
9 | private LabelSequence LabelSequence;
10 |
11 | [GlobalSetup]
12 | public void Setup()
13 | {
14 | var buffer = new byte[1024];
15 | var writtenBytes = new DnsProtocolWriter(buffer.AsMemory())
16 | .AppendLabel("www").AppendLabel("example").AppendLabel("org").AppendLabelSequenceEnd()
17 | .AppendLabel("test").AppendLabel("site").AppendPointer(4).AppendByte(0)
18 | .GetWrittenBytes();
19 |
20 | new DnsProtocolReader(new(writtenBytes, 17))
21 | .ReadLabelSequence(out LabelSequence);
22 | }
23 |
24 | [Benchmark]
25 | public int GetSequenceByteLength()
26 | {
27 | return LabelSequence.GetSequenceByteLength();
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/benchmarks/TurnerSoftware.DinoDNS.Benchmarks/Internal/SequentialBytesBenchmark.cs:
--------------------------------------------------------------------------------
1 | using BenchmarkDotNet.Attributes;
2 | using TurnerSoftware.DinoDNS.Protocol;
3 |
4 | namespace TurnerSoftware.DinoDNS.Benchmarks.Internal;
5 |
6 | [Config(typeof(IntrinsicBenchmarkConfig))]
7 | public class SequentialBytesBenchmark
8 | {
9 | private LabelSequence LabelSequence;
10 |
11 | [GlobalSetup]
12 | public void Setup()
13 | {
14 | var buffer = new byte[1024];
15 | var messageBytes = new DnsProtocolWriter(buffer.AsMemory())
16 | .AppendLabelSequence(new LabelSequence("test.www.example.org"))
17 | .GetWrittenBytes()
18 | .ToArray();
19 |
20 | new DnsProtocolReader(messageBytes.AsMemory())
21 | .ReadLabelSequence(out LabelSequence);
22 | }
23 |
24 | [Benchmark]
25 | public int GetSequentialByteLength()
26 | {
27 | return LabelSequence.GetSequentialByteLength();
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/benchmarks/TurnerSoftware.DinoDNS.Benchmarks/NetworkStack/HttpsStackBenchmark.cs:
--------------------------------------------------------------------------------
1 | using BenchmarkDotNet.Attributes;
2 | using TurnerSoftware.DinoDNS.Connection;
3 | using TurnerSoftware.DinoDNS.Protocol;
4 |
5 | namespace TurnerSoftware.DinoDNS.Benchmarks.NetworkStack;
6 |
7 | public class HttpsStackBenchmark : NetworkStackBenchmark
8 | {
9 | [GlobalSetup]
10 | public override void Setup()
11 | {
12 | base.Setup();
13 |
14 | DinoDNS_DnsClient = new DnsClient(new NameServer[] { new(ServerEndPoint, new HttpsResolver(HttpConnectionClientOptions.Insecure)) }, DnsMessageOptions.Default);
15 |
16 | ExternalTestServer.StartHttps();
17 | }
18 |
19 | [GlobalCleanup]
20 | public void Cleanup()
21 | {
22 | ExternalTestServer.Stop();
23 | }
24 |
25 |
26 | [Benchmark(Baseline = true)]
27 | public async Task DinoDNS()
28 | {
29 | return await DinoDNS_DnsClient!.SendAsync(DinoDNS_Message);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/benchmarks/TurnerSoftware.DinoDNS.Benchmarks/NetworkStack/TlsStackBenchmark.cs:
--------------------------------------------------------------------------------
1 | using BenchmarkDotNet.Attributes;
2 | using TurnerSoftware.DinoDNS.Connection;
3 | using TurnerSoftware.DinoDNS.Protocol;
4 |
5 | namespace TurnerSoftware.DinoDNS.Benchmarks.NetworkStack;
6 |
7 | public class TlsStackBenchmark : NetworkStackBenchmark
8 | {
9 | [GlobalSetup]
10 | public override void Setup()
11 | {
12 | base.Setup();
13 |
14 | DinoDNS_DnsClient = new DnsClient(new NameServer[] { new(ServerEndPoint, new TlsResolver(TlsResolver.AuthOptions.DoNotValidate)) }, DnsMessageOptions.Default);
15 |
16 | ExternalTestServer.StartTls();
17 | }
18 |
19 | [GlobalCleanup]
20 | public void Cleanup()
21 | {
22 | ExternalTestServer.Stop();
23 | }
24 |
25 |
26 | [Benchmark(Baseline = true)]
27 | public async Task DinoDNS()
28 | {
29 | return await DinoDNS_DnsClient!.SendAsync(DinoDNS_Message);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/benchmarks/TurnerSoftware.DinoDNS.Benchmarks/Program.cs:
--------------------------------------------------------------------------------
1 | using BenchmarkDotNet.Running;
2 |
3 | BenchmarkSwitcher.FromAssembly(typeof(Program).Assembly).Run(args);
4 |
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/benchmarks/TurnerSoftware.DinoDNS.Benchmarks/TurnerSoftware.DinoDNS.Benchmarks.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | net6.0
6 | enable
7 | enable
8 | false
9 | true
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/images/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/DinoDNS/images/icon.png
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/src/TurnerSoftware.DinoDNS/AssemblyInternals.cs:
--------------------------------------------------------------------------------
1 | using System.Runtime.CompilerServices;
2 |
3 | [assembly: InternalsVisibleTo("TurnerSoftware.DinoDNS.Tests")]
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/src/TurnerSoftware.DinoDNS/Connection/Listeners/IDnsQueryListener.cs:
--------------------------------------------------------------------------------
1 | using System.Net;
2 |
3 | namespace TurnerSoftware.DinoDNS.Connection.Listeners;
4 |
5 | public delegate ValueTask OnDnsQueryCallback(ReadOnlyMemory requestBuffer, Memory responseBuffer, CancellationToken cancellationToken);
6 |
7 | public interface IDnsQueryListener
8 | {
9 | Task ListenAsync(IPEndPoint endPoint, OnDnsQueryCallback callback, DnsMessageOptions options, CancellationToken cancellationToken);
10 | }
11 |
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/src/TurnerSoftware.DinoDNS/Connection/Resolvers/IDnsResolver.cs:
--------------------------------------------------------------------------------
1 | using System.Net;
2 |
3 | namespace TurnerSoftware.DinoDNS.Connection;
4 |
5 | public interface IDnsResolver
6 | {
7 | ValueTask SendMessageAsync(IPEndPoint endPoint, ReadOnlyMemory requestBuffer, Memory responseBuffer, CancellationToken cancellationToken);
8 | }
9 |
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/src/TurnerSoftware.DinoDNS/Connection/Resolvers/UdpTcpDualResolver.cs:
--------------------------------------------------------------------------------
1 | using System.Net;
2 | using TurnerSoftware.DinoDNS.Protocol;
3 |
4 | namespace TurnerSoftware.DinoDNS.Connection;
5 |
6 | public sealed class UdpTcpDualResolver : IDnsResolver
7 | {
8 | public static readonly UdpTcpDualResolver Instance = new();
9 |
10 | public async ValueTask SendMessageAsync(IPEndPoint endPoint, ReadOnlyMemory requestBuffer, Memory responseBuffer, CancellationToken cancellationToken)
11 | {
12 | var messageLength = await UdpResolver.Instance.SendMessageAsync(endPoint, requestBuffer, responseBuffer, cancellationToken).ConfigureAwait(false);
13 |
14 | new DnsProtocolReader(responseBuffer).ReadHeader(out var header);
15 | if (header.Flags.Truncation == Truncation.Yes)
16 | {
17 | messageLength = await TcpResolver.Instance.SendMessageAsync(endPoint, requestBuffer, responseBuffer, cancellationToken).ConfigureAwait(false);
18 | }
19 |
20 | return messageLength;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/src/TurnerSoftware.DinoDNS/ConnectionType.cs:
--------------------------------------------------------------------------------
1 | namespace TurnerSoftware.DinoDNS;
2 |
3 | public enum ConnectionType
4 | {
5 | ///
6 | /// A UDP-only connection.
7 | ///
8 | Udp,
9 | ///
10 | /// A TCP-only connection.
11 | ///
12 | Tcp,
13 | ///
14 | /// A UDP connection that falls back to TCP when the message is truncated.
15 | ///
16 | UdpWithTcpFallback,
17 | ///
18 | /// DNS over HTTPS.
19 | ///
20 | DoH,
21 | ///
22 | /// DNS over TLS.
23 | ///
24 | DoT,
25 | ///
26 | /// DNS over QUIC.
27 | ///
28 | DoQ
29 | }
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/src/TurnerSoftware.DinoDNS/DnsClientExtensions.cs:
--------------------------------------------------------------------------------
1 | using TurnerSoftware.DinoDNS.Protocol;
2 |
3 | namespace TurnerSoftware.DinoDNS;
4 |
5 | public static class DnsClientExtensions
6 | {
7 | private static ushort GetRandomIdentifier() => (ushort)Random.Shared.Next(ushort.MaxValue);
8 |
9 | public static async ValueTask QueryAsync(this DnsClient client, string query, DnsQueryType type, DnsClass dnsClass = DnsClass.IN, CancellationToken cancellationToken = default)
10 | => await client.QueryAsync(new Question(query, type, dnsClass), cancellationToken).ConfigureAwait(false);
11 |
12 | public static async ValueTask QueryAsync(this DnsClient client, Question question, CancellationToken cancellationToken = default) => await client.SendAsync(
13 | DnsMessage.CreateQuery(GetRandomIdentifier()).WithQuestions(new[] { question }),
14 | cancellationToken
15 | ).ConfigureAwait(false);
16 | }
17 |
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/src/TurnerSoftware.DinoDNS/DnsForwardingServer.cs:
--------------------------------------------------------------------------------
1 | namespace TurnerSoftware.DinoDNS;
2 |
3 | public class DnsForwardingServer : DnsServerBase
4 | {
5 | private readonly DnsClient Client;
6 |
7 | public DnsForwardingServer(
8 | NameServer[] nameServers,
9 | ServerEndPoint[] endPoints,
10 | DnsMessageOptions options
11 | ) : base(endPoints, options)
12 | {
13 | Client = new DnsClient(nameServers, options);
14 | }
15 |
16 | protected override async ValueTask OnReceiveAsync(ReadOnlyMemory requestBuffer, Memory responseBuffer, CancellationToken cancellationToken)
17 | {
18 | return await Client.SendAsync(requestBuffer, responseBuffer, cancellationToken).ConfigureAwait(false);
19 | }
20 | }
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/src/TurnerSoftware.DinoDNS/Protocol/DnsClass.cs:
--------------------------------------------------------------------------------
1 | namespace TurnerSoftware.DinoDNS.Protocol;
2 |
3 | public enum DnsClass
4 | {
5 | IN = 1,
6 | ANY = 255
7 | }
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/src/TurnerSoftware.DinoDNS/Protocol/DnsType.cs:
--------------------------------------------------------------------------------
1 | namespace TurnerSoftware.DinoDNS.Protocol;
2 |
3 | public enum DnsType
4 | {
5 | A = 1,
6 | NS = 2,
7 | CNAME = 5,
8 | SOA = 6,
9 | WKS = 11,
10 | PTR = 12,
11 | HINFO = 13,
12 | MINFO = 14,
13 | MX = 15,
14 | TXT = 16,
15 | AAAA = 28
16 | }
17 |
18 |
19 | public enum DnsQueryType
20 | {
21 | A = 1,
22 | NS = 2,
23 | CNAME = 5,
24 | SOA = 6,
25 | WKS = 11,
26 | PTR = 12,
27 | HINFO = 13,
28 | MINFO = 14,
29 | MX = 15,
30 | TXT = 16,
31 | AAAA = 28,
32 |
33 | AXFR = 252,
34 | ANY = 255
35 | }
36 |
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/src/TurnerSoftware.DinoDNS/Protocol/Question.cs:
--------------------------------------------------------------------------------
1 | namespace TurnerSoftware.DinoDNS.Protocol;
2 |
3 | public readonly record struct Question(LabelSequence Query, DnsQueryType Type, DnsClass Class)
4 | {
5 | public override string ToString() => $"QNAME:{Query},QTYPE:{Type},QCLASS:{Class}";
6 | }
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/src/TurnerSoftware.DinoDNS/Protocol/ResourceRecordCollectionExtensions.cs:
--------------------------------------------------------------------------------
1 | using TurnerSoftware.DinoDNS.Protocol.ResourceRecords;
2 |
3 | namespace TurnerSoftware.DinoDNS.Protocol;
4 |
5 | public static class ResourceRecordCollectionExtensions
6 | {
7 | private static IEnumerable SelectWhere(ResourceRecordCollection resourceRecords, DnsType type, Func map)
8 | {
9 | foreach (var record in resourceRecords)
10 | {
11 | if (record.Type == type)
12 | {
13 | yield return map(record);
14 | }
15 | }
16 | }
17 |
18 | public static IEnumerable WithARecords(this ResourceRecordCollection resourceRecords)
19 | => SelectWhere(resourceRecords, DnsType.A, r => new ARecord(r));
20 | }
21 |
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/tests/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Latest
5 |
6 |
7 |
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/tests/TurnerSoftware.DinoDNS.TestConsole/TurnerSoftware.DinoDNS.TestConsole.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | net6.0
6 | enable
7 | enable
8 | false
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/tests/TurnerSoftware.DinoDNS.TestServer/TurnerSoftware.DinoDNS.TestServer.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net6.0
5 | enable
6 | enable
7 | false
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/tests/TurnerSoftware.DinoDNS.Tests/DnsProtocolWriterExtensions.cs:
--------------------------------------------------------------------------------
1 | namespace TurnerSoftware.DinoDNS.Tests;
2 |
3 | internal static class DnsProtocolWriterExtensions
4 | {
5 | public static byte[] EndLabelSequence(this DnsProtocolWriter protocolWriter)
6 | {
7 | return protocolWriter.AppendLabelSequenceEnd().GetWrittenBytes().ToArray();
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/3rdParty/DinoDNS/tests/TurnerSoftware.DinoDNS.Tests/TurnerSoftware.DinoDNS.Tests.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net6.0
5 | enable
6 |
7 | false
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: " Create a report to help us improve"
4 | title: ''
5 | labels: bug
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Describe the bug**
11 | A clear and concise description of what the bug is and any steps to reproduce it. Sample code or a minimal repro is helpful.
12 |
13 | **Screenshots**
14 | If applicable, add screenshots to help explain your problem.
15 |
16 | **Desktop/Platform (please complete the following information):**
17 | - OS: [e.g. Windows (11/10), linux (distro), osx, wasm, etc]
18 | - FluentAvalonia Version [e.g. 1.0.0, or latest]
19 | - Avalonia Version [e.g. 0.10.10]
20 |
21 | **Additional context**
22 | Add any other context about the problem here.
23 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: ''
5 | labels: enhancement
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Is your feature request related to a problem? Please describe.**
11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12 |
13 | **Describe the solution you'd like**
14 | A clear and concise description of what you want to happen.
15 |
16 | **Describe alternatives you've considered**
17 | A clear and concise description of any alternative solutions or features you've considered.
18 |
19 | **Additional context**
20 | Add any other context or screenshots about the feature request here.
21 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/.github/workflows/build.yml:
--------------------------------------------------------------------------------
1 | name: Build .NET
2 |
3 | on:
4 | push:
5 | branches: [ master ]
6 | pull_request:
7 | branches: [ master ]
8 |
9 | jobs:
10 | build:
11 | strategy:
12 | matrix:
13 | os: [ubuntu-latest, windows-latest, macos-latest]
14 | fail-fast: false
15 | name: Build ${{ matrix.os }}
16 | runs-on: ${{ matrix.os }}
17 | steps:
18 | - uses: actions/checkout@v3
19 | - name: Setup .NET
20 | uses: actions/setup-dotnet@v2
21 | with:
22 | dotnet-version: '6.0.x'
23 | - name: Build
24 | run: dotnet build -c Release
25 | - name: Test
26 | run: dotnet test -c Release
27 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/Assets/FAIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/Assets/FAIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/nuget.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery.Android/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery.Android/Icon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery.Android/MainActivity.cs:
--------------------------------------------------------------------------------
1 | using Android.App;
2 | using Android.Content.PM;
3 | using Avalonia.Android;
4 |
5 | namespace FAControlsGallery.Android;
6 |
7 | [Activity(Label = "FAControlsGallery.Android", Theme = "@style/MyTheme.NoActionBar",
8 | Icon = "@drawable/icon",
9 | MainLauncher = true,
10 | ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.ScreenSize)]
11 | public class MainActivity : AvaloniaMainActivity
12 | {
13 | }
14 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery.Android/Properties/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery.Android/Resources/drawable/splash_screen.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | -
5 |
6 |
7 |
8 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery.Android/Resources/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #FFFFFF
4 |
5 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery.Android/Resources/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
14 |
15 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery.Android/environment.device.txt:
--------------------------------------------------------------------------------
1 | DOTNET_DiagnosticPorts=127.0.0.1:9000,suspend
2 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery.Android/environment.emulator.txt:
--------------------------------------------------------------------------------
1 | DOTNET_DiagnosticPorts=10.0.2.2:9001,suspend
2 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery.Desktop/FAControlsGallery.Desktop.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | WinExe
4 | net8.0-windows
5 | true
6 | app.manifest
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery.Desktop/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Avalonia;
3 |
4 | namespace FAControlsGallery.Desktop;
5 |
6 | internal class Program
7 | {
8 | // Initialization code. Don't use any Avalonia, third-party APIs or any
9 | // SynchronizationContext-reliant code before AppMain is called: things aren't initialized
10 | // yet and stuff might break.
11 | [STAThread]
12 | public static void Main(string[] args) => BuildAvaloniaApp()
13 | .StartWithClassicDesktopLifetime(args);
14 |
15 | // Avalonia configuration, don't remove; also used by visual designer.
16 | public static AppBuilder BuildAvaloniaApp()
17 | => AppBuilder.Configure()
18 | .UsePlatformDetect()
19 | .LogToTrace();
20 | }
21 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery.Desktop/Roots.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery.Web/AppBundle/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery.Web/AppBundle/favicon.ico
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery.Web/AppBundle/main.js:
--------------------------------------------------------------------------------
1 | import { dotnet } from './dotnet.js'
2 |
3 | const is_browser = typeof window != "undefined";
4 | if (!is_browser) throw new Error(`Expected to be running in a browser`);
5 |
6 | const dotnetRuntime = await dotnet
7 | .withDiagnosticTracing(false)
8 | .withApplicationArgumentsFromQuery()
9 | .create();
10 |
11 | const config = dotnetRuntime.getConfig();
12 |
13 | await dotnetRuntime.runMainAndExit(config.mainAssemblyName, [window.location.search]);
14 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery.Web/FAControlsGallery.Web.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | net8.0
4 | browser-wasm
5 | AppBundle\main.js
6 | Exe
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery.Web/Program.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Browser;
3 | using System.Runtime.Versioning;
4 | using System.Threading.Tasks;
5 |
6 | [assembly: SupportedOSPlatform("browser")]
7 |
8 | namespace FAControlsGallery.Web;
9 |
10 | public class Program
11 | {
12 | public static async Task Main(string[] args)
13 | {
14 | await BuildAvaloniaApp().StartBrowserAppAsync("out");
15 | }
16 |
17 | public static AppBuilder BuildAvaloniaApp() =>
18 | AppBuilder.Configure();
19 | }
20 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery.Web/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "FAControlsGallery.Web": {
4 | "commandName": "Project",
5 | "launchBrowser": true,
6 | "environmentVariables": {
7 | "ASPNETCORE_ENVIRONMENT": "Development"
8 | },
9 | "applicationUrl": "https://localhost:52048;http://localhost:52049"
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery.Web/runtimeconfig.template.json:
--------------------------------------------------------------------------------
1 | {
2 | "wasmHostProperties": {
3 | "perHostConfig": [
4 | {
5 | "name": "browser",
6 | "html-path": "index.html",
7 | "Host": "browser"
8 | }
9 | ]
10 | }
11 | }
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery.iOS/AppDelegate.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.iOS;
3 | using Foundation;
4 |
5 | namespace FAControlsGallery.iOS;
6 |
7 | // The UIApplicationDelegate for the application. This class is responsible for launching the
8 | // User Interface of the application, as well as listening (and optionally responding) to
9 | // application events from iOS.
10 | [Register("AppDelegate")]
11 | public partial class AppDelegate : AvaloniaAppDelegate
12 | {
13 | protected override AppBuilder CustomizeAppBuilder(AppBuilder builder)
14 | {
15 | return builder;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery.iOS/Entitlements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery.iOS/FAControlsGallery.iOS.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | Exe
4 | net8.0
5 | 10.0
6 | manual
7 | iossimulator-x64
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery.iOS/Main.cs:
--------------------------------------------------------------------------------
1 | using UIKit;
2 |
3 | namespace FAControlsGallery.iOS;
4 |
5 | public class Application
6 | {
7 | // This is the main entry point of the application.
8 | static void Main(string[] args)
9 | {
10 | // if you want to use a different Application Delegate class from "AppDelegate"
11 | // you can specify it here.
12 | UIApplication.Main(args, null, typeof(AppDelegate));
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/App.axaml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/FAIcon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/FAIcon.ico
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/AppWindowIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/AppWindowIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/BasicInputIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/BasicInputIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/ColorPickerButtonIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/ColorPickerButtonIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/ColorPickerIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/ColorPickerIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/CommandBarFlyoutIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/CommandBarFlyoutIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/CommandBarIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/CommandBarIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/ContentDialogIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/ContentDialogIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/DataIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/DataIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/DateIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/DateIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/FAComboBoxIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/FAComboBoxIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/FrameIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/FrameIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/HyperlinkButtonIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/HyperlinkButtonIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/IconsIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/IconsIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/InfoBadgeIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/InfoBadgeIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/InfoBarIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/InfoBarIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/ListIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/ListIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/MenuIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/MenuIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/MiscIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/MiscIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/NavigationViewIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/NavigationViewIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/NumberBoxIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/NumberBoxIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/PickerFlyoutBaseIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/PickerFlyoutBaseIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/RangeIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/RangeIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/RangeSliderIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/RangeSliderIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/SettingsExpanderIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/SettingsExpanderIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/TabViewIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/TabViewIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/TaskDialogIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/TaskDialogIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/TeachingTipIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/TeachingTipIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/TextIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/TextIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/ViewIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/ViewIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/XamlUICommandIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/XamlUICommandIcon.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/AvGithub.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/AvGithub.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/Documentation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/Documentation.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeader2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeader2.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeader2_Dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeader2_Dark.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeaderBackground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeaderBackground.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeaderBackground_Dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeaderBackground_Dark.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeader_CoreControls.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeader_CoreControls.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeader_CoreControls_Dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeader_CoreControls_Dark.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeader_NewControls.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeader_NewControls.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeader_NewControls_Dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeader_NewControls_Dark.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FluentDesign.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FluentDesign.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/Github.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/Github.png
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/avalonia-logo.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/avalonia-logo.ico
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/headerimage.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/headerimage.jpeg
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/rainier.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/rainier.jpg
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Converters/ResourceKeyToIconConverter.cs:
--------------------------------------------------------------------------------
1 | using System.Globalization;
2 | using Avalonia;
3 | using Avalonia.Data.Converters;
4 |
5 | namespace FAControlsGallery.Converters;
6 | public class ResourceKeyToIconConverter : IValueConverter
7 | {
8 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
9 | {
10 | if (Application.Current.TryGetResource(value, null, out var icon))
11 | {
12 | return icon;
13 | }
14 |
15 | return null;
16 | }
17 |
18 | object IValueConverter.ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
19 | {
20 | throw new NotImplementedException();
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Converters/StringToBitmapConverter.cs:
--------------------------------------------------------------------------------
1 | using System.Globalization;
2 | using Avalonia;
3 | using Avalonia.Data.Converters;
4 | using Avalonia.Media.Imaging;
5 | using Avalonia.Platform;
6 |
7 | namespace FAControlsGallery.Converters;
8 |
9 | public class StringToBitmapConverter : IValueConverter
10 | {
11 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
12 | {
13 | try
14 | {
15 | using var s = AssetLoader.Open(new Uri(value.ToString()));
16 | return new Bitmap(s);
17 | }
18 | catch
19 | {
20 | return null;
21 | }
22 | }
23 |
24 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
25 | {
26 | throw new NotImplementedException();
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Converters/StringToURIConverter.cs:
--------------------------------------------------------------------------------
1 | using System.Globalization;
2 | using Avalonia.Data.Converters;
3 |
4 | namespace FAControlsGallery.Converters;
5 |
6 | public class StringToURIConverter : IValueConverter
7 | {
8 | public static readonly string avares = "avares";
9 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
10 | {
11 | value ??= parameter;
12 |
13 | if (!value.ToString().StartsWith(avares))
14 | {
15 | value = $"avares://FAControlsGallery{value}";
16 | }
17 |
18 | try
19 | {
20 | return new Uri(value.ToString());
21 | }
22 | catch
23 | {
24 | return null;
25 | }
26 | }
27 |
28 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
29 | {
30 | throw new NotImplementedException();
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/CoreControlPages/BasicInputControlsPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Markup.Xaml;
2 | using FluentAvalonia.UI.Controls;
3 |
4 | namespace FAControlsGallery.Pages;
5 |
6 | public partial class BasicInputControlsPage : ControlsPageBase
7 | {
8 | public BasicInputControlsPage()
9 | {
10 | InitializeComponent();
11 |
12 | ControlName = "Basic Input Controls";
13 | App.Current.Resources.TryGetResource("BasicInputPageIcon", null, out var icon);
14 | PreviewImage = (IconSource)icon;
15 | }
16 |
17 | private void InitializeComponent()
18 | {
19 | AvaloniaXamlLoader.Load(this);
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/CoreControlPages/DateTimeControlsPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Markup.Xaml;
2 | using FluentAvalonia.UI.Controls;
3 |
4 | namespace FAControlsGallery.Pages;
5 |
6 | public partial class DateTimeControlsPage : ControlsPageBase
7 | {
8 | public DateTimeControlsPage()
9 | {
10 | InitializeComponent();
11 | ControlName = "Date / Time Controls";
12 | App.Current.Resources.TryGetResource("DatePageIcon", null, out var icon);
13 | PreviewImage = (IconSource)icon;
14 | }
15 |
16 | private void InitializeComponent()
17 | {
18 | AvaloniaXamlLoader.Load(this);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/CoreControlPages/ListControlsPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Markup.Xaml;
2 | using FluentAvalonia.UI.Controls;
3 |
4 | namespace FAControlsGallery.Pages;
5 |
6 | public partial class ListControlsPage : ControlsPageBase
7 | {
8 | public ListControlsPage()
9 | {
10 | InitializeComponent();
11 | ControlName = "List Controls";
12 | App.Current.Resources.TryGetResource("ListPageIcon", null, out var icon);
13 | PreviewImage = (IconSource)icon;
14 | }
15 |
16 | private void InitializeComponent()
17 | {
18 | AvaloniaXamlLoader.Load(this);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/CoreControlPages/MenuControlsPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Markup.Xaml;
2 | using FluentAvalonia.UI.Controls;
3 |
4 | namespace FAControlsGallery.Pages;
5 |
6 | public partial class MenuControlsPage : ControlsPageBase
7 | {
8 | public MenuControlsPage()
9 | {
10 | InitializeComponent();
11 | ControlName = "Menu Controls";
12 | App.Current.Resources.TryGetResource("MenusPageIcon", null, out var icon);
13 | PreviewImage = (IconSource)icon;
14 | }
15 |
16 | private void InitializeComponent()
17 | {
18 | AvaloniaXamlLoader.Load(this);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/CoreControlPages/MiscControlsPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Markup.Xaml;
2 | using FluentAvalonia.UI.Controls;
3 |
4 | namespace FAControlsGallery.Pages;
5 |
6 | public partial class MiscControlsPage : ControlsPageBase
7 | {
8 | public MiscControlsPage()
9 | {
10 | InitializeComponent();
11 | ControlName = "Miscellaneous Controls";
12 | App.Current.Resources.TryGetResource("MiscPageIcon", null, out var icon);
13 | PreviewImage = (IconSource)icon;
14 | }
15 |
16 | private void InitializeComponent()
17 | {
18 | AvaloniaXamlLoader.Load(this);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/CoreControlPages/TextControlsPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 | using FAControlsGallery.ViewModels;
4 | using FluentAvalonia.UI.Controls;
5 |
6 | namespace FAControlsGallery.Pages;
7 |
8 | public partial class TextControlsPage : ControlsPageBase
9 | {
10 | public TextControlsPage()
11 | {
12 | InitializeComponent();
13 | ControlName = "Text Controls";
14 | App.Current.Resources.TryGetResource("TextPageIcon", null, out var icon);
15 | PreviewImage = (IconSource)icon;
16 |
17 | DataContext = new TextControlsPageViewModel();
18 | }
19 |
20 | private void InitializeComponent()
21 | {
22 | AvaloniaXamlLoader.Load(this);
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/CoreControlPages/ViewControlsPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Markup.Xaml;
2 | using FluentAvalonia.UI.Controls;
3 |
4 | namespace FAControlsGallery.Pages;
5 |
6 | public partial class ViewControlsPage : ControlsPageBase
7 | {
8 | public ViewControlsPage()
9 | {
10 | InitializeComponent();
11 |
12 | ControlName = "View Controls";
13 | App.Current.Resources.TryGetResource("ViewPageIcon", null, out var icon);
14 | PreviewImage = (IconSource)icon;
15 | }
16 |
17 | private void InitializeComponent()
18 | {
19 | AvaloniaXamlLoader.Load(this);
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/DesignPages/BackgroundColorsPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FAControlsGallery.Pages.DesignPages;
4 | public partial class BackgroundColorsPage : UserControl
5 | {
6 | public BackgroundColorsPage()
7 | {
8 | InitializeComponent();
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/DesignPages/FillColorsPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FAControlsGallery.Pages.DesignPages;
4 | public partial class FillColorsPage : UserControl
5 | {
6 | public FillColorsPage()
7 | {
8 | InitializeComponent();
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/DesignPages/SignalColorsPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FAControlsGallery.Pages.DesignPages;
4 | public partial class SignalColorsPage : UserControl
5 | {
6 | public SignalColorsPage()
7 | {
8 | InitializeComponent();
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/DesignPages/StrokeColorsPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FAControlsGallery.Pages.DesignPages;
4 | public partial class StrokeColorsPage : UserControl
5 | {
6 | public StrokeColorsPage()
7 | {
8 | InitializeComponent();
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/DesignPages/TextColorsPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FAControlsGallery.Pages.DesignPages;
4 | public partial class TextColorsPage : UserControl
5 | {
6 | public TextColorsPage()
7 | {
8 | InitializeComponent();
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/FAControlsPages/ColorPickerButtonPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Markup.Xaml;
2 | using FluentAvalonia.UI.Controls;
3 |
4 | namespace FAControlsGallery.Pages;
5 |
6 | public partial class ColorPickerButtonPage : ControlsPageBase
7 | {
8 | public ColorPickerButtonPage()
9 | {
10 | InitializeComponent();
11 |
12 | DataContext = this;
13 | TargetType = typeof(ColorPickerButton);
14 | }
15 |
16 | private void InitializeComponent()
17 | {
18 | AvaloniaXamlLoader.Load(this);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/FAControlsPages/ColorPickerPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Markup.Xaml;
2 | using FAControlsGallery.ViewModels;
3 | using FluentAvalonia.UI.Controls;
4 |
5 | namespace FAControlsGallery.Pages;
6 |
7 | public partial class ColorPickerPage : ControlsPageBase
8 | {
9 | public ColorPickerPage()
10 | {
11 | InitializeComponent();
12 |
13 | DataContext = new ColorPickerPageViewModel();
14 | TargetType = typeof(FAColorPicker);
15 | }
16 |
17 | private void InitializeComponent()
18 | {
19 | AvaloniaXamlLoader.Load(this);
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/FAControlsPages/CommandBarPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Markup.Xaml;
2 | using FluentAvalonia.UI.Controls;
3 |
4 | namespace FAControlsGallery.Pages;
5 |
6 | public partial class CommandBarPage : ControlsPageBase
7 | {
8 | public CommandBarPage()
9 | {
10 | InitializeComponent();
11 |
12 | DataContext = this;
13 | TargetType = typeof(CommandBar);
14 | }
15 |
16 | private void InitializeComponent()
17 | {
18 | AvaloniaXamlLoader.Load(this);
19 | }
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/FAControlsPages/ContentDialogPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Markup.Xaml;
2 | using FluentAvalonia.UI.Controls;
3 | using FAControlsGallery.ViewModels;
4 |
5 | namespace FAControlsGallery.Pages;
6 |
7 | public partial class ContentDialogPage : ControlsPageBase
8 | {
9 | public ContentDialogPage()
10 | {
11 | InitializeComponent();
12 |
13 | DataContext = new ContentDialogPageViewModel();
14 | TargetType = typeof(ContentDialog);
15 | }
16 |
17 | private void InitializeComponent()
18 | {
19 | AvaloniaXamlLoader.Load(this);
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/FAControlsPages/FAComboBoxPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using FAControlsGallery.ViewModels;
3 | using FluentAvalonia.UI.Controls;
4 |
5 | namespace FAControlsGallery.Pages;
6 | public partial class FAComboBoxPage : ControlsPageBase
7 | {
8 | public FAComboBoxPage()
9 | {
10 | InitializeComponent();
11 |
12 | DataContext = new FAComboBoxPageViewModel();
13 | TargetType = typeof(FAComboBox);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/FAControlsPages/HyperlinkButtonPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Interactivity;
2 | using Avalonia.Markup.Xaml;
3 | using FluentAvalonia.UI.Controls;
4 |
5 | namespace FAControlsGallery.Pages;
6 |
7 | public partial class HyperlinkButtonPage : ControlsPageBase
8 | {
9 | public HyperlinkButtonPage()
10 | {
11 | InitializeComponent();
12 |
13 | TargetType = typeof(HyperlinkButton);
14 | }
15 |
16 | private void InitializeComponent()
17 | {
18 | AvaloniaXamlLoader.Load(this);
19 | }
20 |
21 | public void HyperlinkButton_Click(object sender, RoutedEventArgs args)
22 | {
23 | //NavigationService.Instance.Navigate(typeof(SettingsPage));
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/FAControlsPages/InfoBadgePage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Markup.Xaml;
2 | using FAControlsGallery.ViewModels;
3 | using FluentAvalonia.UI.Controls;
4 |
5 | namespace FAControlsGallery.Pages;
6 |
7 | public partial class InfoBadgePage : ControlsPageBase
8 | {
9 | public InfoBadgePage()
10 | {
11 | InitializeComponent();
12 |
13 | DataContext = new InfoBadgePageViewModel();
14 | TargetType = typeof(InfoBadge);
15 | }
16 |
17 | private void InitializeComponent()
18 | {
19 | AvaloniaXamlLoader.Load(this);
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/FAControlsPages/MenuFlyoutPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Markup.Xaml;
2 | using FluentAvalonia.UI.Controls;
3 | using FAControlsGallery.ViewModels;
4 |
5 | namespace FAControlsGallery.Pages;
6 |
7 | public partial class MenuFlyoutPage : ControlsPageBase
8 | {
9 | public MenuFlyoutPage()
10 | {
11 | InitializeComponent();
12 |
13 | TargetType = typeof(FAMenuFlyout);
14 | DataContext = new MenuFlyoutPageViewModel();
15 | }
16 |
17 | private void InitializeComponent()
18 | {
19 | AvaloniaXamlLoader.Load(this);
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/FAControlsPages/NumberBoxPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 | using FluentAvalonia.UI.Controls;
4 |
5 | namespace FAControlsGallery.Pages;
6 |
7 | public partial class NumberBoxPage : ControlsPageBase
8 | {
9 | public NumberBoxPage()
10 | {
11 | InitializeComponent();
12 |
13 | TargetType = typeof(NumberBox);
14 |
15 | var nm = this.FindControl("FormattedNumBox");
16 | nm.NumberFormatter = (input) =>
17 | {
18 | double increment = 1 / 0.25;
19 | return (Math.Round(input * increment, MidpointRounding.AwayFromZero) / increment).ToString("F2");
20 | };
21 |
22 | DataContext = this;
23 | }
24 |
25 | private void InitializeComponent()
26 | {
27 | AvaloniaXamlLoader.Load(this);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/FAControlsPages/PickerFlyoutBasePage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Markup.Xaml;
2 | using FluentAvalonia.UI.Controls.Primitives;
3 |
4 | namespace FAControlsGallery.Pages;
5 |
6 | public partial class PickerFlyoutBasePage : ControlsPageBase
7 | {
8 | public PickerFlyoutBasePage()
9 | {
10 | InitializeComponent();
11 |
12 | TargetType = typeof(PickerFlyoutBase);
13 |
14 | DataContext = this;
15 | }
16 |
17 | private void InitializeComponent()
18 | {
19 | AvaloniaXamlLoader.Load(this);
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/FAControlsPages/RangeSliderPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using FluentAvalonia.UI.Controls;
3 |
4 | namespace FAControlsGallery.Pages;
5 |
6 | public partial class RangeSliderPage : ControlsPageBase
7 | {
8 | public RangeSliderPage()
9 | {
10 | InitializeComponent();
11 |
12 | TargetType = typeof(RangeSlider);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/FAControlsPages/SettingsExpanderPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using FAControlsGallery.ViewModels;
2 | using FluentAvalonia.UI.Controls;
3 |
4 | namespace FAControlsGallery.Pages;
5 |
6 | public partial class SettingsExpanderPage : ControlsPageBase
7 | {
8 | public SettingsExpanderPage()
9 | {
10 | InitializeComponent();
11 |
12 | DataContext = new SettingsExpanderPageViewModel();
13 | TargetType = typeof(SettingsExpander);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/FAControlsPages/TabViewWindowSampleContent.axaml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/FAControlsPages/TabViewWindowSampleContent.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace FAControlsGallery.Pages;
5 |
6 | public partial class TabViewWindowSampleContent : UserControl
7 | {
8 | public TabViewWindowSampleContent()
9 | {
10 | InitializeComponent();
11 | }
12 |
13 | public TabViewWindowSampleContent(string header)
14 | : this()
15 | {
16 | this.FindControl("HeaderContent").Text = header;
17 | }
18 |
19 | private void InitializeComponent()
20 | {
21 | AvaloniaXamlLoader.Load(this);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/FAControlsPages/TeachingTipPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Interactivity;
2 | using FluentAvalonia.UI.Controls;
3 |
4 | namespace FAControlsGallery.Pages;
5 | public partial class TeachingTipPage : ControlsPageBase
6 | {
7 | public TeachingTipPage()
8 | {
9 | InitializeComponent();
10 |
11 | Button1.Click += Button1Click;
12 | Button2.Click += Button2Click;
13 | Button3.Click += Button3Click;
14 |
15 | TargetType = typeof(TeachingTip);
16 | }
17 |
18 | private void Button1Click(object sender, RoutedEventArgs e)
19 | {
20 | TeachingTip1.IsOpen = true;
21 | }
22 |
23 | private void Button2Click(object sender, RoutedEventArgs e)
24 | {
25 | TeachingTip2.IsOpen = true;
26 | }
27 |
28 | private void Button3Click(object sender, RoutedEventArgs e)
29 | {
30 | TeachingTip3.IsOpen = true;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/FAControlsPages/XamlUICommandPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using FAControlsGallery.ViewModels;
3 | using FluentAvalonia.UI.Input;
4 |
5 | namespace FAControlsGallery.Pages;
6 |
7 | public partial class XamlUICommandPage : ControlsPageBase
8 | {
9 | public XamlUICommandPage()
10 | {
11 | InitializeComponent();
12 |
13 | DataContext = new StandardUICommandPageViewModel();
14 | TargetType = typeof(XamlUICommand);
15 | }
16 |
17 | public void CustomXamlUICommand_ExecuteRequested(XamlUICommand command, ExecuteRequestedEventArgs args)
18 | {
19 | counter++;
20 | this.FindControl("XamlUICommandOutput").Text = $"You fired the custom command {counter} times";
21 | }
22 |
23 | int counter = 0;
24 | }
25 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/CommandBar1.xaml.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/CommandBar2.xaml.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/CommandBar3.xaml.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/CommandBarFlyout.cs.txt:
--------------------------------------------------------------------------------
1 | // We rely on code behind to show the flyout
2 |
3 | // Listen for the ContextRequested event so we can change the launch behavior based on whether it was a
4 | // left or right click.
5 | this.FindControl("myImageButton").ContextRequested += OnMyImageButtonContextRequested;
6 |
7 | private void MyImageButton_Click(object sender, RoutedEventArgs args)
8 | {
9 | ShowMenu(true);
10 | }
11 |
12 | private void OnMyImageButtonContextRequested(object sender, ContextRequestedEventArgs e)
13 | {
14 | ShowMenu(false);
15 | e.Handled = true;
16 | }
17 |
18 | private void ShowMenu(bool isTransient)
19 | {
20 | var flyout = Resources["CommandBarFlyout1"] as CommandBarFlyout;
21 | flyout.ShowMode = isTransient ? FlyoutShowMode.Transient : FlyoutShowMode.Standard;
22 |
23 | flyout.ShowAt(this.FindControl("Image1"));
24 | }
25 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/ContentDialogUsageNotes.txt:
--------------------------------------------------------------------------------
1 | The ContentDialog shows in the OverlayLayer of the window, and does not use it's own HWND/Top Level window. This makes it compatible with non-desktop Application lifetimes. However, a TopLevel with a OverlayLayer must be present so ContentDialog cannot be launched on its own.
2 | Unlike WinUI, there is no constraint on the number of ContentDialogs a given TopLevel/Window can display at once. If this may happen, they will overlay each other and it is up to you to manage that state
3 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/CustomContentDialog.cs.txt:
--------------------------------------------------------------------------------
1 | public async void ShowInputDialogAsync()
2 | {
3 | var dialog = new ContentDialog()
4 | {
5 | Title = "My Dialog Title",
6 | PrimaryButtonText = "Ok",
7 | SecondaryButtonText = "Not OK",
8 | CloseButtonText = "Close"
9 | };
10 |
11 | // Pass the dialog if you need to hide it from the ViewModel.
12 | var viewModel = new MyViewModel(dialog);
13 |
14 | // In our case the Content is a UserControl, but can be anything.
15 | dialog.Content = new ContentDialogInputExample()
16 | {
17 | DataContext = viewModel
18 | };
19 |
20 | var result = await dialog.ShowAsync();
21 | }
22 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/FAComboBox.cs.txt:
--------------------------------------------------------------------------------
1 | public class FAComboBoxPageViewModel : ViewModelBase
2 | {
3 | public FAComboBoxPageViewModel()
4 | {
5 | Items = new List
6 | {
7 | new ComboItem("Red"),
8 | new ComboItem("Orange"),
9 | new ComboItem("Yellow"),
10 | new ComboItem("Green"),
11 | new ComboItem("Blue"),
12 | new ComboItem("Indigo"),
13 | new ComboItem("Violet"),
14 | new ComboItem("White"),
15 | new ComboItem("Black"),
16 | };
17 | }
18 |
19 | public List Items { get; }
20 | }
21 |
22 | public class ComboItem
23 | {
24 | public ComboItem(string name)
25 | {
26 | DisplayName = name;
27 | }
28 |
29 | public string DisplayName { get; }
30 | }
31 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/Frame.xaml.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/NavView1.xaml.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/NavView2.xaml.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/NavView5.xaml.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/NumberBox3.cs.txt:
--------------------------------------------------------------------------------
1 | var nm = this.FindControl("FormattedNumBox");
2 | nm.NumberFormatter = (input) =>
3 | {
4 | double increment = 1/0.25;
5 | return (Math.Round(input * increment, MidpointRounding.AwayFromZero) / increment).ToString("F2");
6 | };
7 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/NumberBox3UsageNotes.txt:
--------------------------------------------------------------------------------
1 | .NET doesn't have all of the culture aware formatters in the way WinRT does, thus the NumberFormatter property has been altered to a Func to allow custom formatting. If a function is provided, you'll receive the new Value and you return the formatted string to be displayed.
2 | The example above rounds the number to the nearest 0.25 displayed to 2 decimal places.
3 |
4 | NOTE: NumberFormatter is NOT an AvaloniaProperty and therefore does not support Binding.
5 | NOTE: Returned string must still be numeric in value. No special formatting (e.g., %) is allowed.
6 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/RangeSlider1.xaml.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/RangeSlider2.xaml.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/SettingsExpander1.xaml.txt:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/SettingsExpander2.xaml.txt:
--------------------------------------------------------------------------------
1 |
5 |
6 |
8 |
10 |
11 |
12 |
13 |
14 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/StandardUICommand.cs.txt:
--------------------------------------------------------------------------------
1 | // In this case, we bind the StandardUICommand to a method in our ViewModel. You can also handle in code behind, if you wish.
2 |
3 | // List of items populating the ListBox
4 | public AvaloniaList TempItems { get; set; }
5 |
6 | // This is our method command
7 | public void DeleteItem(object param)
8 | {
9 | if (param != null)
10 | {
11 | TempItems.Remove(param.ToString());
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/TabView1.cs.txt:
--------------------------------------------------------------------------------
1 | public class TabViewPageViewModel
2 | {
3 | public ObservableCollection Documents { get; }
4 |
5 | public FACommand AddDocumentCommand { get; }
6 |
7 | private void AddDocumentExecute(object obj)
8 | {
9 | Documents.Add(AddDocument(Documents.Count));
10 | }
11 | }
12 |
13 | public class DocumentItem
14 | {
15 | public string Header { get; set; }
16 |
17 | public IconSource IconSource { get; set; }
18 |
19 | public string Content { get; set; }
20 | }
21 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/TabView1.xaml.txt:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/TabView3.xaml.txt:
--------------------------------------------------------------------------------
1 |
9 |
11 |
12 |
13 |
15 |
16 |
17 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/TeachingTip1.cs.txt:
--------------------------------------------------------------------------------
1 | private void Button1Click(object sender, RoutedEventArgs e)
2 | {
3 | TeachingTip1.IsOpen = true;
4 | }
5 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/TeachingTip1.xaml.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/TeachingTip2.cs.txt:
--------------------------------------------------------------------------------
1 | private void Button2Click(object sender, RoutedEventArgs e)
2 | {
3 | TeachingTip2.IsOpen = true;
4 | }
5 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/TeachingTip2.xaml.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/TeachingTip3.cs.txt:
--------------------------------------------------------------------------------
1 | private void Button3Click(object sender, RoutedEventArgs e)
2 | {
3 | TeachingTip3.IsOpen = true;
4 | }
5 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/TeachingTip3.xaml.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/TextCommandBarFlyoutUsageNotes.txt:
--------------------------------------------------------------------------------
1 | You don't specify commands for a TextCommandBarFlyout, they're automatically preset based on the controls they're attached to. It is a bit more limited than WinUI because of the lack of rich text support in Avalonia when this was implemented.
2 | TextCommandBarFlyout is the default ContextFlyout for TextBox in FluentAvalonia. It will adapt based on clipboard state, text selection, password box, etc. No Bold/Italic/Underline options are available yet, however.
3 |
4 | TextBlocks (and SelectableTextBlock) also can be provided one to offer a 'Copy' command to copy the TextBlock's text to the clipboard. Just declare a TextCommandBarFlyout as a resource, and reference it as the TextBlock's ContextFlyout.
5 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/XamlUICommand.cs.txt:
--------------------------------------------------------------------------------
1 | public void CustomXamlUICommand_ExecuteRequested(XamlUICommand command, ExecuteRequestedEventArgs args)
2 | {
3 | // handle event
4 | }
5 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/XamlUICommand.xaml.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
18 |
19 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/XamlUICommandUsageNotes.txt:
--------------------------------------------------------------------------------
1 | XamlUICommand allows the sharing of the UX associated with a command. In this instance we create a simple Custom Command with a label, icon, shortcut, and description. It's defined as a resource and could be used in many controls, like this CommandBarButton. The button (and other controls) automatically get all these UI properties without the need to define the properties again.
2 |
3 | Currently supported controls:
4 | CommandBarButton
5 | CommandBarToggleButton
6 | MenuFlyoutItem
7 |
8 | NOTE: Using hotkeys can with XamlUICommand can crash. See the StandardUICommand page for more on this, and workaround to prevent the crash.
9 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SamplePageAssets/ContentDialogInputExample.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Input;
4 | using Avalonia.Threading;
5 |
6 | namespace FAControlsGallery.Pages.SamplePageAssets;
7 |
8 | public partial class ContentDialogInputExample : UserControl
9 | {
10 | public ContentDialogInputExample()
11 | {
12 | InitializeComponent();
13 | }
14 |
15 | private void InputField_OnAttachedToVisualTree(object sender, VisualTreeAttachmentEventArgs e)
16 | {
17 | // We will set the focus into our input field just after it got attached to the visual tree.
18 | if (sender is InputElement inputElement)
19 | {
20 | Dispatcher.UIThread.InvokeAsync(() =>
21 | {
22 | inputElement.Focus(NavigationMethod.Unspecified, KeyModifiers.None);
23 | });
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SamplePageAssets/NVSamplePage1.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FAControlsGallery.Pages.NVSamplePages;
4 |
5 | public partial class NVSamplePage1 : UserControl
6 | {
7 | public NVSamplePage1()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SamplePageAssets/NVSamplePage2.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FAControlsGallery.Pages.NVSamplePages;
4 |
5 | public partial class NVSamplePage2 : UserControl
6 | {
7 | public NVSamplePage2()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SamplePageAssets/NVSamplePage3.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FAControlsGallery.Pages.NVSamplePages;
4 |
5 | public partial class NVSamplePage3 : UserControl
6 | {
7 | public NVSamplePage3()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SamplePageAssets/NVSamplePage4.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FAControlsGallery.Pages.NVSamplePages;
4 |
5 | public partial class NVSamplePage4 : UserControl
6 | {
7 | public NVSamplePage4()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SamplePageAssets/NVSamplePage5.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FAControlsGallery.Pages.NVSamplePages;
4 |
5 | public partial class NVSamplePage5 : UserControl
6 | {
7 | public NVSamplePage5()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SamplePageAssets/NVSamplePage6.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FAControlsGallery.Pages.NVSamplePages;
4 |
5 | public partial class NVSamplePage6 : UserControl
6 | {
7 | public NVSamplePage6()
8 | {
9 | this.InitializeComponent();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SamplePageAssets/NVSamplePage7.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FAControlsGallery.Pages.NVSamplePages;
4 |
5 | public partial class NVSamplePage7 : UserControl
6 | {
7 | public NVSamplePage7()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SamplePageAssets/NVSamplePageSettings.axaml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SamplePageAssets/NVSamplePageSettings.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FAControlsGallery.Pages.NVSamplePages;
4 |
5 | public partial class NVSamplePageSettings : UserControl
6 | {
7 | public NVSamplePageSettings()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/Services/ClipboardService.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FAControlsGallery.Services;
4 |
5 | public static class ClipboardService
6 | {
7 | public static TopLevel Owner { get; set; }
8 |
9 | public static Task SetTextAsync(string text) =>
10 | Owner.Clipboard.SetTextAsync(text);
11 | }
12 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/ViewModels/CoreControlsPageViewModel.cs:
--------------------------------------------------------------------------------
1 | using System.Text.Json;
2 | using FAControlsGallery.Services;
3 |
4 | namespace FAControlsGallery.ViewModels;
5 |
6 | public class CoreControlsPageViewModel : MainPageViewModelBase
7 | {
8 | public CoreControlsPageViewModel(string coreControlsJson)
9 | {
10 | NoteText = "Fluent v2 styling on Avalonia controls. Only controls that have styling changes " +
11 | "are shown here for demo purposes, though all controls (except ContextMenu) are supported.";
12 |
13 | CoreControlGroups = JsonSerializer.Deserialize>(coreControlsJson);
14 |
15 | for (int i = 0, ct = CoreControlGroups.Count; i < ct; i++)
16 | {
17 | CoreControlGroups[i].Parent = this;
18 | }
19 | }
20 |
21 | public List CoreControlGroups { get; }
22 |
23 | public string NoteText { get; }
24 | }
25 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/ViewModels/DesignPages/DesignPageViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace FAControlsGallery.ViewModels.DesignPages;
2 |
3 | public class DesignPageViewModel : MainPageViewModelBase
4 | {
5 | public int LastSelectedIndex { get; set; } = -1;
6 | }
7 |
--------------------------------------------------------------------------------
/3rdParty/FluentAvalonia/samples/FAControlsGallery/ViewModels/FACommand.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Windows.Input;
3 |
4 | namespace FAControlsGallery.ViewModels;
5 |
6 | public class FACommand : ICommand
7 | {
8 | public FACommand(Action