void DetailPage::UpdateMainImageBrush()

in PhotoEditor/DetailPage.cpp [481:498]


    void DetailPage::UpdateMainImageBrush()
    {
        MainImage().Source(m_imageSource);
        MainImage().InvalidateArrange();

        CreateEffectsGraph();

        auto destinationBrush = m_compositor.CreateBackdropBrush();
        auto graphicsEffectFactory = m_compositor.CreateEffectFactory(m_graphicsEffect, m_animatablePropertiesList);

        m_combinedBrush = graphicsEffectFactory.CreateBrush();
        m_combinedBrush.SetSourceParameter(L"Backdrop", destinationBrush);

        auto effectSprite = m_compositor.CreateSpriteVisual();
        effectSprite.Size(float2{ static_cast<float>(m_imageSource.PixelWidth()), static_cast<float>(m_imageSource.PixelHeight()) });
        effectSprite.Brush(m_combinedBrush);
        ElementCompositionPreview::SetElementChildVisual(MainImage(), effectSprite);
    }