/// <summary> /// Returns the bare product name, e.g. "Paint.NET" /// </summary> public static string GetBareProductName() { return(PdnResources.GetString("Application.ProductName.Bare")); }
private void UpdateFileSizeAndPreview(string tempFileName) { if (this.IsDisposed) { return; } if (tempFileName == null) { string error = PdnResources.GetString("SaveConfigDialog.FileSizeText.Text.Error"); this.previewHeader.Text = string.Format(this.fileSizeTextFormat, error); } else { FileInfo fi = new FileInfo(tempFileName); long fileSize = fi.Length; this.previewHeader.Text = string.Format(fileSizeTextFormat, Utility.SizeStringFromBytes(fileSize)); this.documentView.Visible = true; // note: see comments for DocumentView.SuspendRefresh() for why we do these two backwards this.documentView.ResumeRefresh(); Document disposeMe = null; try { if (this.disposeDocument && this.documentView.Document != null) { disposeMe = this.documentView.Document; } if (this.fileType.IsReflexive(this.SaveConfigToken)) { this.documentView.Document = this.Document; this.documentView.Document.Invalidate(); this.disposeDocument = false; } else { FileStream stream = new FileStream(tempFileName, FileMode.Open, FileAccess.Read, FileShare.Read); Document previewDoc; try { Utility.GCFullCollect(); previewDoc = fileType.Load(stream); } catch { previewDoc = null; TokenChangedHandler(this, EventArgs.Empty); } stream.Close(); if (previewDoc != null) { this.documentView.Document = previewDoc; this.disposeDocument = true; } Utility.GCFullCollect(); } try { fi.Delete(); } catch { } } finally { this.documentView.SuspendRefresh(); if (disposeMe != null) { disposeMe.Dispose(); } } } }
public ToolChooserStrip() { this.chooseToolLabelText = PdnResources.GetString("ToolStripChooser.ChooseToolButton.Text"); InitializeComponent(); }
private void ReloadItems() { string suffix; switch (this.unitsDisplayType) { case UnitsDisplayType.Plural: suffix = ".Plural"; break; case UnitsDisplayType.Singular: suffix = string.Empty; break; case UnitsDisplayType.Ratio: suffix = ".Ratio"; break; default: throw new InvalidEnumArgumentException("UnitsDisplayType"); } InitMeasurementItems(); MeasurementUnit oldUnits; if (this.unitsToString == null) { oldUnits = MeasurementUnit.Pixel; } else { oldUnits = this.Units; } ComboBox.Items.Clear(); string pixelsString = PdnResources.GetString("MeasurementUnit.Pixel" + suffix); string inchesString = PdnResources.GetString("MeasurementUnit.Inch" + suffix); string centimetersString = PdnResources.GetString("MeasurementUnit.Centimeter" + suffix); if (lowercase) { // TODO: we shouldn't really be using ToLower() here, these should be separately localizable strings pixelsString = pixelsString.ToLower(); inchesString = inchesString.ToLower(); centimetersString = centimetersString.ToLower(); } this.unitsToString = new Hashtable(); this.unitsToString.Add(MeasurementUnit.Pixel, pixelsString); this.unitsToString.Add(MeasurementUnit.Inch, inchesString); this.unitsToString.Add(MeasurementUnit.Centimeter, centimetersString); this.stringToUnits = new Hashtable(); if ((bool)this.measurementItems[MeasurementUnit.Pixel]) { this.stringToUnits.Add(pixelsString, MeasurementUnit.Pixel); ComboBox.Items.Add(pixelsString); } if ((bool)this.measurementItems[MeasurementUnit.Inch]) { this.stringToUnits.Add(inchesString, MeasurementUnit.Inch); ComboBox.Items.Add(inchesString); } if ((bool)this.measurementItems[MeasurementUnit.Centimeter]) { this.stringToUnits.Add(centimetersString, MeasurementUnit.Centimeter); ComboBox.Items.Add(centimetersString); } if (!(bool)this.measurementItems[oldUnits]) { if (ComboBox.Items.Count == 0) { ComboBox.SelectedItem = null; } else { ComboBox.SelectedIndex = 0; } } else { this.Units = oldUnits; } }
private void StartPart2(string mutexName, string[] remainingArgs) { IAnimationService animationService; Memory.Initialize(); CultureInfo info = AppSettings.Instance.UI.Language.Value; Thread.CurrentThread.CurrentUICulture = info; CultureInfo.DefaultThreadCurrentUICulture = info; AppSettings.Instance.UI.Language.Value = info; PdnResources.Culture = info; AppSettings.Instance.UI.ErrorFlagsAtStartup.Value = AppSettings.Instance.UI.ErrorFlags.Value; WorkItemDispatcher.Initialize(AppSettings.Instance.Performance.ThreadUtilizationPolicy.Value); UIUtil.IsGetMouseMoveScreenPointsEnabled = AppSettings.Instance.UI.EnableSmoothMouseInput.Value; if (!OS.VerifyFrameworkVersion(4, 6, 0, OS.FrameworkProfile.Full)) { string message = PdnResources.GetString("Error.FXRequirement"); MessageBoxUtil.ErrorBox(null, message); string fxurl = "https://www.microsoft.com/en-us/download/details.aspx?id=53345"; () => ShellUtil.LaunchUrl2(null, fxurl).Eval <bool>().Observe(); } else if (!OS.VerifyWindowsVersion(6, 1, 1)) { string str4 = PdnResources.GetString("Error.OSRequirement"); MessageBoxUtil.ErrorBox(null, str4); } else if (!Processor.IsFeaturePresent(ProcessorFeature.SSE)) { string str5 = PdnResources.GetString("Error.SSERequirement"); MessageBoxUtil.ErrorBox(null, str5); } else { string str; if (MultithreadedWorkItemDispatcher.IsSingleThreadForced && PdnInfo.IsFinalBuild) { throw new PaintDotNet.InternalErrorException("MultithreadedWorkItemDispatcher.IsSingleThreadForced shouldn't be true for Final builds!"); } if (RefTrackedObject.IsFullRefTrackingEnabled && PdnInfo.IsFinalBuild) { throw new PaintDotNet.InternalErrorException("Full ref tracking should not be enabled for non-expiring builds!"); } PaintDotNet.Base.AssemblyServices.RegisterProxies(); PaintDotNet.Core.AssemblyServices.RegisterProxies(); PaintDotNet.Framework.AssemblyServices.RegisterProxies(); ObjectRefProxy.CloseRegistration(); remainingArgs = TryRemoveArg(remainingArgs, "/showCrashLog=", out str); if (!string.IsNullOrWhiteSpace(str)) { DialogResult?nullable = null; try { string fullPath = Path.GetFullPath(str); if (File.Exists(fullPath)) { nullable = new DialogResult?(CrashManager.ShowCrashLogDialog(fullPath)); } } catch (Exception exception) { try { MessageBox.Show(exception.ToString(), null, MessageBoxButtons.OK, MessageBoxIcon.Hand); } catch (Exception exception2) { Environment.FailFast(null, exception2); } } DialogResult?nullable2 = nullable; DialogResult oK = DialogResult.OK; if ((((DialogResult)nullable2.GetValueOrDefault()) == oK) ? nullable2.HasValue : false) { string[] args = new string[] { "/sleep=1000" }; StartNewInstance(null, false, args); } } else { string str2; AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Startup.OnCurrentDomainUnhandledException); Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException, true); Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException, false); Application.ThreadException += new ThreadExceptionEventHandler(Startup.OnApplicationThreadException); this.canUseCrashDialog = true; remainingArgs = TryRemoveArg(remainingArgs, "/test", out str2); if (str2 != null) { PdnInfo.IsTestMode = true; } SingleInstanceManager disposeMe = new SingleInstanceManager(mutexName); animationService = null; try { DirectWriteFactory.DefaultDirectWriteSettingsController defaultDirectWriteSettingsController; DrawingContext.DefaultDrawingContextSettingsController defaultDrawingContextSettingsController; IDisposable updatesServiceShutdown; IUpdatesServiceHost updatesServiceHost; PdnSynchronizationContext pdnSyncContext; if (!disposeMe.IsFirstInstance) { disposeMe.FocusFirstInstance(); foreach (string str7 in remainingArgs) { disposeMe.SendInstanceMessage(str7, 30); } disposeMe.Dispose(); disposeMe = null; } else { CleanupService.Initialize(); ResourcesService.Initialize(); UserFilesService.Initialize(); UserPalettesService.Initialize(); animationService = AnimationService.Initialize(); animationService.IsEnabled = true; Document.Initialize(PdnInfo.Version); Layer.Initialize(PdnResources.GetString("Layer.BackgroundLayer.DefaultName")); Effect.SetDefaultServiceProviderValueFactory(effect => new ServiceProviderForEffects()); defaultDirectWriteSettingsController = DirectWriteFactory.GetDefaultSettingsController(); defaultDirectWriteSettingsController.DefaultCulture = AppSettings.Instance.UI.Language.Value; AppSettings.Instance.UI.Language.ValueChangedT += (sender, e) => (defaultDirectWriteSettingsController.DefaultCulture = e.NewValue); AeroColors.CurrentScheme = AppSettings.Instance.UI.AeroColorScheme.Value; AppSettings.Instance.UI.AeroColorScheme.ValueChangedT += (sender, e) => (AeroColors.CurrentScheme = e.NewValue); defaultDrawingContextSettingsController = DrawingContext.GetDefaultSettingsController(); defaultDrawingContextSettingsController.DefaultTextAntialiasMode = AppSettings.Instance.UI.DefaultTextAntialiasMode.Value; AppSettings.Instance.UI.DefaultTextAntialiasMode.ValueChangedT += delegate(object sender, ValueChangedEventArgs <TextAntialiasMode> e) { defaultDrawingContextSettingsController.DefaultTextAntialiasMode = e.NewValue; foreach (Form form in Application.OpenForms) { form.PerformLayoutRecursiveDepthFirst("TextAntialiasMode"); form.Invalidate(true); } }; defaultDrawingContextSettingsController.DefaultTextRenderingMode = AppSettings.Instance.UI.DefaultTextRenderingMode.Value; AppSettings.Instance.UI.DefaultTextRenderingMode.ValueChangedT += delegate(object sender, ValueChangedEventArgs <TextRenderingMode> e) { defaultDrawingContextSettingsController.DefaultTextRenderingMode = e.NewValue; foreach (Form form in Application.OpenForms) { form.PerformLayoutRecursiveDepthFirst("TextRenderingMode"); form.Invalidate(true); } }; PaintDotNet.IndirectUI.ControlInfo.Initialize(Assembly.GetExecutingAssembly()); PdnBaseForm.SetStaticHelpRequestedHandler(delegate(object sender, HelpEventArgs e) { HelpService.Instance.ShowHelp(sender as IWin32Window); e.Handled = true; }); Control control = new Control(); SynchronizationContext current = SynchronizationContext.Current; PdnSynchronizationContextController controller = PdnSynchronizationContext.Install(new WaitForMultipleObjectsExDelegate(WaitHelper.WaitForMultipleObjectsEx), new SleepExDelegate(WaitHelper.SleepEx)); pdnSyncContext = controller.Instance; this.mainForm = new MainForm(remainingArgs); updatesServiceHost = this.mainForm.CreateUpdatesServiceHost(); updatesServiceShutdown = null; EventHandler initUpdatesOnShown = null; initUpdatesOnShown = delegate(object sender, EventArgs e) { this.mainForm.Shown -= initUpdatesOnShown; updatesServiceShutdown = UpdatesService.Initialize(updatesServiceHost); }; this.mainForm.Shown += initUpdatesOnShown; this.mainForm.SingleInstanceManager = disposeMe; disposeMe = null; int num = (int)Math.Floor((double)8.3333333333333339); int intervalMs = (int)Math.Floor((double)50.0); using (AnimationTimerUpdateThread timerThread = new AnimationTimerUpdateThread(intervalMs, false)) { < > c__DisplayClass20_1 class_3;
protected override void OnPaint(PaintEventArgs e) { float valueStart = this.scaleFactor.ScaleScalar(this.rulerValue - offset); float valueEnd = this.scaleFactor.ScaleScalar(this.rulerValue + 1.0f - offset); float highlightStartPx = this.scaleFactor.ScaleScalar(this.highlightStart - offset); float highlightEndPx = this.scaleFactor.ScaleScalar(this.highlightStart + this.highlightLength - offset); RectangleF highlightRect; RectangleF valueRect; if (this.orientation == Orientation.Horizontal) { valueRect = new RectangleF(valueStart, this.ClientRectangle.Top, valueEnd - valueStart, this.ClientRectangle.Height); highlightRect = new RectangleF(highlightStartPx, this.ClientRectangle.Top, highlightEndPx - highlightStartPx, this.ClientRectangle.Height); } else // if (this.orientation == Orientation.Vertical) { valueRect = new RectangleF(this.ClientRectangle.Left, valueStart, this.ClientRectangle.Width, valueEnd - valueStart); highlightRect = new RectangleF(this.ClientRectangle.Left, highlightStartPx, this.ClientRectangle.Width, highlightEndPx - highlightStartPx); } if (!this.highlightEnabled) { highlightRect = RectangleF.Empty; } if (this.orientation == Orientation.Horizontal) { e.Graphics.DrawLine( SystemPens.WindowText, UI.ScaleWidth(15), ClientRectangle.Top, UI.ScaleWidth(15), ClientRectangle.Bottom); string abbStringName = "MeasurementUnit." + this.MeasurementUnit.ToString() + ".Abbreviation"; string abbString = PdnResources.GetString(abbStringName); e.Graphics.DrawString(abbString, Font, SystemBrushes.WindowText, UI.ScaleWidth(-2), 0); } Region clipRegion = new Region(highlightRect); clipRegion.Xor(valueRect); if (this.orientation == Orientation.Horizontal) { clipRegion.Exclude(new Rectangle(0, 0, UI.ScaleWidth(16), ClientRectangle.Height)); } e.Graphics.SetClip(clipRegion, CombineMode.Replace); DrawRuler(e, true); clipRegion.Xor(this.ClientRectangle); if (this.orientation == Orientation.Horizontal) { clipRegion.Exclude(new Rectangle(0, 0, UI.ScaleWidth(16), ClientRectangle.Height - 1)); } e.Graphics.SetClip(clipRegion, CombineMode.Replace); DrawRuler(e, false); clipRegion.Dispose(); }