Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/xamarin/Xamarin.PropertyEditing.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Maupin <ermaup@microsoft.com>2019-01-18 20:30:10 +0300
committerEric Maupin <ermaup@microsoft.com>2019-01-18 20:30:10 +0300
commitbbc4132eb17bf3fdbb27ba6a19d012c41b03cb29 (patch)
tree0f4fdd7077743b58cacc2a6cc0b2afbd4e88e6a4 /Xamarin.PropertyEditing.Mac
parentec3693722ea01347f8ad6c3ace9afbedde10b413 (diff)
[mac] Inherit appearance for brush popup
Diffstat (limited to 'Xamarin.PropertyEditing.Mac')
-rw-r--r--Xamarin.PropertyEditing.Mac/Controls/BrushEditorControl.cs10
-rw-r--r--Xamarin.PropertyEditing.Mac/HostResourceProvider.cs11
-rw-r--r--Xamarin.PropertyEditing.Mac/IHostResourceProvider.cs2
3 files changed, 23 insertions, 0 deletions
diff --git a/Xamarin.PropertyEditing.Mac/Controls/BrushEditorControl.cs b/Xamarin.PropertyEditing.Mac/Controls/BrushEditorControl.cs
index 6007fdc..67f8e6a 100644
--- a/Xamarin.PropertyEditing.Mac/Controls/BrushEditorControl.cs
+++ b/Xamarin.PropertyEditing.Mac/Controls/BrushEditorControl.cs
@@ -80,6 +80,16 @@ namespace Xamarin.PropertyEditing.Mac
NSLayoutConstraint.Create (this.popUpButton, NSLayoutAttribute.Width, NSLayoutRelation.Equal, this, NSLayoutAttribute.Width, 1f, -33f),
NSLayoutConstraint.Create (this.popUpButton, NSLayoutAttribute.Height, NSLayoutRelation.Equal, 1f, DefaultControlHeight - 3),
});
+
+ ViewDidChangeEffectiveAppearance ();
+ }
+
+ public override void ViewDidChangeEffectiveAppearance ()
+ {
+ base.ViewDidChangeEffectiveAppearance ();
+
+ this.popover.SetAppearance (HostResources.GetVibrantAppearance (EffectiveAppearance));
+ this.popover.ContentViewController.View.Appearance = EffectiveAppearance;
}
readonly ColorPopUpButton popUpButton;
diff --git a/Xamarin.PropertyEditing.Mac/HostResourceProvider.cs b/Xamarin.PropertyEditing.Mac/HostResourceProvider.cs
index 57e1236..591c46d 100644
--- a/Xamarin.PropertyEditing.Mac/HostResourceProvider.cs
+++ b/Xamarin.PropertyEditing.Mac/HostResourceProvider.cs
@@ -7,6 +7,17 @@ namespace Xamarin.PropertyEditing.Mac
public class HostResourceProvider
: IHostResourceProvider
{
+ public virtual NSAppearance GetVibrantAppearance (NSAppearance appearance)
+ {
+ if (appearance == null)
+ throw new ArgumentNullException (nameof (appearance));
+
+ if (appearance.Name == NSAppearance.NameDarkAqua || appearance.Name == NSAppearance.NameVibrantDark)
+ return NSAppearance.GetAppearance (NSAppearance.NameVibrantDark);
+
+ return NSAppearance.GetAppearance (NSAppearance.NameVibrantLight);
+ }
+
public virtual NSColor GetNamedColor (string name)
{
return NSColor.FromName (name);
diff --git a/Xamarin.PropertyEditing.Mac/IHostResourceProvider.cs b/Xamarin.PropertyEditing.Mac/IHostResourceProvider.cs
index 46e7040..3fb3619 100644
--- a/Xamarin.PropertyEditing.Mac/IHostResourceProvider.cs
+++ b/Xamarin.PropertyEditing.Mac/IHostResourceProvider.cs
@@ -5,6 +5,8 @@ namespace Xamarin.PropertyEditing.Mac
{
public interface IHostResourceProvider
{
+ NSAppearance GetVibrantAppearance (NSAppearance appearance);
+
NSColor GetNamedColor (string name);
NSImage GetNamedImage (string name);
NSFont GetNamedFont (string name, nfloat fontSize);