| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- using Avalonia;
- using Avalonia.Controls;
- using Avalonia.Controls.Primitives;
- using Avalonia.Input;
- using Avalonia.Media;
- using Avalonia.Platform;
- using FluentAvalonia.UI.Windowing;
- using Ryujinx.Ava.Common.Locale;
- using Ryujinx.Ava.UI.ViewModels;
- using System.Threading.Tasks;
- namespace Ryujinx.Ava.UI.Windows
- {
- public abstract class StyleableAppWindow : AppWindow
- {
- public static async Task ShowAsync(StyleableAppWindow appWindow, Window owner = null)
- {
- #if DEBUG
- appWindow.AttachDevTools(new KeyGesture(Key.F12, KeyModifiers.Control));
- #endif
- await appWindow.ShowDialog(owner ?? RyujinxApp.MainWindow);
- }
-
- protected StyleableAppWindow()
- {
- WindowStartupLocation = WindowStartupLocation.CenterOwner;
- TransparencyLevelHint = [WindowTransparencyLevel.None];
- LocaleManager.Instance.LocaleChanged += LocaleChanged;
- LocaleChanged();
- Icon = MainWindowViewModel.IconBitmap;
- }
- private void LocaleChanged()
- {
- FlowDirection = LocaleManager.Instance.IsRTL() ? FlowDirection.RightToLeft : FlowDirection.LeftToRight;
- }
- protected override void OnApplyTemplate(TemplateAppliedEventArgs e)
- {
- base.OnApplyTemplate(e);
- ExtendClientAreaChromeHints = ExtendClientAreaChromeHints.SystemChrome | ExtendClientAreaChromeHints.OSXThickTitleBar;
- }
- }
- public abstract class StyleableWindow : Window
- {
- public static async Task ShowAsync(StyleableWindow window, Window owner = null)
- {
- #if DEBUG
- window.AttachDevTools(new KeyGesture(Key.F12, KeyModifiers.Control));
- #endif
- await window.ShowDialog(owner ?? RyujinxApp.MainWindow);
- }
- protected StyleableWindow()
- {
- WindowStartupLocation = WindowStartupLocation.CenterOwner;
- TransparencyLevelHint = [WindowTransparencyLevel.None];
- LocaleManager.Instance.LocaleChanged += LocaleChanged;
- LocaleChanged();
- Icon = new WindowIcon(MainWindowViewModel.IconBitmap);
- }
- private void LocaleChanged()
- {
- FlowDirection = LocaleManager.Instance.IsRTL() ? FlowDirection.RightToLeft : FlowDirection.LeftToRight;
- }
- protected override void OnApplyTemplate(TemplateAppliedEventArgs e)
- {
- base.OnApplyTemplate(e);
- ExtendClientAreaChromeHints = ExtendClientAreaChromeHints.SystemChrome | ExtendClientAreaChromeHints.OSXThickTitleBar;
- }
- }
- }
|