Browse Source

Maybe making canvas transparent while picking from reference layer is less confusing?

CPKreuz 2 years ago
parent
commit
82995efc9f

+ 18 - 4
src/PixiEditor/ViewModels/SubViewModels/Tools/Tools/ColorPickerToolViewModel.cs

@@ -24,17 +24,31 @@ internal class ColorPickerToolViewModel : ToolViewModel
     private bool pickFromCanvas = true;
     public bool PickFromCanvas
     {
-        get => pickFromCanvas; 
-        private set => SetProperty(ref pickFromCanvas, value);
+        get => pickFromCanvas;
+        private set
+        {
+            if (SetProperty(ref pickFromCanvas, value))
+            {
+                RaisePropertyChanged(nameof(PickOnlyFromReferenceLayer));
+            }
+        }
     }
     
     private bool pickFromReferenceLayer = true;
     public bool PickFromReferenceLayer
     {
-        get => pickFromReferenceLayer; 
-        private set => SetProperty(ref pickFromReferenceLayer, value);
+        get => pickFromReferenceLayer;
+        private set
+        {
+            if (SetProperty(ref pickFromReferenceLayer, value))
+            {
+                RaisePropertyChanged(nameof(PickOnlyFromReferenceLayer));
+            }
+        }
     }
 
+    public bool PickOnlyFromReferenceLayer => !pickFromCanvas && pickFromReferenceLayer;
+
     [Settings.Enum("SCOPE_LABEL", DocumentScope.AllLayers)]
     public DocumentScope Mode => GetValue<DocumentScope>();
 

+ 1 - 1
src/PixiEditor/Views/UserControls/Viewport.xaml

@@ -175,7 +175,7 @@
                         Width="{Binding Document.Width}"
                         Height="{Binding Document.Height}"
                         Source="{Binding TargetBitmap}"
-                        Visibility="{Binding Source={vm:ToolVM ColorPickerToolViewModel}, Path=PickFromCanvas, Converter={converters:BoolToHiddenVisibilityConverter}}"
+                        Opacity="{Binding Source={vm:ToolVM ColorPickerToolViewModel}, Path=PickOnlyFromReferenceLayer, Mode=OneWay, Converter={converters:BoolToValueConverter FalseValue=1.0, TrueValue=0.1}}"
                         RenderOptions.BitmapScalingMode="{Binding Zoombox.Scale, Converter={converters:ScaleToBitmapScalingModeConverter}}"/>
                     <Grid ZIndex="5">
                         <symOverlay:SymmetryOverlay