Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 12 additions & 11 deletions src/StructuredLogViewer/Controls/TracingControl.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public void UpdateRenderArea(Rect renderRect)
}

// render a larger size so that scrolling is smoother.
renderRect.Inflate(renderRect.Width, 0);
renderRect.Inflate(renderRect.Width, renderRect.Height);
RenderRect = renderRect;
this.InvalidateVisual();
}
Expand Down Expand Up @@ -279,7 +279,8 @@ public void Dispose()
private double scaleFactor = 1;
private double horizontalOffset = 0;
private double verticalOffset = 0;
private double viewPort = 0;
private double viewPortWidth = 0;
private double viewPortHeight = 0;
private double textHeight;

private void ScrollViewer_Loaded(object sender, RoutedEventArgs e)
Expand All @@ -296,35 +297,34 @@ private void ScrollViewer_Unloaded(object sender, RoutedEventArgs e)

private void ScrollViewer_ScrollChanged(object sender, ScrollChangedEventArgs e)
{
if (e.HorizontalChange == 0 && e.ViewportWidthChange <= 0)
if (e.HorizontalChange == 0 && e.VerticalChange == 0 && e.ViewportWidthChange <= 0 && e.ViewportHeightChange <= 0)
{
return;
}

horizontalOffset = scrollViewer.HorizontalOffset;
verticalOffset = scrollViewer.VerticalOffset;
viewPort = scrollViewer.ViewportWidth;
viewPortWidth = scrollViewer.ViewportWidth;
viewPortHeight = scrollViewer.ViewportHeight;
UpdateRenderArea();

e.Handled = true;
}

private void UpdateRenderArea()
{
var newRect = new Rect(horizontalOffset / scaleFactor, 0, viewPort / scaleFactor, double.MaxValue);

if (lanesPanel != null)
{
foreach (var panel in lanesPanel?.Children)
foreach (var panel in lanesPanel.Children)
{
if (panel is FastCanvas fastCanvas)
{
fastCanvas.UpdateRenderArea(newRect);
Point translatedPoint = this.TranslatePoint(PointZero, fastCanvas);
Rect areaRect = new Rect(translatedPoint.X, translatedPoint.Y, viewPortWidth / scaleFactor, viewPortHeight / scaleFactor);
fastCanvas.UpdateRenderArea(areaRect);
}
}
}

HeatGraph?.UpdateRenderArea(newRect);
}

private void zoomSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
Expand Down Expand Up @@ -660,7 +660,8 @@ private void Draw()
}

// scrollViewer may not have been initialized, fallback to BuildControl for ViewPort.
viewPort = Math.Max(scrollViewer.ViewportWidth, BuildControl.ActualWidth);
viewPortWidth = Math.Max(scrollViewer.ViewportWidth, BuildControl.ActualWidth);
viewPortHeight = Math.Max(scrollViewer.ViewportHeight, BuildControl.ActualHeight);
this.UpdateRenderArea();

this.drawTime = Timestamp - start;
Expand Down
2 changes: 1 addition & 1 deletion src/StructuredLogger/Search/NodeQueryMatcher.cs
Original file line number Diff line number Diff line change
Expand Up @@ -801,7 +801,7 @@ public bool IsTimeIntervalMatch(BaseNode node)
return true;
}

// Messages and Folders are not timed nodes, using the parent instead.
// Messages and Folders are not timed nodes, use the parent instead.
if (node is not TimedNode timedNode)
{
var parentNode = node.GetNearestParent<TimedNode>();
Expand Down