Skip to content

Commit

Permalink
Update GradientOrigin property to align with WPF naming (#2181)
Browse files Browse the repository at this point in the history
* Update GradientOffset property to match spec

* Rename to GradientOrigin

* Update local variable
  • Loading branch information
marcelwgn authored Mar 29, 2020
1 parent a939567 commit 9660811
Show file tree
Hide file tree
Showing 7 changed files with 38 additions and 35 deletions.
26 changes: 13 additions & 13 deletions dev/Generated/RadialGradientBrush.properties.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ namespace winrt::Microsoft::UI::Xaml::Media

GlobalDependencyProperty RadialGradientBrushProperties::s_EllipseCenterProperty{ nullptr };
GlobalDependencyProperty RadialGradientBrushProperties::s_EllipseRadiusProperty{ nullptr };
GlobalDependencyProperty RadialGradientBrushProperties::s_GradientOriginOffsetProperty{ nullptr };
GlobalDependencyProperty RadialGradientBrushProperties::s_GradientOriginProperty{ nullptr };
GlobalDependencyProperty RadialGradientBrushProperties::s_InterpolationSpaceProperty{ nullptr };
GlobalDependencyProperty RadialGradientBrushProperties::s_MappingModeProperty{ nullptr };
GlobalDependencyProperty RadialGradientBrushProperties::s_SpreadMethodProperty{ nullptr };
Expand Down Expand Up @@ -49,16 +49,16 @@ void RadialGradientBrushProperties::EnsureProperties()
ValueHelper<winrt::Point>::BoxValueIfNecessary(winrt::Point(0.5,0.5)),
winrt::PropertyChangedCallback(&OnEllipseRadiusPropertyChanged));
}
if (!s_GradientOriginOffsetProperty)
if (!s_GradientOriginProperty)
{
s_GradientOriginOffsetProperty =
s_GradientOriginProperty =
InitializeDependencyProperty(
L"GradientOriginOffset",
L"GradientOrigin",
winrt::name_of<winrt::Point>(),
winrt::name_of<winrt::RadialGradientBrush>(),
false /* isAttached */,
ValueHelper<winrt::Point>::BoxedDefaultValue(),
winrt::PropertyChangedCallback(&OnGradientOriginOffsetPropertyChanged));
ValueHelper<winrt::Point>::BoxValueIfNecessary(winrt::Point(0.5,0.5)),
winrt::PropertyChangedCallback(&OnGradientOriginPropertyChanged));
}
if (!s_InterpolationSpaceProperty)
{
Expand Down Expand Up @@ -99,7 +99,7 @@ void RadialGradientBrushProperties::ClearProperties()
{
s_EllipseCenterProperty = nullptr;
s_EllipseRadiusProperty = nullptr;
s_GradientOriginOffsetProperty = nullptr;
s_GradientOriginProperty = nullptr;
s_InterpolationSpaceProperty = nullptr;
s_MappingModeProperty = nullptr;
s_SpreadMethodProperty = nullptr;
Expand All @@ -121,12 +121,12 @@ void RadialGradientBrushProperties::OnEllipseRadiusPropertyChanged(
winrt::get_self<RadialGradientBrush>(owner)->OnEllipseRadiusPropertyChanged(args);
}

void RadialGradientBrushProperties::OnGradientOriginOffsetPropertyChanged(
void RadialGradientBrushProperties::OnGradientOriginPropertyChanged(
winrt::DependencyObject const& sender,
winrt::DependencyPropertyChangedEventArgs const& args)
{
auto owner = sender.as<winrt::RadialGradientBrush>();
winrt::get_self<RadialGradientBrush>(owner)->OnGradientOriginOffsetPropertyChanged(args);
winrt::get_self<RadialGradientBrush>(owner)->OnGradientOriginPropertyChanged(args);
}

void RadialGradientBrushProperties::OnInterpolationSpacePropertyChanged(
Expand Down Expand Up @@ -173,14 +173,14 @@ winrt::Point RadialGradientBrushProperties::EllipseRadius()
return ValueHelper<winrt::Point>::CastOrUnbox(static_cast<RadialGradientBrush*>(this)->GetValue(s_EllipseRadiusProperty));
}

void RadialGradientBrushProperties::GradientOriginOffset(winrt::Point const& value)
void RadialGradientBrushProperties::GradientOrigin(winrt::Point const& value)
{
static_cast<RadialGradientBrush*>(this)->SetValue(s_GradientOriginOffsetProperty, ValueHelper<winrt::Point>::BoxValueIfNecessary(value));
static_cast<RadialGradientBrush*>(this)->SetValue(s_GradientOriginProperty, ValueHelper<winrt::Point>::BoxValueIfNecessary(value));
}

winrt::Point RadialGradientBrushProperties::GradientOriginOffset()
winrt::Point RadialGradientBrushProperties::GradientOrigin()
{
return ValueHelper<winrt::Point>::CastOrUnbox(static_cast<RadialGradientBrush*>(this)->GetValue(s_GradientOriginOffsetProperty));
return ValueHelper<winrt::Point>::CastOrUnbox(static_cast<RadialGradientBrush*>(this)->GetValue(s_GradientOriginProperty));
}

void RadialGradientBrushProperties::InterpolationSpace(winrt::CompositionColorSpace const& value)
Expand Down
10 changes: 5 additions & 5 deletions dev/Generated/RadialGradientBrush.properties.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ class RadialGradientBrushProperties
void EllipseRadius(winrt::Point const& value);
winrt::Point EllipseRadius();

void GradientOriginOffset(winrt::Point const& value);
winrt::Point GradientOriginOffset();
void GradientOrigin(winrt::Point const& value);
winrt::Point GradientOrigin();

void InterpolationSpace(winrt::CompositionColorSpace const& value);
winrt::CompositionColorSpace InterpolationSpace();
Expand All @@ -29,14 +29,14 @@ class RadialGradientBrushProperties

static winrt::DependencyProperty EllipseCenterProperty() { return s_EllipseCenterProperty; }
static winrt::DependencyProperty EllipseRadiusProperty() { return s_EllipseRadiusProperty; }
static winrt::DependencyProperty GradientOriginOffsetProperty() { return s_GradientOriginOffsetProperty; }
static winrt::DependencyProperty GradientOriginProperty() { return s_GradientOriginProperty; }
static winrt::DependencyProperty InterpolationSpaceProperty() { return s_InterpolationSpaceProperty; }
static winrt::DependencyProperty MappingModeProperty() { return s_MappingModeProperty; }
static winrt::DependencyProperty SpreadMethodProperty() { return s_SpreadMethodProperty; }

static GlobalDependencyProperty s_EllipseCenterProperty;
static GlobalDependencyProperty s_EllipseRadiusProperty;
static GlobalDependencyProperty s_GradientOriginOffsetProperty;
static GlobalDependencyProperty s_GradientOriginProperty;
static GlobalDependencyProperty s_InterpolationSpaceProperty;
static GlobalDependencyProperty s_MappingModeProperty;
static GlobalDependencyProperty s_SpreadMethodProperty;
Expand All @@ -52,7 +52,7 @@ class RadialGradientBrushProperties
winrt::DependencyObject const& sender,
winrt::DependencyPropertyChangedEventArgs const& args);

static void OnGradientOriginOffsetPropertyChanged(
static void OnGradientOriginPropertyChanged(
winrt::DependencyObject const& sender,
winrt::DependencyPropertyChangedEventArgs const& args);

Expand Down
14 changes: 8 additions & 6 deletions dev/RadialGradientBrush/RadialGradientBrush.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -80,11 +80,11 @@ void RadialGradientBrush::OnEllipseRadiusPropertyChanged(const winrt::Dependency
}
}

void RadialGradientBrush::OnGradientOriginOffsetPropertyChanged(const winrt::DependencyPropertyChangedEventArgs& args)
void RadialGradientBrush::OnGradientOriginPropertyChanged(const winrt::DependencyPropertyChangedEventArgs& args)
{
if (SharedHelpers::IsCompositionRadialGradientBrushAvailable())
{
UpdateCompositionGradientOriginOffset();
UpdateCompositionGradientOrigin();
}
}

Expand Down Expand Up @@ -138,7 +138,7 @@ void RadialGradientBrush::EnsureCompositionBrush()

UpdateCompositionGradientEllipseCenter();
UpdateCompositionGradientEllipseRadius();
UpdateCompositionGradientOriginOffset();
UpdateCompositionGradientOrigin();
UpdateCompositionGradientStops();
UpdateCompositionGradientMappingMode();
UpdateCompositionInterpolationSpace();
Expand Down Expand Up @@ -197,14 +197,16 @@ void RadialGradientBrush::UpdateCompositionGradientMappingMode()
}
}

