mirror of
https://github.com/cyanfish/naps2.git
synced 2024-09-17 10:47:11 +03:00
Implement more image forms
This commit is contained in:
parent
5c78d79657
commit
3d601d0a53
@ -24,6 +24,8 @@ public class MacIconProvider : IIconProvider
|
||||
{ "weather_sun", "sun.max" },
|
||||
{ "contrast_with_sun", "sun.max" },
|
||||
{ "color_management", "paintpalette" },
|
||||
{ "color_wheel", "paintpalette" },
|
||||
{ "color_gradient", "square.righthalf.filled" },
|
||||
{ "contrast", "circle.righthalf.filled" },
|
||||
{ "contrast_high", "circle.righthalf.filled" },
|
||||
{ "sharpen", "rhombus" },
|
||||
|
@ -23,9 +23,9 @@ public class DesktopSubFormController : IDesktopSubFormController
|
||||
|
||||
public void ShowCropForm() => ShowImageForm<FCrop>();
|
||||
public void ShowBrightnessContrastForm() => ShowImageForm2<BrightContForm>();
|
||||
public void ShowHueSaturationForm() => ShowImageForm<FHueSaturation>();
|
||||
public void ShowBlackWhiteForm() => ShowImageForm<FBlackWhite>();
|
||||
public void ShowSharpenForm() => ShowImageForm<FSharpen>();
|
||||
public void ShowHueSaturationForm() => ShowImageForm2<HueSatForm>();
|
||||
public void ShowBlackWhiteForm() => ShowImageForm2<BlackWhiteForm>();
|
||||
public void ShowSharpenForm() => ShowImageForm2<SharpenForm>();
|
||||
public void ShowRotateForm() => ShowImageForm<FRotate>();
|
||||
|
||||
private void ShowImageForm<T>() where T : ImageForm
|
||||
|
@ -38,14 +38,17 @@ public class StubDesktopSubFormController : IDesktopSubFormController
|
||||
|
||||
public void ShowHueSaturationForm()
|
||||
{
|
||||
ShowImageForm<HueSatForm>();
|
||||
}
|
||||
|
||||
public void ShowBlackWhiteForm()
|
||||
{
|
||||
ShowImageForm<BlackWhiteForm>();
|
||||
}
|
||||
|
||||
public void ShowSharpenForm()
|
||||
{
|
||||
ShowImageForm<SharpenForm>();
|
||||
}
|
||||
|
||||
public void ShowRotateForm()
|
||||
|
19
NAPS2.Lib/EtoForms/Ui/BlackWhiteForm.cs
Normal file
19
NAPS2.Lib/EtoForms/Ui/BlackWhiteForm.cs
Normal file
@ -0,0 +1,19 @@
|
||||
namespace NAPS2.EtoForms.Ui;
|
||||
|
||||
public class BlackWhiteForm : ImageFormBase
|
||||
{
|
||||
private readonly SliderWithTextBox _thresholdSlider = new();
|
||||
|
||||
public BlackWhiteForm(Naps2Config config, ThumbnailController thumbnailController, IIconProvider iconProvider) :
|
||||
base(config, thumbnailController)
|
||||
{
|
||||
_thresholdSlider.Icon = iconProvider.GetIcon("contrast_high");
|
||||
Sliders = new[] { _thresholdSlider };
|
||||
}
|
||||
|
||||
protected override IEnumerable<Transform> Transforms =>
|
||||
new Transform[]
|
||||
{
|
||||
new BlackWhiteTransform(_thresholdSlider.Value)
|
||||
};
|
||||
}
|
22
NAPS2.Lib/EtoForms/Ui/HueSatForm.cs
Normal file
22
NAPS2.Lib/EtoForms/Ui/HueSatForm.cs
Normal file
@ -0,0 +1,22 @@
|
||||
namespace NAPS2.EtoForms.Ui;
|
||||
|
||||
public class HueSatForm : ImageFormBase
|
||||
{
|
||||
private readonly SliderWithTextBox _hueSlider = new();
|
||||
private readonly SliderWithTextBox _saturationSlider = new();
|
||||
|
||||
public HueSatForm(Naps2Config config, ThumbnailController thumbnailController, IIconProvider iconProvider) :
|
||||
base(config, thumbnailController)
|
||||
{
|
||||
_hueSlider.Icon = iconProvider.GetIcon("color_wheel");
|
||||
_saturationSlider.Icon = iconProvider.GetIcon("color_gradient");
|
||||
Sliders = new[] { _hueSlider, _saturationSlider };
|
||||
}
|
||||
|
||||
protected override IEnumerable<Transform> Transforms =>
|
||||
new Transform[]
|
||||
{
|
||||
new HueTransform(_hueSlider.Value),
|
||||
new SaturationTransform(_saturationSlider.Value)
|
||||
};
|
||||
}
|
@ -72,7 +72,7 @@ public abstract class ImageFormBase : EtoDialogBase
|
||||
{
|
||||
}
|
||||
|
||||
protected override void OnLoad(EventArgs e)
|
||||
protected override void OnPreLoad(EventArgs e)
|
||||
{
|
||||
foreach (var slider in Sliders)
|
||||
{
|
||||
@ -90,6 +90,12 @@ public abstract class ImageFormBase : EtoDialogBase
|
||||
C.OkButton(this, beforeClose: Apply)
|
||||
)
|
||||
);
|
||||
|
||||
base.OnPreLoad(e);
|
||||
}
|
||||
|
||||
protected override void OnLoad(EventArgs e)
|
||||
{
|
||||
base.OnLoad(e);
|
||||
_applyToSelected.Text = string.Format(UiStrings.ApplyToSelected, SelectedImages?.Count);
|
||||
|
||||
|
19
NAPS2.Lib/EtoForms/Ui/SharpenForm.cs
Normal file
19
NAPS2.Lib/EtoForms/Ui/SharpenForm.cs
Normal file
@ -0,0 +1,19 @@
|
||||
namespace NAPS2.EtoForms.Ui;
|
||||
|
||||
public class SharpenForm : ImageFormBase
|
||||
{
|
||||
private readonly SliderWithTextBox _sharpenSlider = new();
|
||||
|
||||
public SharpenForm(Naps2Config config, ThumbnailController thumbnailController, IIconProvider iconProvider) :
|
||||
base(config, thumbnailController)
|
||||
{
|
||||
_sharpenSlider.Icon = iconProvider.GetIcon("sharpen");
|
||||
Sliders = new[] { _sharpenSlider };
|
||||
}
|
||||
|
||||
protected override IEnumerable<Transform> Transforms =>
|
||||
new Transform[]
|
||||
{
|
||||
new SharpenTransform(_sharpenSlider.Value)
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue
Block a user