private static void PerformResolutionPreviewOperation(ResolutionPreview resolutionPreview, bool requiredSave = true) { using (Document.Current.History.BeginTransaction()) { ResolutionPreviewOperation.Perform(resolutionPreview, requiredSave); Document.Current.History.CommitTransaction(); } }
public static void Execute(Document document, ResolutionPreview resolutionPreview) { if (!resolutionPreview.Enabled && !document.ResolutionPreview.Enabled) { return; } if (!(document.RootNode is Widget)) { if (document.ResolutionPreview.Enabled) { resolutionPreview.Enabled = false; PerformResolutionPreviewOperation(resolutionPreview); } return; } var requiredSave = true; if (resolutionPreview.Enabled) { if (resolutionPreview.Preset == null) { resolutionPreview.Preset = ProjectPreferences.Instance.Resolutions.First(); resolutionPreview.IsPortrait = !ProjectPreferences.Instance.IsLandscapeDefault; } } else { resolutionPreview.Preset = ProjectPreferences.Instance.Resolutions.First(); resolutionPreview.IsPortrait = !ProjectPreferences.Instance.IsLandscapeDefault; requiredSave = false; } PerformResolutionPreviewOperation(resolutionPreview, requiredSave); Application.InvalidateWindows(); }
private static void ApplyResolutionPreset(ResolutionPreview resolutionPreview, bool requiredSave) { if (!(Document.Current.RootNode is Widget rootNode)) { return; } ResolutionPreviewMode = resolutionPreview.Enabled; if (requiredSave) { Document.Current.ResolutionPreview = resolutionPreview; } var defaultResolution = ProjectPreferences.Instance.DefaultResolution; Vector2 resolution; if (resolutionPreview.IsPortrait) { resolution = new Vector2( defaultResolution.LandscapeValue.Y, defaultResolution.LandscapeValue.Y * (resolutionPreview.Preset.LandscapeValue.X / resolutionPreview.Preset.LandscapeValue.Y) ); } else { resolution = new Vector2( defaultResolution.LandscapeValue.Y * (resolutionPreview.Preset.LandscapeValue.X / resolutionPreview.Preset.LandscapeValue.Y), defaultResolution.LandscapeValue.Y ); } rootNode.Size = resolution; ApplyResolutionMarkers(rootNode, resolutionPreview.Preset, resolutionPreview.IsPortrait); ApplyLocalizationMarkers(rootNode); }
public ResolutionPreviewOperation(ResolutionPreview resolutionPreview, bool requiredSave) { this.resolutionPreview = resolutionPreview; this.requiredSave = requiredSave; }
public static void Perform(ResolutionPreview resolutionPreview, bool requiredSave = true) => DocumentHistory.Current.Perform(new ResolutionPreviewOperation(resolutionPreview, requiredSave));