void RadialGradientBrush::UpdateCompositionGradientOriginOffset()
void RadialGradientBrush::UpdateCompositionGradientOrigin()
{
MUX_ASSERT(SharedHelpers::IsCompositionRadialGradientBrushAvailable());

if (const auto compositionGradientBrush = m_brush.try_as<winrt::CompositionRadialGradientBrush>())
{
const auto gradientOriginOffset = GradientOriginOffset();
compositionGradientBrush.GradientOriginOffset(winrt::float2(gradientOriginOffset.X, gradientOriginOffset.Y));
const auto gradientOrigin = GradientOrigin();
// This sets the gradient offset center to the top left corner
// Top Left is (-0.5,-0.5), center is (0,0)
compositionGradientBrush.GradientOriginOffset(winrt::float2(gradientOrigin.X - 0.5f, gradientOrigin.Y - 0.5f));
}
}

Expand Down
4 changes: 2 additions & 2 deletions dev/RadialGradientBrush/RadialGradientBrush.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ class RadialGradientBrush :

void OnEllipseCenterPropertyChanged(const winrt::DependencyPropertyChangedEventArgs& args);
void OnEllipseRadiusPropertyChanged(const winrt::DependencyPropertyChangedEventArgs& args);
void OnGradientOriginOffsetPropertyChanged(const winrt::DependencyPropertyChangedEventArgs& args);
void OnGradientOriginPropertyChanged(const winrt::DependencyPropertyChangedEventArgs& args);
void OnMappingModePropertyChanged(const winrt::DependencyPropertyChangedEventArgs& args);
void OnInterpolationSpacePropertyChanged(const winrt::DependencyPropertyChangedEventArgs& args);
void OnSpreadMethodPropertyChanged(const winrt::DependencyPropertyChangedEventArgs& args);
Expand All @@ -46,7 +46,7 @@ class RadialGradientBrush :
void UpdateCompositionGradientEllipseCenter();
void UpdateCompositionGradientEllipseRadius();
void UpdateCompositionGradientMappingMode();
void UpdateCompositionGradientOriginOffset();
void UpdateCompositionGradientOrigin();
void UpdateCompositionGradientStops();
void UpdateCompositionInterpolationSpace();
void UpdateCompositionExtendMode();
Expand Down
5 changes: 3 additions & 2 deletions dev/RadialGradientBrush/RadialGradientBrush.idl
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ unsealed runtimeclass RadialGradientBrush : Windows.UI.Xaml.Media.XamlCompositio
Windows.Foundation.Point EllipseRadius { get; set; };

