using AxibugEmuOnline.Client.ClientCore; using AxibugEmuOnline.Client.UI; namespace AxibugEmuOnline.Client { /// /// 画面比例模式选项UI /// public class UI_ScalerModeItem : MenuItem, IVirtualItem { public int Index { get; set; } public ScreenScaler.EnumScalerMode Datacontext { get; private set; } public void SetData(object data) { Datacontext = (ScreenScaler.EnumScalerMode)data; UpdateView(); } private void UpdateView() { switch (Datacontext) { case ScreenScaler.EnumScalerMode.FullScreen: SetBaseInfo("全屏", "模拟器输出画面将拉伸到全屏", null); break; case ScreenScaler.EnumScalerMode.Raw: SetBaseInfo("原始尺寸", "将保持模拟器输出画面的原始分辨率", null); break; case ScreenScaler.EnumScalerMode.Fix: SetBaseInfo("适应", "在保持原始画面比例的情况下适配到全屏", null); break; } } public void SetDependencyProperty(object data) { SetSelectState(data is ThirdMenuRoot && ((ThirdMenuRoot)data).SelectIndex == Index); if (m_select) { App.settings.Filter.EnableFilterPreview(); App.settings.ScreenScaler.GlobalMode = Datacontext; } } public void Release() { } public override bool OnEnterItem() { return false; } } }