/// <summary> /// /// </summary> /// <param name="sizeInfo"></param> protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { if (!loaded) { return; } if (resizeOperation != null && resizeOperation.Status == DispatcherOperationStatus.Pending) { resizeOperation.Abort(); } resizeOperation = Dispatcher.BeginInvoke(DispatcherPriority.Background, (Action)(() => { if (surfaceD3D != null) { try { if (RenderTechnique != null) { if (RenderTechnique == deferred) { deferredRenderer.InitBuffers(this, Format.R32G32B32A32_Float); } else if (RenderTechnique == gbuffer) { deferredRenderer.InitBuffers(this, Format.B8G8R8A8_UNorm); } } StopRendering(); CreateAndBindTargets(); SetDefaultRenderTargets(); StartRendering(); InvalidateRender(); } catch (Exception ex) { if (!HandleExceptionOccured(ex)) { MessageBox.Show(string.Format("DPFCanvas: Error while rendering: {0}", ex.Message), "Error"); } } } })); }
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { base.OnRenderSizeChanged(sizeInfo); if (!IsOpen) { return; // no changes for invisible flyouts, ApplyAnimation is called now in visible changed event } if (!sizeInfo.WidthChanged && !sizeInfo.HeightChanged) { return; } if (root == null || hideFrame == null || showFrame == null || hideFrameY == null || showFrameY == null) { return; // don't bother checking IsOpen and calling ApplyAnimation } if (Position == Position.Left || Position == Position.Right) { showFrame.Value = 0; } if (Position == Position.Top || Position == Position.Bottom) { showFrameY.Value = 0; } switch (Position) { default: hideFrame.Value = -root.ActualWidth; break; case Position.Right: hideFrame.Value = root.ActualWidth; break; case Position.Top: hideFrameY.Value = -root.ActualHeight - 1; break; case Position.Bottom: hideFrameY.Value = root.ActualHeight; break; } }
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { base.OnRenderSizeChanged(sizeInfo); if (!this.IsOpen) { return; // no changes for invisible flyouts, ApplyAnimation is called now in visible changed event } if (!sizeInfo.WidthChanged && !sizeInfo.HeightChanged) { return; } if (this.flyoutRoot == null || this.hideFrame == null || this.showFrame == null || this.hideFrameY == null || this.showFrameY == null) { return; // don't bother checking IsOpen and calling ApplyAnimation } if (this.Position == Position.Left || this.Position == Position.Right) { this.showFrame.Value = 0; } if (this.Position == Position.Top || this.Position == Position.Bottom) { this.showFrameY.Value = 0; } switch (this.Position) { default: this.hideFrame.Value = -this.flyoutRoot.ActualWidth - this.Margin.Left; break; case Position.Right: this.hideFrame.Value = this.flyoutRoot.ActualWidth + this.Margin.Right; break; case Position.Top: this.hideFrameY.Value = -this.flyoutRoot.ActualHeight - 1 - this.Margin.Top; break; case Position.Bottom: this.hideFrameY.Value = this.flyoutRoot.ActualHeight + this.Margin.Bottom; break; } }
protected override void OnRenderSizeChanged(SizeChangedInfo size_info) { _reset_back_buffer = true; var ns = size_info.NewSize; var width = (int)ns.Width; var height = (int)ns.Height; if (height > 0 && width > 0) { StartRendering(); } else { StopRendering(); } base.OnRenderSizeChanged(size_info); }
/// <summary> /// /// </summary> /// <param name="sizeInfo"></param> protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { if (this.surfaceD3D != null) { #if DEFERRED if (this.RenderTechnique == Techniques.RenderDeferred) { this.deferredRenderer.InitBuffers(this, Format.R32G32B32A32_Float); } if (this.RenderTechnique == Techniques.RenderGBuffer) { this.deferredRenderer.InitBuffers(this, Format.B8G8R8A8_UNorm); } #endif this.CreateAndBindTargets(); this.SetDefaultRenderTargets(); } base.OnRenderSizeChanged(sizeInfo); }
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { base.OnRenderSizeChanged(sizeInfo); Size size = sizeInfo.NewSize; if (size.Height > size.Width) { double margin = (size.Height - size.Width) / 2; this.XMark.Margin = new Thickness(0, margin, 0, margin); XSize = size.Width / 10; } else { double margin = (size.Width - size.Height) / 2; this.XMark.Margin = new Thickness(margin, 0, margin, 0); XSize = size.Height / 10; } }
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { //ActivityButton.Visibility = Visibility.Collapsed; base.OnRenderSizeChanged(sizeInfo); //return; //if (!sizeInfo.WidthChanged) return; //if (ActualWidth < 777) //{ // Grid.SetColumnSpan(StudentsCard, 2); // StudentsViewModel.Instance.StudentActivityOpen = false; // ActivityButton.Visibility = Visibility.Visible; //} //else //{ // Grid.SetColumnSpan(StudentsCard,1); // StudentsViewModel.Instance.StudentActivityOpen = false; // ActivityButton.Visibility = Visibility.Collapsed; //} }
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { base.OnRenderSizeChanged(sizeInfo); if (!IsLoaded) { return; } if (sizeInfo.WidthChanged) { // We need to restart animations. if (IsAnimationRunning) { Stop(); Start(); } } }
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { base.OnRenderSizeChanged(sizeInfo); /* * * double w = sizeInfo.NewSize.Width; * double h = sizeInfo.NewSize.Height; * double th = Thickness; * * var eg = new EllipseGeometry(new Point(w, h), w, h); * var rg = new RectangleGeometry(new Rect(-th, -th, w + th*2, h + th)); * var g = new CombinedGeometry(GeometryCombineMode.Intersect, rg, eg); * this.Clip = g; */ this.Clip = null; geometry = null; }
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { base.OnRenderSizeChanged(sizeInfo); var size = Math.Min(sizeInfo.NewSize.Width, sizeInfo.NewSize.Height); var half = size / 2; line.X1 = half; line.X2 = half; line.Y1 = 0; line.Y2 = half; lineRotate.CenterX = half; lineRotate.CenterY = half; grid.Width = size; grid.Height = size; var delta = Maximum - Minimum; lineRotate.Angle = (Value / delta) * (MaxAngle - MinAngle) + MinAngle; }
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { base.OnRenderSizeChanged(sizeInfo); if (_clipBorder == null) { return; } var farPoint = new Point( Math.Max(0, _clipBorder.ActualWidth), Math.Max(0, _clipBorder.ActualHeight)); var clipRect = new Rect( new Point(), new Point(farPoint.X, farPoint.Y)); ContentClip = new RectangleGeometry(clipRect, UniformCornerRadius, UniformCornerRadius); }
protected override void OnRenderSizeChanged(SizeChangedInfo info) { Point point = this.canvas.TranslatePoint(new Point(), (UIElement)Application.Current.MainWindow); if (!this.isPositionLockSet) { this.isPositionLockSet = true; this.positionLockSize = this.canvas.RenderSize; this.positionLockOrigin = point; } else if (this.canvas.RenderSize != this.positionLockSize || point != this.positionLockOrigin) { this.CenterX = this.CenterX - (this.positionLockSize.Width / 2.0 - this.canvas.RenderSize.Width / 2.0 + (this.positionLockOrigin.X - point.X)) / this.Zoom; this.CenterY = this.CenterY - (this.positionLockSize.Height / 2.0 - this.canvas.RenderSize.Height / 2.0 + (this.positionLockOrigin.Y - point.Y)) / this.Zoom; this.positionLockSize = this.canvas.RenderSize; this.positionLockOrigin = point; } this.UpdateChildren(); base.OnRenderSizeChanged(info); }
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { base.OnRenderSizeChanged(sizeInfo); if (sizeInfo.WidthChanged) { this.SetHorizontalOffset(this.HorizontalOffset); } if (sizeInfo.HeightChanged) { this.SetVerticalOffset(this.VerticalOffset); } this.ViewportWidth = this.ActualWidth; this.ViewportHeight = this.ActualHeight; this.UpdateScrollOwner(); this.OnScroll(); }
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { base.OnRenderSizeChanged(sizeInfo); if (IsLoaded && sizeInfo.WidthChanged) { double newWidth = sizeInfo.NewSize.Width; if (IsBgVisible && newWidth < 550) { IsBgVisible = false; UpdateBackground("None", true); } else if (!IsBgVisible && newWidth >= 550) { IsBgVisible = true; UpdateBackground(true); } } }
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { base.OnRenderSizeChanged(sizeInfo); if (IsInDesignMode) { return; } _logger.Information("Render size changed to {Size}", sizeInfo.NewSize); // sometimes OnRenderSizeChanged happens before OnLoaded. Start(); ResetBackBufferReference(); if (GraphicsDevice != null) { _viewModel.OnSizeChanged((int)sizeInfo.NewSize.Width, (int)sizeInfo.NewSize.Height); } }
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { if (Content is ViewCell vc) { if (vc.LogicalChildren != null && vc.LogicalChildren.Any()) { foreach (var child in vc.LogicalChildren) { if (child is Layout layout) { if (layout.HorizontalOptions.Expands) { layout.Layout(new Rectangle(layout.X, layout.Y, sizeInfo.NewSize.Width, sizeInfo.NewSize.Height)); } } } } } base.OnRenderSizeChanged(sizeInfo); }
/// <summary> /// /// </summary> /// <param name="sizeInfo"></param> protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { switch (this.RenderTechnique) { default: break; case Techniques.RenderDeferred: this.deferredRenderer.CreateBuffers(this, Format.R32G32B32A32_Float); break; case Techniques.RenderGBuffer: this.deferredRenderer.CreateBuffers(this, Format.B8G8R8A8_UNorm); break; } this.CreateAndBindTargets(); this.SetDefaultRenderTargets(); base.OnRenderSizeChanged(sizeInfo); }
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { if (_viewPort.IsEmpty) { _viewPort = new Rect(0, 0, ActualWidth, ActualHeight); } var oldvp = _viewPort; var newvp = new Rect(oldvp.TopLeft, sizeInfo.NewSize); var valid = true;// Validate(ref newvp, zoomLayers.Zoom); if (!valid) { var vector = (Point)sizeInfo.NewSize - (Point)sizeInfo.PreviousSize; newvp = oldvp; newvp.Offset(vector); newvp.Size = sizeInfo.NewSize; } ViewPortChange(oldvp, newvp, zoomLayers.Zoom, zoomLayers.Zoom, Mouse.GetPosition(this)); _viewPort = newvp; }
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { base.OnRenderSizeChanged(sizeInfo); foreach (FrameworkElement child in this.Children) { ExtensionWindow window = child as ExtensionWindow; if (null != window) { if (PlacementMode.Relative == GetMode(window) && null != GetPlacementTarget(window)) { this.PlaceWindow(window); continue; } if (!this.AutoExpandCanvas) { this.EnsureWindowIsVisible(window); } } } }
/// <summary> /// Override for <seealso cref="UIElement.OnRenderSizeChanged"/> /// </summary> protected internal override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { base.OnRenderSizeChanged(sizeInfo); // *** Workaround *** // We need OnMouseRealyOver Property here // // There is a problem when Button is capturing the Mouse and resizing untill the mouse fall of the Button // During that time, Button and Mouse didn't really move. However, we need to update the IsPressed property // because mouse is no longer over the button. // We migth need a new property called *** IsMouseReallyOver *** property, so we can update IsPressed when // it's changed. (Can't use IsMouseOver or IsMouseDirectlyOver 'coz once Mouse is captured, they're alway 'true'. // // Update IsPressed property if (IsMouseCaptured && (Mouse.PrimaryDevice.LeftButton == MouseButtonState.Pressed) && !IsSpaceKeyDown) { // At this point, RenderSize is not updated. We must use finalSize instead. UpdateIsPressed(); } }
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { base.OnRenderSizeChanged(sizeInfo); if (sizeInfo.NewSize.NearlyEqual(sizeInfo.PreviousSize)) { return; } if (sizeInfo.WidthChanged) { UpdateXPixelPerUnit(); } if (sizeInfo.HeightChanged) { UpdateYPixelPerUnit(); } RecalculateCoordinate(); }
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { base.OnRenderSizeChanged(sizeInfo); if (sizeInfo.NewSize.Width > MaxUnscaledScreenWidth) { _scaleFactor = (sizeInfo.NewSize.Width / MaxUnscaledScreenWidth); ClientProperties.SetScaleFactor(this, _scaleFactor); LayoutTransform = ContentPanel.LayoutTransform = new ScaleTransform(_scaleFactor, _scaleFactor, 0.5, 0.5); } else { _scaleFactor = 1.0; ClearValue(ClientProperties.ScaleFactorProperty); LayoutTransform = ContentPanel.LayoutTransform = null; } }
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { if (!InitWindow()) { return; } var settings = PeerCastStation.Core.PeerCastApplication.Current.Settings.Get <WPFSettings>(); var bounds = RestoreBounds; if (!bounds.IsEmpty) { var dpi = Screen.GetDpiForWindow(this); bounds.Scale(dpi / 96.0, dpi / 96.0); settings.WindowLeft = bounds.Left; settings.WindowTop = bounds.Top; settings.WindowWidth = bounds.Width; settings.WindowHeight = bounds.Height; } PeerCastStation.Core.PeerCastApplication.Current.SaveSettings(); base.OnRenderSizeChanged(sizeInfo); }
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { double dpiScale = 1.0; // default value for 96 dpi // determine DPI // (as of .NET 4.6.1, this returns the DPI of the primary monitor, if you have several different DPIs) var hwndTarget = PresentationSource.FromVisual(this).CompositionTarget as HwndTarget; if (hwndTarget != null) { dpiScale = hwndTarget.TransformToDevice.M11; } int surfWidth = (int)(ActualWidth < 0 ? 0 : Math.Ceiling(ActualWidth * dpiScale)); int surfHeight = (int)(ActualHeight < 0 ? 0 : Math.Ceiling(ActualHeight * dpiScale)); if (renderer != IntPtr.Zero) { HRESULT.Check(WindowAPI.SetSize(renderer, surfWidth, surfHeight)); } }
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { if (WebView.HaveValue) { int width = (int)sizeInfo.NewSize.Width; int height = (int)sizeInfo.NewSize.Height; _window = Window.GetWindow(this); if (_hwndSource == null) { _hwndSource = HwndSource.FromHwnd(new WindowInteropHelper(_window).Handle); Debug.WriteLine(Thread.CurrentThread.ManagedThreadId); Debug.WriteLine(_hwndSource.Handle); _hwndSourceHook = new HwndSourceHook(HwndSourceHook); _hwndSource.AddHook(HwndSourceHook); WebView.SetHandle(_hwndSource.Handle); } Point location = TransformToVisual(_window).Transform(new Point(0, 0)); WebView.SetHandleOffset((int)location.X, (int)location.Y); WebView.Resize(width, height); if (_image != null) { if (_drawSize.Width <= 100 || _drawSize.Height <= 100 || sizeInfo.NewSize.Width <= 100 || sizeInfo.NewSize.Height <= 100) { _drawSize = sizeInfo.NewSize; } else { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); while (_drawSize != sizeInfo.NewSize && stopwatch.ElapsedMilliseconds < 500) { WebView.Wake(); } stopwatch.Stop(); } } } base.OnRenderSizeChanged(sizeInfo); }
internal void Clicked(object sender, MouseButtonEventArgs e) { //MessageBox.Show(figure == null ? "Пустая ячейка" : $"Это {figure.RusName}"); isSelected = !isSelected; // состояние доски изменилось, нужно заставить Canvas обновиться // Перерисовка у нас висит на событии SizeChangedEvent, поэтому дергаем его насильно // создаем псевдо информацию и новом размере канвы, какие у него буду значения - неважно SizeChangedInfo sifo = new SizeChangedInfo(canvas, new Size(0, 0), true, true); // создаем объект-аргумент для передачи в событие - но у события SizeChangedEvent есть проблема, конструктор SizeChangedEventArgs // не вызвать напрямую, поэтому приходится это делать через рефлексию насильно SizeChangedEventArgs ea = typeof(SizeChangedEventArgs) .GetConstructors(System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance) // находим приватный конструктор, который от нас скрыт напрямую .FirstOrDefault() .Invoke(new object[] { (canvas as FrameworkElement), sifo }) as SizeChangedEventArgs; // запускаем конструктор насильно через метод Invoke() ea.RoutedEvent = Canvas.SizeChangedEvent; // вызываем событие canvas.RaiseEvent(ea); }
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { if (MainWindow.mainWindow != null) { if (!MainWindow.mainWindow.gridDown) { base.OnRenderSizeChanged(sizeInfo); // sometimes OnRenderSizeChanged happens before OnLoaded. Start(); ResetBackBufferReference(); } } else { base.OnRenderSizeChanged(sizeInfo); // sometimes OnRenderSizeChanged happens before OnLoaded. Start(); ResetBackBufferReference(); } }
//Re-center automatically protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { base.OnRenderSizeChanged(sizeInfo); //Calculate half of the offset to move the form if (initiallySized) { //if (sizeInfo.HeightChanged) // this.Top += (sizeInfo.PreviousSize.Height - sizeInfo.NewSize.Height) / 2; if (sizeInfo.WidthChanged) { this.Left += (sizeInfo.PreviousSize.Width - sizeInfo.NewSize.Width) / 2; } } else { initiallySized = true; } }
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { if (!IsClosed) { if (sizeInfo.PreviousSize.Height != sizeInfo.NewSize.Height) { ViewportHeightChanged?.Invoke(this, EventArgs.Empty); } if (sizeInfo.PreviousSize.Width != sizeInfo.NewSize.Width) { ViewportWidthChanged?.Invoke(this, EventArgs.Empty); if ((Options.WordWrapStyle() & WordWrapStyles.WordWrap) != 0) { InvalidateFormattedLineSource(true); } } UpdateVisibleLines(); RaiseLayoutChanged(); InvalidateFormattedLineSource(false); } base.OnRenderSizeChanged(sizeInfo); }
protected override void OnRenderSizeChanged(SizeChangedInfo info) { if (_renderer == null) { return; } _resizeStartStamp = _stopwatch.ElapsedMilliseconds; if (info.HeightChanged) { _imageRectangle.Height = info.NewSize.Height; _translateTransform.Y = info.NewSize.Height; InvalidateVisual(); } if (info.WidthChanged) { _imageRectangle.Width = info.NewSize.Width; InvalidateVisual(); } base.OnRenderSizeChanged(info); }
protected internal override void OnRenderSizeChanged (SizeChangedInfo sizeInfo) { throw new NotImplementedException (); }
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { base.OnRenderSizeChanged(sizeInfo); if (!DesignerProperties.GetIsInDesignMode(this)) { _rootElement.Width = sizeInfo.NewSize.Width; _rootElement.Height = sizeInfo.NewSize.Height; } }
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { base.OnRenderSizeChanged(sizeInfo); this.Width = (VisualParent as FrameworkElement).ActualWidth; this.Height = (VisualParent as FrameworkElement).ActualHeight; }
/// <summary> /// Override for <seealso cref="UIElement.OnRenderSizeChanged"/> /// </summary> protected internal override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { base.OnRenderSizeChanged(sizeInfo); // when render size is changed, check to hide the previous header's right half gripper CheckWidthForPreviousHeaderGripper(); }
/// <summary> /// Updates the calculated <see cref="ActualViewbox"/> and the <see cref="Scale"/> and <see cref="Offset"/> when the size changes. /// </summary> /// <param name="sizeInfo">Size information about the render size.</param> protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) { CoerceValue(ScaleProperty); CoerceValue(OffsetProperty); CoerceValue(ActualViewboxProperty); base.OnRenderSizeChanged(sizeInfo); }