[MUX_PROPERTY_CHANGED_CALLBACK(TRUE)]
Windows.Foundation.Point GradientOriginOffset { get; set; };
[MUX_DEFAULT_VALUE("winrt::Point(0.5,0.5)")]
Windows.Foundation.Point GradientOrigin { get; set; };

[MUX_PROPERTY_CHANGED_CALLBACK(TRUE)]
[MUX_DEFAULT_VALUE("winrt::BrushMappingMode::RelativeToBoundingBox")]
Expand All @@ -35,7 +36,7 @@ unsealed runtimeclass RadialGradientBrush : Windows.UI.Xaml.Media.XamlCompositio

static Windows.UI.Xaml.DependencyProperty EllipseCenterProperty { get; };
static Windows.UI.Xaml.DependencyProperty EllipseRadiusProperty { get; };
static Windows.UI.Xaml.DependencyProperty GradientOriginOffsetProperty { get; };
static Windows.UI.Xaml.DependencyProperty GradientOriginProperty { get; };
static Windows.UI.Xaml.DependencyProperty InterpolationSpaceProperty { get; };
static Windows.UI.Xaml.DependencyProperty MappingModeProperty { get; };
static Windows.UI.Xaml.DependencyProperty SpreadMethodProperty { get; };
Expand Down
4 changes: 2 additions & 2 deletions dev/RadialGradientBrush/TestUI/RadialGradientBrushPage.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,8 @@
<TextBlock Text="{x:Bind DynamicGradientBrush.MappingMode}" Grid.Row="0" Grid.Column="1" />
<TextBlock Text="GradientStops.Count: " Grid.Row="1" />
<TextBlock Text="{x:Bind DynamicGradientBrush.GradientStops.Count}" Grid.Row="1" Grid.Column="1" x:Name="GradientStopCountText" AutomationProperties.Name="GradientStopCountText" />
<TextBlock Text="GradientOriginOffset: " Grid.Row="2" />
<TextBlock Text="{x:Bind DynamicGradientBrush.GradientOriginOffset}" Grid.Row="2" Grid.Column="1" />
<TextBlock Text="GradientOrigin: " Grid.Row="2" />
<TextBlock Text="{x:Bind DynamicGradientBrush.GradientOrigin}" Grid.Row="2" Grid.Column="1" />
<TextBlock Text="EllipseCenter: " Grid.Row="3" />
<TextBlock Text="{x:Bind DynamicGradientBrush.EllipseCenter}" Grid.Row="3" Grid.Column="1" />
<TextBlock Text="EllipseRadius: " Grid.Row="4" />
Expand Down
10 changes: 5 additions & 5 deletions dev/RadialGradientBrush/TestUI/RadialGradientBrushPage.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ private void RemoveGradientStopButton_Click(object sender, RoutedEventArgs e)

