void DetailPage::PrepareSelectedEffects()

in PhotoEditor/DetailPage.cpp [120:194]


    void DetailPage::PrepareSelectedEffects()
    {
        m_effectsList.clear();
        m_animatablePropertiesList.clear();

        sepiaControlsGrid().Visibility(Visibility::Collapsed);
        blurControlsGrid().Visibility(Visibility::Collapsed);
        colorControlsGrid().Visibility(Visibility::Collapsed);
        lightControlsGrid().Visibility(Visibility::Collapsed);

        m_showControls = false;
        GridView epg = EffectPreviewGrid().as<GridView>();

        // Add effects.
        for (auto&& item : epg.SelectedItems())
        {
            auto preview = item.as<Grid>();
            auto tag = unbox_value<hstring>(preview.Tag());

            if (tag == L"sepia")
            {
                // This intensity is applied only to the button preview.
                m_sepiaEffect.Intensity(1.0f);
                m_effectsList.push_back(m_sepiaEffect);
                m_animatablePropertiesList.push_back(L"SepiaEffect.Intensity");
                sepiaControlsGrid().Visibility(Visibility::Visible);
                m_showControls = true;
            }
            else if (tag == L"invert")
            {
                m_effectsList.push_back(m_invertEffect);
            }
            else if (tag == L"grayscale")
            {
                m_effectsList.push_back(m_grayscaleEffect);
            }
            else if (tag == L"blur")
            {
                // This blur amount is applied only to the button preview.
                m_blurEffect.BlurAmount(2.5f);
                m_effectsList.push_back(m_blurEffect);
                m_animatablePropertiesList.push_back(L"BlurEffect.BlurAmount");
                blurControlsGrid().Visibility(Visibility::Visible);
                m_showControls = true;
            }
            else if (tag == L"color")
            {
                // These values are applied only to the button preview.
                m_temperatureAndTintEffect.Temperature(0.25f);
                m_temperatureAndTintEffect.Tint(-0.25f);
                m_effectsList.push_back(m_temperatureAndTintEffect);
                m_animatablePropertiesList.push_back(L"TemperatureAndTintEffect.Temperature");
                m_animatablePropertiesList.push_back(L"TemperatureAndTintEffect.Tint");
                m_effectsList.push_back(m_saturationEffect);
                m_animatablePropertiesList.push_back(L"SaturationEffect.Saturation");
                colorControlsGrid().Visibility(Visibility::Visible);
                m_showControls = true;
            }
            else if (tag == L"light")
            {
                // This contrast amount is applied only to the button preview.
                m_contrastEffect.Contrast(.25f);
                m_effectsList.push_back(m_contrastEffect);
                m_animatablePropertiesList.push_back(L"ContrastEffect.Contrast");
                // This exposure amount is applied only to the button preview.
                m_exposureEffect.Exposure(-0.25f);
                m_effectsList.push_back(m_exposureEffect);
                m_animatablePropertiesList.push_back(L"ExposureEffect.Exposure");
                lightControlsGrid().Visibility(Visibility::Visible);
                m_showControls = true;
            }
        }

        m_effectsList.push_back(m_graphicsEffect);
    }