public static DispatcherOperation MainUpdateContinuation(ICodeView iface1, CustomTextSource4 source) { return(iface1.Dispatcher.InvokeAsync(() => { iface1.CustomTextSource = source; Debug.WriteLine("Return from await inner update"); // ;(int.TryParse("Setting reactangle width to " +new NTComputer ({ff, line) || Device<int>()))}; iface1.PerformingUpdate = false; iface1.InitialUpdate = false; iface1.RaiseEvent(new RoutedEventArgs(RoslynCodeBase.RenderCompleteEvent, iface1)); iface1.Status = CodeControlStatus.Rendered; var insertionPoint = iface1.InsertionPoint; if (insertionPoint == 0) { iface1.InsertionCharInfo = iface1.CharInfos.FirstOrDefault(); } }, DispatcherPriority.Send)); }
public static async Task <CustomTextSource4> UpdateFormattedText(ICodeView iface1) { Debug.WriteLine("Enteirng updateformattedtext " + iface1.PerformingUpdate); if (iface1.PerformingUpdate) { Debug.WriteLine("Already performing update"); return(null); } iface1.PerformingUpdate = true; iface1.Status = CodeControlStatus.Rendering; iface1.RaiseEvent(new RoutedEventArgs(RoslynCodeControl.RenderStartEvent, iface1)); var textStorePosition = 0; var linePosition = new Point(iface1.XOffset, 0); iface1.TextDestination.Children.Clear(); var line = 0; Debug.WriteLine("Calling inner update"); // ScrollViewer.VerticalScrollBarVisibility = ScrollBarVisibility.Disabled; var fontFamilyFamilyName = iface1.FontFamily.FamilyNames[XmlLanguage.GetLanguage("en-US")]; Debug.WriteLine(fontFamilyFamilyName); Debug.WriteLine("OutputWidth " + iface1.OutputWidth); // not sure what to do here !! // Rectangle.Width = OutputWidth + Rectangle.StrokeThickness * 2; var emSize = iface1.FontSize; var fontWeight = iface1.FontWeight; var customTextSource4Parameters = iface1.CreateDefaultTextSourceArguments(); var mainUpdateParameters = new MainUpdateParameters(textStorePosition, line, linePosition, RoslynCodeControl.Formatter, iface1.OutputWidth, iface1.PixelsPerDip, emSize, fontFamilyFamilyName, iface1.UpdateChannel.Writer, fontWeight, iface1.DocumentPaginator, customTextSource4Parameters); await iface1.JTF2.SwitchToMainThreadAsync(); var source = await iface1.InnerUpdateAsync(mainUpdateParameters, customTextSource4Parameters); return(source); }