예제 #1
0
        private void DestroyWin2DContainers()
        {
            _canvas?.RemoveFromVisualTree();

            Container.Children.Remove(_canvas);

            _canvas = null;
        }
예제 #2
0
 private void OnUnloaded(object sender, RoutedEventArgs e)
 {
     Canvas.Unloaded        -= OnUnloaded;
     Canvas.CreateResources -= OnCreateResources;
     Canvas.Draw            -= OnDraw;
     Canvas.RemoveFromVisualTree();
     Canvas = null;
 }
예제 #3
0
 private void OutlineTextBlock2_Unloaded(object sender, RoutedEventArgs e)
 {
     if (_canvas != null)
     {
         _canvas.RemoveFromVisualTree();
         _canvas = null;
     }
 }
예제 #4
0
 private void Shadow_Unloaded(object sender, RoutedEventArgs e)
 {
     if (!IsCached && _shadowCanvas != null)
     {
         _shadowCanvas.RemoveFromVisualTree();
         _shadowCanvas = null;
     }
 }
예제 #5
0
 private void OnLayerUnloaded(object sender, RoutedEventArgs e)
 {
     // Explicitly remove references to allow the Win2D controls to get garbage collected
     if (_canvas != null)
     {
         _canvas.RemoveFromVisualTree();
         _canvas = null;
     }
 }
 void TextDirectionControl_Unloaded(object sender, RoutedEventArgs e)
 {
     // Explicitly remove references to allow the Win2D controls to get garbage collected
     if (canvas != null)
     {
         canvas.RemoveFromVisualTree();
         canvas = null;
     }
 }
예제 #7
0
        private void OnUnloaded(object sender, RoutedEventArgs e)
        {
            Unloaded -= OnUnloaded;

            Debug.Assert(_canvasControl != null);
            _canvasControl.Draw -= OnDraw;
            _canvasControl.RemoveFromVisualTree();
            _canvasControl = null;
        }
예제 #8
0
        private void OnUnloaded(object sender, RoutedEventArgs routedEventArgs)
        {
            if (_canvasControl == null)
            {
                return;
            }

            _canvasControl.RemoveFromVisualTree();
            _canvasControl = null;
        }
예제 #9
0
        private void EffectLayer_Unloaded(object sender, RoutedEventArgs e)
        {
            // Explicitly remove references to allow the Win2D controls to get garbage collected
            if (canvas != null)
            {
                canvas.Draw -= OnDraw;
                canvas.RemoveFromVisualTree();

                canvas = null;
            }

            if (_eg != null)
            {
                _eg.Dispose(); _eg = null;
            }
            _paths.Clear();
            _uielements.Clear();
            _uielements.Clear();

            _bkgLayer.Content = null;
        }
예제 #10
0
        private void TextEditor_Unloaded(object sender, RoutedEventArgs e)
        {
            _canvasElement.RemoveFromVisualTree();
            _canvasElement = null;

            _cursorColorBrush?.Dispose();
            _selectionHighlightColorBrush?.Dispose();
            _selectionForegroundBrush?.Dispose();
            _foregroundBrush?.Dispose();
            _backgroundBrush?.Dispose();
            _lineNumberTextFormat?.Dispose();
            _lineNumberTextLayout?.Dispose();
            _textLayout?.Dispose();
            _textFormat?.Dispose();
        }
예제 #11
0
        private void OnUnloaded(object sender, RoutedEventArgs routedEventArgs)
        {
            if (this.isAnimationRunning)
            {
                this.isAnimationRunning      = false;
                CompositionTarget.Rendering -= this.OnRendering;
            }

            // Explicitly remove references to allow the Win2D controls to get garbage collected
            if (canvas != null)
            {
                canvas.RemoveFromVisualTree();
                canvas = null;
            }
        }
예제 #12
0
        private void OutlinedTextBlock_Unloaded(object sender, Windows.UI.Xaml.RoutedEventArgs e)
        {
            // Explicitly remove references to allow the Win2D controls to get garbage collected
            if (_canvas != null)
            {
                _canvas.RemoveFromVisualTree();
                _canvas = null;

                this.UnregisterPropertyChangedCallback(ForegroundProperty, _tokenForeground);
                this.UnregisterPropertyChangedCallback(FontSizeProperty, _tokenFontSize);
                this.UnregisterPropertyChangedCallback(FontFamilyProperty, _tokenFontFamily);
                this.UnregisterPropertyChangedCallback(FontStyleProperty, _tokenFontStyle);
                this.UnregisterPropertyChangedCallback(FontWeightProperty, _tokenFontWeight);
                this.UnregisterPropertyChangedCallback(HorizontalContentAlignmentProperty, _tokenHorizontalContentAlignment);
            }
        }
예제 #13
0
        private void OnUnloaded(object sender, RoutedEventArgs e)
        {
            Subscribe(false);

            _canvas.CreateResources -= OnCreateResources;
            _canvas.Draw            -= OnDraw;
            _canvas.Unloaded        -= OnUnloaded;
            _canvas.RemoveFromVisualTree();
            _canvas = null;

            Dispose();

            //_animation?.Dispose();
            _animation = null;
            _bitmap?.Dispose();
            _bitmap = null;
        }
예제 #14
0
        public void Dispose()
        {
            _pixels      = null;
            _imageBuffer = null;
            _disp.Clear();

            if (_canvasControl != null)
            {
                _canvasControl.CreateResources -= Canvas_CreateResources;
                _canvasControl.Draw            -= Canvas_Draw;
                _canvasControl.RemoveFromVisualTree();
                _canvasControl = null;
            }

            _grid.Children.Clear();
            this.Unloaded -= GifRenderer_Unloaded;
        }
예제 #15
0
        private void OnUnloaded(object sender, RoutedEventArgs e)
        {
            _shouldPlay = false;
            _unloaded = true;
            Subscribe(false);

            if (_canvas != null)
            {
                _canvas.Draw -= OnDraw;
                _canvas.RemoveFromVisualTree();
                _canvas = null;
            }

            _source = null;

            //_bitmap?.Dispose();
            _bitmap = null;

            //_animation?.Dispose();
            _animation = null;
        }
예제 #16
0
        public void Unload()
        {
            _shouldPlay = false;
            _unloaded   = true;
            Subscribe(false);

            if (_canvas != null)
            {
                _canvas.CreateResources -= OnCreateResources;
                _canvas.Draw            -= OnDraw;
                _canvas.RemoveFromVisualTree();
                _canvas = null;
            }

            _valueState = null;

            //_bitmap?.Dispose();
            _bitmaps = null;

            //_animation?.Dispose();
            _animations = null;
        }
예제 #17
0
 private void UserControl_Unloaded(object sender, RoutedEventArgs e)
 {
     CanvasControl.RemoveFromVisualTree();
     CanvasControl = null;
 }