Add sky color opacity slider

This commit is contained in:
SiboVG 2023-03-30 01:28:26 +02:00
parent 0d0eabd8a2
commit 24605bde58
3 changed files with 26 additions and 5 deletions

View File

@ -2334,6 +2334,7 @@ PhotoSettingsConfig.lbl.lightAz = Light Azimuth
PhotoSettingsConfig.lbl.lightAlt = Light Altitude
PhotoSettingsConfig.lbl.sky = Sky
PhotoSettingsConfig.lbl.skyColor = Sky Color
PhotoSettingsConfig.lbl.skyColorOpacity = Sky Color Opacity
PhotoSettingsConfig.lbl.skyImage = Sky Image
PhotoSettingsConfig.lbl.skyCredit = Image Credit

View File

@ -24,6 +24,7 @@ public class PhotoSettings extends AbstractChangeSource implements FlameSettings
private double ambiance = .3f;
private Color skyColor = new Color(55, 95, 155);
private double skyColorOpacity = 1.0;
private boolean motionBlurred = false;
@ -186,9 +187,20 @@ public class PhotoSettings extends AbstractChangeSource implements FlameSettings
public void setSkyColor(Color skyColor) {
this.skyColor = skyColor;
this.skyColorOpacity = skyColor.getAlpha() / 255f;
fireChangeEvent();
}
public double getSkyColorOpacity() {
return skyColorOpacity;
}
public void setSkyColorOpacity(double skyColorOpacity) {
this.skyColorOpacity = skyColorOpacity;
skyColor.setAlpha((int) (skyColorOpacity * 255));
fireChangeEvent();
}
public Color getFlameColor() {
return flameColor;
}

View File

@ -256,10 +256,10 @@ public class PhotoSettingsConfig extends JTabbedPane {
/// Light altitude
add(new JLabel(trans.get("PhotoSettingsConfig.lbl.lightAlt")));
DoubleModel lightAltModle = new DoubleModel(p, "LightAlt", UnitGroup.UNITS_ANGLE, -Math.PI / 2, Math.PI / 2);
add(new EditableSpinner(lightAltModle.getSpinnerModel()), "growx, split 2");
add(new UnitSelector(lightAltModle));
add(new BasicSlider(lightAltModle.getSliderModel(-Math.PI / 2, Math.PI / 2)), "wrap");
DoubleModel lightAltModel = new DoubleModel(p, "LightAlt", UnitGroup.UNITS_ANGLE, -Math.PI / 2, Math.PI / 2);
add(new EditableSpinner(lightAltModel.getSpinnerModel()), "growx, split 2");
add(new UnitSelector(lightAltModel));
add(new BasicSlider(lightAltModel.getSliderModel(-Math.PI / 2, Math.PI / 2)), "wrap");
// Sky
add(new StyledLabel(trans.get("PhotoSettingsConfig.lbl.sky"), Style.BOLD), "split, span, gapright para");
@ -269,6 +269,14 @@ public class PhotoSettingsConfig extends JTabbedPane {
add(new JLabel(trans.get("PhotoSettingsConfig.lbl.skyColor")));
add(skyColorButton, "wrap");
/// Sky color opacity
add(new JLabel(trans.get("PhotoSettingsConfig.lbl.skyColorOpacity")));
DoubleModel skyColorOpacityModel = new DoubleModel(p, "SkyColorOpacity", UnitGroup.UNITS_RELATIVE, 0, 1);
add(new EditableSpinner(skyColorOpacityModel.getSpinnerModel()), "growx, split 2");
add(new UnitSelector(skyColorOpacityModel));
add(new BasicSlider(skyColorOpacityModel.getSliderModel()), "wrap");
p.addChangeListener(skyColorOpacityModel);
/// Sky image
add(new JLabel(trans.get("PhotoSettingsConfig.lbl.skyImage")));