private void RandomizeGradientOriginButton_Click(object sender, RoutedEventArgs e)
{
RandomizeGradientOriginOffset(DynamicGradientBrush);
RandomizeGradientOrigin(DynamicGradientBrush);
}

private void RandomizeEllipseCenterButton_Click(object sender, RoutedEventArgs e)
Expand Down Expand Up @@ -198,17 +198,17 @@ private void RemoveRandomGradientStop(RadialGradientBrush gradientBrush)
}
}

private void RandomizeGradientOriginOffset(RadialGradientBrush gradientBrush)
private void RandomizeGradientOrigin(RadialGradientBrush gradientBrush)
{
if (gradientBrush != null)
{
if (gradientBrush.MappingMode == BrushMappingMode.Absolute)
{
gradientBrush.GradientOriginOffset = new Point(_random.Next(0, 100), _random.Next(0, 100));
gradientBrush.GradientOrigin = new Point(_random.Next(0, 100), _random.Next(0, 100));
}
else
{
gradientBrush.GradientOriginOffset = new Point(_random.Next(-100, 100) / 100f, _random.Next(-100, 100) / 100f);
gradientBrush.GradientOrigin = new Point(_random.Next(-100, 100) / 100f, _random.Next(-100, 100) / 100f);
}
}
}
Expand Down Expand Up @@ -251,7 +251,7 @@ private void ToggleMappingMode(RadialGradientBrush gradientBrush)

RandomizeEllipseCenter(gradientBrush);
RandomizeEllipseRadius(gradientBrush);
RandomizeGradientOriginOffset(gradientBrush);
RandomizeGradientOrigin(gradientBrush);
}
}

Expand Down

0 comments on commit 9660811

Please sign in to comment.