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);
}