Rename custom color class to ORColor

This commit is contained in:
SiboVG 2023-11-19 00:47:55 +01:00
parent 7fe41ed0ae
commit 9c163fa551
36 changed files with 247 additions and 245 deletions

1
.idea/misc.xml generated
View File

@ -1,4 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" project-jdk-name="17" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_17" project-jdk-name="17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" /> <output url="file://$PROJECT_DIR$/out" />

View File

@ -1,6 +1,6 @@
package net.sf.openrocket.appearance; package net.sf.openrocket.appearance;
import net.sf.openrocket.util.Color; import net.sf.openrocket.util.ORColor;
import net.sf.openrocket.util.MathUtil; import net.sf.openrocket.util.MathUtil;
/** /**
@ -10,9 +10,9 @@ import net.sf.openrocket.util.MathUtil;
* @author Bill Kuker <bkuker@billkuker.com> * @author Bill Kuker <bkuker@billkuker.com>
*/ */
public class Appearance { public class Appearance {
public static final Appearance MISSING = new Appearance(new Color(0, 0, 0), 1, null); public static final Appearance MISSING = new Appearance(new ORColor(0, 0, 0), 1, null);
private final Color paint; private final ORColor paint;
private final double shine; private final double shine;
private final Decal texture; private final Decal texture;
@ -23,7 +23,7 @@ public class Appearance {
* @param shine shine of the appearance, will be clamped between 0 and 1 * @param shine shine of the appearance, will be clamped between 0 and 1
* @param texture The appearance texture * @param texture The appearance texture
*/ */
public Appearance(final Color paint, final double shine, final Decal texture) { public Appearance(final ORColor paint, final double shine, final Decal texture) {
this.paint = paint; this.paint = paint;
this.shine = MathUtil.clamp(shine, 0, 1); this.shine = MathUtil.clamp(shine, 0, 1);
this.texture = texture; this.texture = texture;
@ -35,14 +35,14 @@ public class Appearance {
* @param paint the color to be used * @param paint the color to be used
* @param shine shine of the appearance, will be clamped between 0 and 1 * @param shine shine of the appearance, will be clamped between 0 and 1
*/ */
public Appearance(final Color paint, final double shine) { public Appearance(final ORColor paint, final double shine) {
this(paint,shine,null); this(paint,shine,null);
} }
/** /**
* @return color of the appearance * @return color of the appearance
*/ */
public Color getPaint() { public ORColor getPaint() {
return paint; return paint;
} }

View File

@ -3,7 +3,7 @@ package net.sf.openrocket.appearance;
import net.sf.openrocket.appearance.Decal.EdgeMode; import net.sf.openrocket.appearance.Decal.EdgeMode;
import net.sf.openrocket.rocketcomponent.RocketComponent; import net.sf.openrocket.rocketcomponent.RocketComponent;
import net.sf.openrocket.util.AbstractChangeSource; import net.sf.openrocket.util.AbstractChangeSource;
import net.sf.openrocket.util.Color; import net.sf.openrocket.util.ORColor;
import net.sf.openrocket.util.Coordinate; import net.sf.openrocket.util.Coordinate;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
@ -22,7 +22,7 @@ import java.util.Map;
*/ */
public class AppearanceBuilder extends AbstractChangeSource { public class AppearanceBuilder extends AbstractChangeSource {
private Color paint; //current cached color private ORColor paint; //current cached color
private double shine; //current cached shine private double shine; //current cached shine
private double offsetU, offsetV;//current offset to be used private double offsetU, offsetV;//current offset to be used
private double centerU, centerV;//current values for the center of the appearance private double centerU, centerV;//current values for the center of the appearance
@ -62,7 +62,7 @@ public class AppearanceBuilder extends AbstractChangeSource {
* Clears the builder cache and set to build blank appearances * Clears the builder cache and set to build blank appearances
*/ */
private void resetToDefaults() { private void resetToDefaults() {
paint = new Color(187, 187, 187); paint = new ORColor(187, 187, 187);
shine = 0.3; shine = 0.3;
offsetU = offsetV = 0; offsetU = offsetV = 0;
centerU = centerV = 0; centerU = centerV = 0;
@ -144,7 +144,7 @@ public class AppearanceBuilder extends AbstractChangeSource {
* *
* return the color used in the current paint * return the color used in the current paint
*/ */
public Color getPaint() { public ORColor getPaint() {
return paint; return paint;
} }
@ -154,7 +154,7 @@ public class AppearanceBuilder extends AbstractChangeSource {
* *
* @param paint the new color * @param paint the new color
*/ */
public void setPaint(Color paint) { public void setPaint(ORColor paint) {
for (AppearanceBuilder listener : configListeners.values()) { for (AppearanceBuilder listener : configListeners.values()) {
listener.setPaint(paint); listener.setPaint(paint);
} }
@ -218,7 +218,7 @@ public class AppearanceBuilder extends AbstractChangeSource {
// Instead of simply setting the alpha, we need to create a new color with the new alpha value, otherwise undoing // Instead of simply setting the alpha, we need to create a new color with the new alpha value, otherwise undoing
// the setOpacity will not work correctly. (don't ask me why) // the setOpacity will not work correctly. (don't ask me why)
Color c = new Color(paint.getRed(), paint.getGreen(), paint.getBlue(), (int) (opacity * 255)); ORColor c = new ORColor(paint.getRed(), paint.getGreen(), paint.getBlue(), (int) (opacity * 255));
setPaint(c); setPaint(c);
} }

View File

@ -20,7 +20,7 @@ import net.sf.openrocket.rocketcomponent.RocketComponent;
import net.sf.openrocket.rocketcomponent.Transition; import net.sf.openrocket.rocketcomponent.Transition;
import net.sf.openrocket.rocketcomponent.TubeCoupler; import net.sf.openrocket.rocketcomponent.TubeCoupler;
import net.sf.openrocket.rocketcomponent.TubeFinSet; import net.sf.openrocket.rocketcomponent.TubeFinSet;
import net.sf.openrocket.util.Color; import net.sf.openrocket.util.ORColor;
import net.sf.openrocket.util.Coordinate; import net.sf.openrocket.util.Coordinate;
/** /**
@ -41,7 +41,7 @@ public class DefaultAppearance {
*/ */
private static Appearance simple(String resource) { private static Appearance simple(String resource) {
return new Appearance( return new Appearance(
new Color(1, 1, 1), new ORColor(1, 1, 1),
0, 0,
new Decal( new Decal(
new Coordinate(0, 0), new Coordinate(0, 0),
@ -59,7 +59,7 @@ public class DefaultAppearance {
* @param resource the file path to the image * @param resource the file path to the image
* @return The appearance with custom color and shine. * @return The appearance with custom color and shine.
*/ */
private static Appearance simpleAlpha(Color base, float shine, String resource) { private static Appearance simpleAlpha(ORColor base, float shine, String resource) {
return new Appearance( return new Appearance(
base, base,
shine, shine,
@ -80,16 +80,16 @@ public class DefaultAppearance {
private static final Appearance CHUTE = simple("/datafiles/textures/chute.jpg"); private static final Appearance CHUTE = simple("/datafiles/textures/chute.jpg");
private static final Appearance ESTES_BT = simpleAlpha(new Color(212, 185, 145), .3f, "/datafiles/textures/spiral-wound-alpha.png"); private static final Appearance ESTES_BT = simpleAlpha(new ORColor(212, 185, 145), .3f, "/datafiles/textures/spiral-wound-alpha.png");
private static final Appearance ESTES_IT = simpleAlpha(new Color(168, 146, 116), .1f, "/datafiles/textures/spiral-wound-alpha.png"); private static final Appearance ESTES_IT = simpleAlpha(new ORColor(168, 146, 116), .1f, "/datafiles/textures/spiral-wound-alpha.png");
private static final Appearance WHITE_BT = simpleAlpha(new Color(240, 240, 240), .3f, "/datafiles/textures/spiral-wound-alpha.png"); private static final Appearance WHITE_BT = simpleAlpha(new ORColor(240, 240, 240), .3f, "/datafiles/textures/spiral-wound-alpha.png");
private static final Appearance ESTES_MOTOR = simple("/datafiles/textures/motors/estes.jpg"); private static final Appearance ESTES_MOTOR = simple("/datafiles/textures/motors/estes.jpg");
private static final Appearance AEROTECH_MOTOR = simple("/datafiles/textures/motors/aerotech.png"); private static final Appearance AEROTECH_MOTOR = simple("/datafiles/textures/motors/aerotech.png");
private static final Appearance KLIMA_MOTOR = simple("/datafiles/textures/motors/klima.jpg"); private static final Appearance KLIMA_MOTOR = simple("/datafiles/textures/motors/klima.jpg");
private static final Appearance REUSABLE_MOTOR = simpleAlpha(new Color(195, 60, 50), .6f, "/datafiles/textures/motors/reusable.png"); private static final Appearance REUSABLE_MOTOR = simpleAlpha(new ORColor(195, 60, 50), .6f, "/datafiles/textures/motors/reusable.png");
private static final HashMap<Color, Appearance> plastics = new HashMap<Color, Appearance>(); private static final HashMap<ORColor, Appearance> plastics = new HashMap<ORColor, Appearance>();
/** /**
* gets the appearance correspondent to the plastic with the given color * gets the appearance correspondent to the plastic with the given color
@ -97,7 +97,7 @@ public class DefaultAppearance {
* @param c the color of the plastics * @param c the color of the plastics
* @return The plastic appearance with the given color * @return The plastic appearance with the given color
*/ */
private static Appearance getPlastic(Color c) { private static Appearance getPlastic(ORColor c) {
if (!plastics.containsKey(c)) { if (!plastics.containsKey(c)) {
plastics.put(c, new Appearance(c, .3)); plastics.put(c, new Appearance(c, .3));
} }
@ -120,7 +120,7 @@ public class DefaultAppearance {
if (c instanceof LaunchLug) if (c instanceof LaunchLug)
return WHITE_BT; return WHITE_BT;
if (c instanceof Transition) if (c instanceof Transition)
return getPlastic(new Color(255, 255, 255)); return getPlastic(new ORColor(255, 255, 255));
if (c instanceof RadiusRingComponent) if (c instanceof RadiusRingComponent)
return WOOD; return WOOD;
if (c instanceof Parachute) if (c instanceof Parachute)
@ -130,7 +130,7 @@ public class DefaultAppearance {
if (c instanceof MassObject) if (c instanceof MassObject)
return WADDING; return WADDING;
if ( c instanceof RailButton ) if ( c instanceof RailButton )
return getPlastic(new Color(255, 255, 220)); return getPlastic(new ORColor(255, 255, 220));
return Appearance.MISSING; return Appearance.MISSING;
} }

View File

@ -11,7 +11,7 @@ import net.sf.openrocket.file.simplesax.AbstractElementHandler;
import net.sf.openrocket.file.simplesax.ElementHandler; import net.sf.openrocket.file.simplesax.ElementHandler;
import net.sf.openrocket.file.simplesax.PlainTextHandler; import net.sf.openrocket.file.simplesax.PlainTextHandler;
import net.sf.openrocket.rocketcomponent.RocketComponent; import net.sf.openrocket.rocketcomponent.RocketComponent;
import net.sf.openrocket.util.Color; import net.sf.openrocket.util.ORColor;
import org.xml.sax.SAXException; import org.xml.sax.SAXException;
@ -58,7 +58,7 @@ class AppearanceHandler extends AbstractElementHandler {
// "alpha" string was present so load the value // "alpha" string was present so load the value
alpha = Integer.parseInt(a); alpha = Integer.parseInt(a);
} }
builder.setPaint(new Color(red, green, blue, alpha)); builder.setPaint(new ORColor(red, green, blue, alpha));
return; return;
} }
if ("shine".equals(element)) { if ("shine".equals(element)) {

View File

@ -5,10 +5,10 @@ import java.util.HashMap;
import net.sf.openrocket.logging.Warning; import net.sf.openrocket.logging.Warning;
import net.sf.openrocket.logging.WarningSet; import net.sf.openrocket.logging.WarningSet;
import net.sf.openrocket.rocketcomponent.RocketComponent; import net.sf.openrocket.rocketcomponent.RocketComponent;
import net.sf.openrocket.util.Color; import net.sf.openrocket.util.ORColor;
import net.sf.openrocket.util.Reflection; import net.sf.openrocket.util.Reflection;
//// ColorSetter - sets a Color value //// ColorSetter - sets a ORColor value
class ColorSetter implements Setter { class ColorSetter implements Setter {
private final Reflection.Method setMethod; private final Reflection.Method setMethod;
@ -44,7 +44,7 @@ class ColorSetter implements Setter {
return; return;
} }
Color color = new Color(r, g, b); ORColor color = new ORColor(r, g, b);
setMethod.invoke(c, color); setMethod.invoke(c, color);
if (!s.trim().equals("")) { if (!s.trim().equals("")) {

View File

@ -45,7 +45,7 @@ import net.sf.openrocket.rocketcomponent.TrapezoidFinSet;
import net.sf.openrocket.rocketcomponent.TubeCoupler; import net.sf.openrocket.rocketcomponent.TubeCoupler;
import net.sf.openrocket.rocketcomponent.TubeFinSet; import net.sf.openrocket.rocketcomponent.TubeFinSet;
import net.sf.openrocket.util.BugException; import net.sf.openrocket.util.BugException;
import net.sf.openrocket.util.Color; import net.sf.openrocket.util.ORColor;
import net.sf.openrocket.util.LineStyle; import net.sf.openrocket.util.LineStyle;
import net.sf.openrocket.util.Reflection; import net.sf.openrocket.util.Reflection;
@ -116,7 +116,7 @@ class DocumentConfig {
setters.put("RocketComponent:id", new StringSetter( setters.put("RocketComponent:id", new StringSetter(
Reflection.findMethod(RocketComponent.class, "setID", String.class))); Reflection.findMethod(RocketComponent.class, "setID", String.class)));
setters.put("RocketComponent:color", new ColorSetter( setters.put("RocketComponent:color", new ColorSetter(
Reflection.findMethod(RocketComponent.class, "setColor", Color.class))); Reflection.findMethod(RocketComponent.class, "setColor", ORColor.class)));
setters.put("RocketComponent:linestyle", new EnumSetter<LineStyle>( setters.put("RocketComponent:linestyle", new EnumSetter<LineStyle>(
Reflection.findMethod(RocketComponent.class, "setLineStyle", LineStyle.class), Reflection.findMethod(RocketComponent.class, "setLineStyle", LineStyle.class),
LineStyle.class)); LineStyle.class));

View File

@ -1,6 +1,6 @@
package net.sf.openrocket.file.openrocket.savers; package net.sf.openrocket.file.openrocket.savers;
import net.sf.openrocket.util.Color; import net.sf.openrocket.util.ORColor;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -55,7 +55,7 @@ public class PhotoStudioSaver {
return elements; return elements;
} }
private static Color getColor(String content) { private static ORColor getColor(String content) {
if (content == null) return null; if (content == null) return null;
String[] values = content.split(" "); String[] values = content.split(" ");
if (values.length < 4) return null; if (values.length < 4) return null;
@ -64,11 +64,11 @@ public class PhotoStudioSaver {
int green = Integer.parseInt(values[1]); int green = Integer.parseInt(values[1]);
int blue = Integer.parseInt(values[2]); int blue = Integer.parseInt(values[2]);
int alpha = Integer.parseInt(values[3]); int alpha = Integer.parseInt(values[3]);
return new Color(red, green, blue, alpha); return new ORColor(red, green, blue, alpha);
} }
private static void emitColor(String elementName, List<String> elements, String content) { private static void emitColor(String elementName, List<String> elements, String content) {
Color color = getColor(content); ORColor color = getColor(content);
if (color != null) { if (color != null) {
elements.add("<" + elementName + " red=\"" + color.getRed() + "\" green=\"" + color.getGreen() elements.add("<" + elementName + " red=\"" + color.getRed() + "\" green=\"" + color.getGreen()
+ "\" blue=\"" + color.getBlue() + "\" alpha=\"" + color.getAlpha() + "\"/>"); + "\" blue=\"" + color.getBlue() + "\" alpha=\"" + color.getAlpha() + "\"/>");

View File

@ -22,7 +22,7 @@ import net.sf.openrocket.rocketcomponent.position.AxialMethod;
import net.sf.openrocket.rocketcomponent.position.RadiusPositionable; import net.sf.openrocket.rocketcomponent.position.RadiusPositionable;
import net.sf.openrocket.startup.Application; import net.sf.openrocket.startup.Application;
import net.sf.openrocket.util.BugException; import net.sf.openrocket.util.BugException;
import net.sf.openrocket.util.Color; import net.sf.openrocket.util.ORColor;
import net.sf.openrocket.util.Coordinate; import net.sf.openrocket.util.Coordinate;
import net.sf.openrocket.util.LineStyle; import net.sf.openrocket.util.LineStyle;
import net.sf.openrocket.util.TextUtil; import net.sf.openrocket.util.TextUtil;
@ -69,7 +69,7 @@ public class RocketComponentSaver {
// Save color and line style if significant // Save color and line style if significant
if (!(c instanceof Rocket || c instanceof ComponentAssembly)) { if (!(c instanceof Rocket || c instanceof ComponentAssembly)) {
Color color = c.getColor(); ORColor color = c.getColor();
emitColor("color", elements, color, 0); emitColor("color", elements, color, 0);
LineStyle style = c.getLineStyle(); LineStyle style = c.getLineStyle();
@ -156,7 +156,7 @@ public class RocketComponentSaver {
} }
private void buildAppearanceElements(List<String> elements, Appearance a) { private void buildAppearanceElements(List<String> elements, Appearance a) {
Color paint = a.getPaint(); ORColor paint = a.getPaint();
emitColor("paint", elements, paint, 1); emitColor("paint", elements, paint, 1);
appendElement(elements, "shine", a.getShine(), 1); appendElement(elements, "shine", a.getShine(), 1);
Decal decal = a.getTexture(); Decal decal = a.getTexture();
@ -271,7 +271,7 @@ public class RocketComponentSaver {
return elements; return elements;
} }
private final static void emitColor(String elementName, List<String> elements, Color color, int indents) { private final static void emitColor(String elementName, List<String> elements, ORColor color, int indents) {
if (color != null) { if (color != null) {
elements.add(OpenRocketSaver.INDENT.repeat(Math.max(0, indents)) + "<" + elementName + " red=\"" + color.getRed() + "\" green=\"" + color.getGreen() elements.add(OpenRocketSaver.INDENT.repeat(Math.max(0, indents)) + "<" + elementName + " red=\"" + color.getRed() + "\" green=\"" + color.getGreen()
+ "\" blue=\"" + color.getBlue() + "\" alpha=\"" + color.getAlpha() + "\"/>"); + "\" blue=\"" + color.getBlue() + "\" alpha=\"" + color.getAlpha() + "\"/>");

View File

@ -4,13 +4,12 @@ import net.sf.openrocket.file.motor.AbstractMotorLoader;
import net.sf.openrocket.logging.WarningSet; import net.sf.openrocket.logging.WarningSet;
import net.sf.openrocket.motor.Manufacturer; import net.sf.openrocket.motor.Manufacturer;
import net.sf.openrocket.motor.Motor; import net.sf.openrocket.motor.Motor;
import net.sf.openrocket.motor.MotorConfiguration;
import net.sf.openrocket.motor.ThrustCurveMotor; import net.sf.openrocket.motor.ThrustCurveMotor;
import net.sf.openrocket.rocketcomponent.DeploymentConfiguration; import net.sf.openrocket.rocketcomponent.DeploymentConfiguration;
import net.sf.openrocket.rocketcomponent.ExternalComponent; import net.sf.openrocket.rocketcomponent.ExternalComponent;
import net.sf.openrocket.rocketcomponent.FinSet; import net.sf.openrocket.rocketcomponent.FinSet;
import net.sf.openrocket.rocketcomponent.Transition; import net.sf.openrocket.rocketcomponent.Transition;
import net.sf.openrocket.util.Color; import net.sf.openrocket.util.ORColor;
import net.sf.openrocket.util.MathUtil; import net.sf.openrocket.util.MathUtil;
import java.util.HashMap; import java.util.HashMap;
@ -480,9 +479,9 @@ public class RASAeroCommonConstants {
return DeploymentConfiguration.DeployEvent.APOGEE; return DeploymentConfiguration.DeployEvent.APOGEE;
} }
public static String OPENROCKET_TO_RASAERO_COLOR(Color color) { public static String OPENROCKET_TO_RASAERO_COLOR(ORColor color) {
if (color != null) { if (color != null) {
if (color.equals(Color.BLACK)) { if (color.equals(ORColor.BLACK)) {
return "Black"; // Currently the only officially supported color by RASAero return "Black"; // Currently the only officially supported color by RASAero
} }
} }

View File

@ -1,7 +1,7 @@
package net.sf.openrocket.file.rasaero.importt; package net.sf.openrocket.file.rasaero.importt;
import net.sf.openrocket.rocketcomponent.RocketComponent; import net.sf.openrocket.rocketcomponent.RocketComponent;
import net.sf.openrocket.util.Color; import net.sf.openrocket.util.ORColor;
/** /**
* Handles the 2D outline color handling from RASAero. * Handles the 2D outline color handling from RASAero.
@ -18,10 +18,10 @@ public abstract class ColorHandler {
*/ */
public static void applyRASAeroColor(RocketComponent component, String color) { public static void applyRASAeroColor(RocketComponent component, String color) {
if ("Black".equals(color)) { if ("Black".equals(color)) {
component.setColor(Color.BLACK); component.setColor(ORColor.BLACK);
return; return;
} }
// Default to black // Default to black
component.setColor(Color.BLACK); component.setColor(ORColor.BLACK);
} }
} }

View File

@ -10,7 +10,7 @@ import net.sf.openrocket.appearance.Decal.EdgeMode;
import net.sf.openrocket.document.Attachment; import net.sf.openrocket.document.Attachment;
import net.sf.openrocket.file.DocumentLoadingContext; import net.sf.openrocket.file.DocumentLoadingContext;
import net.sf.openrocket.file.rocksim.RockSimCommonConstants; import net.sf.openrocket.file.rocksim.RockSimCommonConstants;
import net.sf.openrocket.util.Color; import net.sf.openrocket.util.ORColor;
public class RockSimAppearanceBuilder extends AppearanceBuilder { public class RockSimAppearanceBuilder extends AppearanceBuilder {
@ -124,32 +124,32 @@ public class RockSimAppearanceBuilder extends AppearanceBuilder {
} }
static Color weight(Color c, double w) { static ORColor weight(ORColor c, double w) {
return new Color((int) (c.getRed() * w), (int) (c.getGreen() * w), (int) (c.getBlue() * w), c.getAlpha()); return new ORColor((int) (c.getRed() * w), (int) (c.getGreen() * w), (int) (c.getBlue() * w), c.getAlpha());
} }
static Color parseColor(String s) { static ORColor parseColor(String s) {
// blue and white came from a real file. // blue and white came from a real file.
if ("blue".equals(s)) { if ("blue".equals(s)) {
return new Color(0, 0, 255); return new ORColor(0, 0, 255);
} }
if ("white".equals(s)) { if ("white".equals(s)) {
return new Color(255, 255, 255); return new ORColor(255, 255, 255);
} }
// I guessed these are valid color names in Rksim. // I guessed these are valid color names in Rksim.
if ("red".equals(s)) { if ("red".equals(s)) {
return new Color(255, 0, 0); return new ORColor(255, 0, 0);
} }
if ("green".equals(s)) { if ("green".equals(s)) {
return new Color(0, 255, 0); return new ORColor(0, 255, 0);
} }
if ("black".equals(s)) { if ("black".equals(s)) {
return new Color(0, 0, 0); return new ORColor(0, 0, 0);
} }
s = s.replace("rgb(", ""); s = s.replace("rgb(", "");
s = s.replace(")", ""); s = s.replace(")", "");
String[] ss = s.split(","); String[] ss = s.split(",");
return new Color(Integer.parseInt(ss[0]), Integer.parseInt(ss[1]), Integer.parseInt(ss[2])); return new ORColor(Integer.parseInt(ss[0]), Integer.parseInt(ss[1]), Integer.parseInt(ss[2]));
} }
public boolean isPreventSeam() { public boolean isPreventSeam() {

View File

@ -6,7 +6,7 @@ import net.sf.openrocket.appearance.DecalImage;
import net.sf.openrocket.file.wavefrontobj.DefaultMtl; import net.sf.openrocket.file.wavefrontobj.DefaultMtl;
import net.sf.openrocket.file.wavefrontobj.DefaultObj; import net.sf.openrocket.file.wavefrontobj.DefaultObj;
import net.sf.openrocket.file.wavefrontobj.DefaultTextureOptions; import net.sf.openrocket.file.wavefrontobj.DefaultTextureOptions;
import net.sf.openrocket.util.Color; import net.sf.openrocket.util.ORColor;
import net.sf.openrocket.util.Coordinate; import net.sf.openrocket.util.Coordinate;
import net.sf.openrocket.util.FileUtils; import net.sf.openrocket.util.FileUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -126,7 +126,7 @@ public class AppearanceExporter {
} }
private static void applyColoring(Appearance appearance, DefaultMtl material, OBJExportOptions options) { private static void applyColoring(Appearance appearance, DefaultMtl material, OBJExportOptions options) {
Color color = appearance.getPaint(); ORColor color = appearance.getPaint();
final float r = convertColorToFloat(color.getRed(), options.isUseSRGB()); final float r = convertColorToFloat(color.getRed(), options.isUseSRGB());
final float g = convertColorToFloat(color.getGreen(), options.isUseSRGB()); final float g = convertColorToFloat(color.getGreen(), options.isUseSRGB());
final float b = convertColorToFloat(color.getBlue(), options.isUseSRGB()); final float b = convertColorToFloat(color.getBlue(), options.isUseSRGB());

View File

@ -17,6 +17,7 @@ import net.sf.openrocket.aerodynamics.FlightConditions;
import net.sf.openrocket.logging.WarningSet; import net.sf.openrocket.logging.WarningSet;
import net.sf.openrocket.startup.Application; import net.sf.openrocket.startup.Application;
import net.sf.openrocket.startup.Preferences; import net.sf.openrocket.startup.Preferences;
import net.sf.openrocket.util.ORColor;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -30,7 +31,6 @@ import net.sf.openrocket.rocketcomponent.position.RadiusMethod;
import net.sf.openrocket.util.ArrayList; import net.sf.openrocket.util.ArrayList;
import net.sf.openrocket.util.BugException; import net.sf.openrocket.util.BugException;
import net.sf.openrocket.util.ChangeSource; import net.sf.openrocket.util.ChangeSource;
import net.sf.openrocket.util.Color;
import net.sf.openrocket.util.ComponentChangeAdapter; import net.sf.openrocket.util.ComponentChangeAdapter;
import net.sf.openrocket.util.Coordinate; import net.sf.openrocket.util.Coordinate;
import net.sf.openrocket.util.Invalidator; import net.sf.openrocket.util.Invalidator;
@ -99,8 +99,8 @@ public abstract class RocketComponent implements ChangeSource, Cloneable, Iterab
*/ */
protected Coordinate position = new Coordinate(); protected Coordinate position = new Coordinate();
// Color of the component, null means to use the default color // ORColor of the component, null means to use the default color
private Color color = null; private ORColor color = null;
private LineStyle lineStyle = null; private LineStyle lineStyle = null;
@ -520,7 +520,7 @@ public abstract class RocketComponent implements ChangeSource, Cloneable, Iterab
* Return the color of the object to use in 2D figures, or <code>null</code> * Return the color of the object to use in 2D figures, or <code>null</code>
* to use the default color. * to use the default color.
*/ */
public final Color getColor() { public final ORColor getColor() {
mutex.verify(); mutex.verify();
return color; return color;
} }
@ -528,7 +528,7 @@ public abstract class RocketComponent implements ChangeSource, Cloneable, Iterab
/** /**
* Set the color of the object to use in 2D figures. * Set the color of the object to use in 2D figures.
*/ */
public final void setColor(Color c) { public final void setColor(ORColor c) {
for (RocketComponent listener : configListeners) { for (RocketComponent listener : configListeners) {
listener.setColor(c); listener.setColor(c);
} }

View File

@ -24,7 +24,7 @@ import net.sf.openrocket.simulation.RK4SimulationStepper;
import net.sf.openrocket.util.BugException; import net.sf.openrocket.util.BugException;
import net.sf.openrocket.util.BuildProperties; import net.sf.openrocket.util.BuildProperties;
import net.sf.openrocket.util.ChangeSource; import net.sf.openrocket.util.ChangeSource;
import net.sf.openrocket.util.Color; import net.sf.openrocket.util.ORColor;
import net.sf.openrocket.util.GeodeticComputationStrategy; import net.sf.openrocket.util.GeodeticComputationStrategy;
import net.sf.openrocket.util.LineStyle; import net.sf.openrocket.util.LineStyle;
import net.sf.openrocket.util.MathUtil; import net.sf.openrocket.util.MathUtil;
@ -907,13 +907,13 @@ public abstract class Preferences implements ChangeSource {
} }
/** /**
* get a net.sf.openrocket.util.Color object for the given key. * get a net.sf.openrocket.util.ORColor object for the given key.
* @param key * @param key
* @param defaultValue * @param defaultValue
* @return * @return
*/ */
public final Color getColor(String key, Color defaultValue) { public final ORColor getColor(String key, ORColor defaultValue) {
Color c = parseColor(getString(key, null)); ORColor c = parseColor(getString(key, null));
if (c == null) { if (c == null) {
return defaultValue; return defaultValue;
} }
@ -921,20 +921,20 @@ public abstract class Preferences implements ChangeSource {
} }
/** /**
* set a net.sf.openrocket.util.Color preference value for the given key. * set a net.sf.openrocket.util.ORColor preference value for the given key.
* @param key * @param key
* @param value * @param value
*/ */
public final void putColor(String key, Color value) { public final void putColor(String key, ORColor value) {
putString(key, stringifyColor(value)); putString(key, stringifyColor(value));
} }
/** /**
* Helper function to convert a string representation into a net.sf.openrocket.util.Color object. * Helper function to convert a string representation into a net.sf.openrocket.util.ORColor object.
* @param color * @param color
* @return * @return
*/ */
protected static Color parseColor(String color) { protected static ORColor parseColor(String color) {
if (color == null) { if (color == null) {
return null; return null;
} }
@ -945,7 +945,7 @@ public abstract class Preferences implements ChangeSource {
int red = MathUtil.clamp(Integer.parseInt(rgb[0]), 0, 255); int red = MathUtil.clamp(Integer.parseInt(rgb[0]), 0, 255);
int green = MathUtil.clamp(Integer.parseInt(rgb[1]), 0, 255); int green = MathUtil.clamp(Integer.parseInt(rgb[1]), 0, 255);
int blue = MathUtil.clamp(Integer.parseInt(rgb[2]), 0, 255); int blue = MathUtil.clamp(Integer.parseInt(rgb[2]), 0, 255);
return new Color(red, green, blue); return new ORColor(red, green, blue);
} catch (NumberFormatException ignore) { } catch (NumberFormatException ignore) {
} }
} }
@ -953,12 +953,12 @@ public abstract class Preferences implements ChangeSource {
} }
/** /**
* Helper function to convert a net.sf.openrocket.util.Color object into a * Helper function to convert a net.sf.openrocket.util.ORColor object into a
* String before storing in a preference. * String before storing in a preference.
* @param color * @param color
* @return * @return
*/ */
protected static String stringifyColor(Color color) { protected static String stringifyColor(ORColor color) {
String string = color.getRed() + "," + color.getGreen() + "," + color.getBlue(); String string = color.getRed() + "," + color.getGreen() + "," + color.getBlue();
return string; return string;
} }

View File

@ -1,24 +1,24 @@
package net.sf.openrocket.util; package net.sf.openrocket.util;
public class Color { public class ORColor {
public static Color BLACK = new Color(0,0,0); public static ORColor BLACK = new ORColor(0,0,0);
public static Color INVISIBLE = new Color(1, 1, 1, 0); public static ORColor INVISIBLE = new ORColor(1, 1, 1, 0);
public static Color DARK_RED = new Color(200, 0, 0); public static ORColor DARK_RED = new ORColor(200, 0, 0);
private int red; private int red;
private int green; private int green;
private int blue; private int blue;
private int alpha; private int alpha;
public Color( int red, int green, int blue ) { public ORColor(int red, int green, int blue ) {
this.red = red; this.red = red;
this.green = green; this.green = green;
this.blue = blue; this.blue = blue;
this.alpha = 255; this.alpha = 255;
} }
public Color( int red, int green, int blue, int alpha ) { public ORColor(int red, int green, int blue, int alpha ) {
this.red = red; this.red = red;
this.green = green; this.green = green;
this.blue = blue; this.blue = blue;
@ -59,15 +59,15 @@ public class Color {
@Override @Override
public String toString() { public String toString() {
return "Color [r=" + red + ", g=" + green + ", b=" + blue + ", a=" + alpha + "]"; return "ORColor [r=" + red + ", g=" + green + ", b=" + blue + ", a=" + alpha + "]";
} }
public java.awt.Color toAWTColor() { public java.awt.Color toAWTColor() {
return new java.awt.Color(red, green, blue, alpha); return new java.awt.Color(red, green, blue, alpha);
} }
public static Color fromAWTColor(java.awt.Color AWTColor) { public static ORColor fromAWTColor(java.awt.Color AWTColor) {
return new Color(AWTColor.getRed(), AWTColor.getGreen(), AWTColor.getBlue(), AWTColor.getAlpha()); return new ORColor(AWTColor.getRed(), AWTColor.getGreen(), AWTColor.getBlue(), AWTColor.getAlpha());
} }
@Override @Override
@ -75,10 +75,10 @@ public class Color {
if (super.equals(obj)) { if (super.equals(obj)) {
return true; return true;
} }
if (!(obj instanceof Color)) { if (!(obj instanceof ORColor)) {
return false; return false;
} }
Color c = (Color) obj; ORColor c = (ORColor) obj;
return c.getRed() == getRed() && c.getGreen() == getGreen() && c.getBlue() == getBlue() && c.getAlpha() == getAlpha(); return c.getRed() == getRed() && c.getGreen() == getGreen() && c.getBlue() == getBlue() && c.getAlpha() == getAlpha();
} }
} }

View File

@ -380,8 +380,8 @@ public class TestRockets {
return (rnd.nextDouble() * 0.2 + 0.9) * scale; return (rnd.nextDouble() * 0.2 + 0.9) * scale;
} }
private Color randomColor() { private ORColor randomColor() {
return new Color(rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256)); return new ORColor(rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));
} }
private <T extends Enum<T>> Enum<T> randomEnum(Class<T> c) { private <T extends Enum<T>> Enum<T> randomEnum(Class<T> c) {
@ -1522,7 +1522,7 @@ public class TestRockets {
// make body tube with an appearance setting // make body tube with an appearance setting
BodyTube bodyTube = new BodyTube(12, 1, 0.05); BodyTube bodyTube = new BodyTube(12, 1, 0.05);
Appearance appearance = new Appearance(new Color(100, 25, 50), 1, null); Appearance appearance = new Appearance(new ORColor(100, 25, 50), 1, null);
bodyTube.setAppearance(appearance); bodyTube.setAppearance(appearance);
stage.addChild(bodyTube); stage.addChild(bodyTube);

View File

@ -11,6 +11,7 @@ import static org.junit.Assert.fail;
import java.awt.geom.Point2D; import java.awt.geom.Point2D;
import net.sf.openrocket.util.ORColor;
import org.junit.Test; import org.junit.Test;
import net.sf.openrocket.aerodynamics.AerodynamicForces; import net.sf.openrocket.aerodynamics.AerodynamicForces;
@ -23,7 +24,6 @@ import net.sf.openrocket.rocketcomponent.ExternalComponent.Finish;
import net.sf.openrocket.rocketcomponent.FinSet.CrossSection; import net.sf.openrocket.rocketcomponent.FinSet.CrossSection;
import net.sf.openrocket.rocketcomponent.Transition.Shape; import net.sf.openrocket.rocketcomponent.Transition.Shape;
import net.sf.openrocket.rocketcomponent.position.AxialMethod; import net.sf.openrocket.rocketcomponent.position.AxialMethod;
import net.sf.openrocket.util.Color;
import net.sf.openrocket.util.Coordinate; import net.sf.openrocket.util.Coordinate;
import net.sf.openrocket.util.LineStyle; import net.sf.openrocket.util.LineStyle;
import net.sf.openrocket.util.Transformation; import net.sf.openrocket.util.Transformation;
@ -38,7 +38,7 @@ public class FreeformFinSetTest extends BaseTestCase {
sourceSet.setBaseRotation(1.1); sourceSet.setBaseRotation(1.1);
sourceSet.setCantAngle(0.001); sourceSet.setCantAngle(0.001);
sourceSet.setCGOverridden(true); sourceSet.setCGOverridden(true);
sourceSet.setColor(Color.BLACK); sourceSet.setColor(ORColor.BLACK);
sourceSet.setComment("cmt"); sourceSet.setComment("cmt");
sourceSet.setCrossSection(CrossSection.ROUNDED); sourceSet.setCrossSection(CrossSection.ROUNDED);
sourceSet.setFinCount(5); sourceSet.setFinCount(5);
@ -183,7 +183,7 @@ public class FreeformFinSetTest extends BaseTestCase {
assertEquals(0.001, finSet.getCantAngle(), EPSILON); assertEquals(0.001, finSet.getCantAngle(), EPSILON);
assertTrue(finSet.isCGOverridden()); assertTrue(finSet.isCGOverridden());
assertTrue(finSet.isMassOverridden()); assertTrue(finSet.isMassOverridden());
assertEquals(Color.BLACK, finSet.getColor()); assertEquals(ORColor.BLACK, finSet.getColor());
assertEquals("cmt", finSet.getComment()); assertEquals("cmt", finSet.getComment());
assertEquals(CrossSection.ROUNDED, finSet.getCrossSection()); assertEquals(CrossSection.ROUNDED, finSet.getCrossSection());
assertEquals(5, finSet.getFinCount()); assertEquals(5, finSet.getFinCount());
@ -220,7 +220,7 @@ public class FreeformFinSetTest extends BaseTestCase {
assertEquals(0.001, finSet.getCantAngle(), EPSILON); assertEquals(0.001, finSet.getCantAngle(), EPSILON);
assertTrue(finSet.isCGOverridden()); assertTrue(finSet.isCGOverridden());
assertTrue(finSet.isMassOverridden()); assertTrue(finSet.isMassOverridden());
assertEquals(Color.BLACK, finSet.getColor()); assertEquals(ORColor.BLACK, finSet.getColor());
assertEquals("cmt", finSet.getComment()); assertEquals("cmt", finSet.getComment());
assertEquals(CrossSection.ROUNDED, finSet.getCrossSection()); assertEquals(CrossSection.ROUNDED, finSet.getCrossSection());
assertEquals(5, finSet.getFinCount()); assertEquals(5, finSet.getFinCount());

View File

@ -1,12 +1,10 @@
package net.sf.openrocket.file.photo; package net.sf.openrocket.file.photo;
import net.sf.openrocket.file.openrocket.importt.OpenRocketHandler; import net.sf.openrocket.file.openrocket.importt.OpenRocketHandler;
import net.sf.openrocket.gui.figure3d.TextureCache;
import net.sf.openrocket.gui.figure3d.photo.PhotoSettings; import net.sf.openrocket.gui.figure3d.photo.PhotoSettings;
import net.sf.openrocket.gui.figure3d.photo.sky.Sky; import net.sf.openrocket.gui.figure3d.photo.sky.Sky;
import net.sf.openrocket.gui.figure3d.photo.sky.builtin.*; import net.sf.openrocket.gui.figure3d.photo.sky.builtin.*;
import net.sf.openrocket.startup.Application; import net.sf.openrocket.util.ORColor;
import net.sf.openrocket.util.Color;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -94,7 +92,7 @@ public class PhotoStudioGetter {
return; return;
} }
if ("sunlight".equals(element)) { if ("sunlight".equals(element)) {
Color sunlight = getColor(content); ORColor sunlight = getColor(content);
p.setSunlight(sunlight); p.setSunlight(sunlight);
return; return;
} }
@ -105,7 +103,7 @@ public class PhotoStudioGetter {
} }
if ("skyColor".equals(element)) { if ("skyColor".equals(element)) {
Color skyColor = getColor(content); ORColor skyColor = getColor(content);
p.setSkyColor(skyColor); p.setSkyColor(skyColor);
return; return;
} }
@ -121,7 +119,7 @@ public class PhotoStudioGetter {
return; return;
} }
if ("flameColor".equals(element)) { if ("flameColor".equals(element)) {
Color flameColor = getColor(content); ORColor flameColor = getColor(content);
p.setFlameColor(flameColor); p.setFlameColor(flameColor);
return; return;
} }
@ -131,7 +129,7 @@ public class PhotoStudioGetter {
return; return;
} }
if ("smokeColor".equals(element)) { if ("smokeColor".equals(element)) {
Color smokeColor = getColor(content); ORColor smokeColor = getColor(content);
p.setSmokeColor(smokeColor); p.setSmokeColor(smokeColor);
return; return;
} }
@ -190,7 +188,7 @@ public class PhotoStudioGetter {
} }
} }
private Color getColor(String content) { private ORColor getColor(String content) {
String[] values = content.split(" "); String[] values = content.split(" ");
if (values.length < 4) return null; if (values.length < 4) return null;
@ -198,6 +196,6 @@ public class PhotoStudioGetter {
int green = Integer.parseInt(values[1]); int green = Integer.parseInt(values[1]);
int blue = Integer.parseInt(values[2]); int blue = Integer.parseInt(values[2]);
int alpha = Integer.parseInt(values[3]); int alpha = Integer.parseInt(values[3]);
return new Color(red, green, blue, alpha); return new ORColor(red, green, blue, alpha);
} }
} }

View File

@ -1,7 +1,7 @@
package net.sf.openrocket.file.photo; package net.sf.openrocket.file.photo;
import net.sf.openrocket.gui.figure3d.photo.PhotoSettings; import net.sf.openrocket.gui.figure3d.photo.PhotoSettings;
import net.sf.openrocket.util.Color; import net.sf.openrocket.util.ORColor;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -56,7 +56,7 @@ public class PhotoStudioSetter {
return photoSettings; return photoSettings;
} }
private static String getColor(Color color) { private static String getColor(ORColor color) {
if (color == null) return ""; if (color == null) return "";
return color.getRed() + " " + color.getGreen() + " " + color.getBlue() + " " + color.getAlpha(); return color.getRed() + " " + color.getGreen() + " " + color.getBlue() + " " + color.getAlpha();
} }

View File

@ -5,6 +5,7 @@ import java.awt.Color;
import javax.swing.Icon; import javax.swing.Icon;
import net.sf.openrocket.gui.util.ColorConversion; import net.sf.openrocket.gui.util.ColorConversion;
import net.sf.openrocket.util.ORColor;
/** /**
* An Icon that displays a specific color, suitable for drawing into a button. * An Icon that displays a specific color, suitable for drawing into a button.
@ -18,7 +19,7 @@ public class ColorIcon implements Icon {
this.color = c; this.color = c;
} }
public ColorIcon(net.sf.openrocket.util.Color c){ public ColorIcon(ORColor c){
this.color = ColorConversion.toAwtColor(c); this.color = ColorConversion.toAwtColor(c);
} }

View File

@ -59,6 +59,7 @@ import net.sf.openrocket.unit.GeneralUnit;
import net.sf.openrocket.unit.Unit; import net.sf.openrocket.unit.Unit;
import net.sf.openrocket.unit.UnitGroup; import net.sf.openrocket.unit.UnitGroup;
import net.sf.openrocket.util.LineStyle; import net.sf.openrocket.util.LineStyle;
import net.sf.openrocket.util.ORColor;
import net.sf.openrocket.util.StateChangeListener; import net.sf.openrocket.util.StateChangeListener;
import net.sf.openrocket.gui.widgets.SelectColorButton; import net.sf.openrocket.gui.widgets.SelectColorButton;
@ -138,7 +139,7 @@ public class AppearancePanel extends JPanel {
private void changeComponentColor(Color color) { private void changeComponentColor(Color color) {
try { try {
final Method setMethod = o.getClass().getMethod( final Method setMethod = o.getClass().getMethod(
"set" + valueName, net.sf.openrocket.util.Color.class); "set" + valueName, ORColor.class);
if (color == null) if (color == null)
return; return;
try { try {
@ -164,7 +165,7 @@ public class AppearancePanel extends JPanel {
try { try {
final Method getMethod = o.getClass().getMethod( final Method getMethod = o.getClass().getMethod(
"get" + valueName); "get" + valueName);
net.sf.openrocket.util.Color c = (net.sf.openrocket.util.Color) getMethod ORColor c = (ORColor) getMethod
.invoke(o); .invoke(o);
Color awtColor = ColorConversion.toAwtColor(c); Color awtColor = ColorConversion.toAwtColor(c);
@ -261,7 +262,7 @@ public class AppearancePanel extends JPanel {
} }
} }
net.sf.openrocket.util.Color figureColor = c.getColor(); ORColor figureColor = c.getColor();
if (figureColor == null) { if (figureColor == null) {
figureColor = ((SwingPreferences) Application.getPreferences()).getDefaultColor(c.getClass()); figureColor = ((SwingPreferences) Application.getPreferences()).getDefaultColor(c.getClass());
} }
@ -276,7 +277,7 @@ public class AppearancePanel extends JPanel {
c.addChangeListener(new StateChangeListener() { c.addChangeListener(new StateChangeListener() {
@Override @Override
public void stateChanged(EventObject e) { public void stateChanged(EventObject e) {
net.sf.openrocket.util.Color col = c.getColor(); ORColor col = c.getColor();
if (col == null) { if (col == null) {
col = ((SwingPreferences) Application.getPreferences()).getDefaultColor(c.getClass()); col = ((SwingPreferences) Application.getPreferences()).getDefaultColor(c.getClass());
} }
@ -335,7 +336,7 @@ public class AppearancePanel extends JPanel {
add(saveAsDefault, "span 2, align right, wrap"); add(saveAsDefault, "span 2, align right, wrap");
} }
{// Figure Color {// Figure ORColor
add(new JLabel(trans.get("RocketCompCfg.lbl.Componentcolor"))); add(new JLabel(trans.get("RocketCompCfg.lbl.Componentcolor")));
fDefault.addEnableComponent(figureColorButton, false); fDefault.addEnableComponent(figureColorButton, false);
add(figureColorButton); add(figureColorButton);
@ -617,7 +618,7 @@ public class AppearancePanel extends JPanel {
} }
// TODO: move the separate columns in two separate panels instead of adding them in a zig-zag way // TODO: move the separate columns in two separate panels instead of adding them in a zig-zag way
// Color // ORColor
panel.add(new JLabel(trans.get("AppearanceCfg.lbl.color.Color"))); panel.add(new JLabel(trans.get("AppearanceCfg.lbl.color.Color")));
mDefault.addEnableComponent(colorButton, false); mDefault.addEnableComponent(colorButton, false);
panel.add(colorButton); panel.add(colorButton);

View File

@ -275,7 +275,7 @@ public class InnerTubeConfig extends RocketComponentConfig {
subPanel.add(new JLabel(trans.get("InnerTubeCfg.lbl.Selectclustercfg")), "spanx, wrap"); subPanel.add(new JLabel(trans.get("InnerTubeCfg.lbl.Selectclustercfg")), "spanx, wrap");
subPanel.add(new ClusterSelectionPanel((InnerTube) component), "spanx, wrap"); subPanel.add(new ClusterSelectionPanel((InnerTube) component), "spanx, wrap");
// JPanel clusterSelection = new ClusterSelectionPanel((InnerTube)component); // JPanel clusterSelection = new ClusterSelectionPanel((InnerTube)component);
// clusterSelection.setBackground(Color.blue); // clusterSelection.setBackground(ORColor.blue);
// subPanel.add(clusterSelection); // subPanel.add(clusterSelection);
panel.add(subPanel); panel.add(subPanel);
@ -522,7 +522,7 @@ class ClusterSelectionPanel extends JPanel {
setPreferredSize(new Dimension(BUTTON_SIZE, BUTTON_SIZE)); setPreferredSize(new Dimension(BUTTON_SIZE, BUTTON_SIZE));
setMaximumSize(new Dimension(BUTTON_SIZE, BUTTON_SIZE)); setMaximumSize(new Dimension(BUTTON_SIZE, BUTTON_SIZE));
setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED)); setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));
// setBorder(BorderFactory.createLineBorder(Color.BLACK, 1)); // setBorder(BorderFactory.createLineBorder(ORColor.BLACK, 1));
setToolTipText(config.getXMLName()); setToolTipText(config.getXMLName());
component.addChangeListener(this); component.addChangeListener(this);
addMouseListener(this); addMouseListener(this);

View File

@ -19,7 +19,7 @@ import net.sf.openrocket.rocketcomponent.RocketComponent;
import net.sf.openrocket.rocketcomponent.SymmetricComponent; import net.sf.openrocket.rocketcomponent.SymmetricComponent;
import net.sf.openrocket.rocketcomponent.Transition; import net.sf.openrocket.rocketcomponent.Transition;
import net.sf.openrocket.startup.Application; import net.sf.openrocket.startup.Application;
import net.sf.openrocket.util.Color; import net.sf.openrocket.util.ORColor;
public class FigureRenderer extends RocketRenderer { public class FigureRenderer extends RocketRenderer {
private final float[] color = new float[4]; private final float[] color = new float[4];
@ -70,13 +70,13 @@ public class FigureRenderer extends RocketRenderer {
return false; return false;
} }
private static final HashMap<Class<?>, Color> defaultColorCache = new HashMap<Class<?>, Color>(); private static final HashMap<Class<?>, ORColor> defaultColorCache = new HashMap<Class<?>, ORColor>();
@Override @Override
public void renderComponent(GL2 gl, Geometry geom, float alpha) { public void renderComponent(GL2 gl, Geometry geom, float alpha) {
RocketComponent c = geom.getComponent(); RocketComponent c = geom.getComponent();
gl.glLightModeli(GL2ES1.GL_LIGHT_MODEL_TWO_SIDE, 1); gl.glLightModeli(GL2ES1.GL_LIGHT_MODEL_TWO_SIDE, 1);
Color figureColor = c.getColor(); ORColor figureColor = c.getColor();
if (figureColor == null) { if (figureColor == null) {
if (defaultColorCache.containsKey(c.getClass())) { if (defaultColorCache.containsKey(c.getClass())) {
figureColor = defaultColorCache.get(c.getClass()); figureColor = defaultColorCache.get(c.getClass());
@ -148,7 +148,7 @@ public class FigureRenderer extends RocketRenderer {
return 20; return 20;
} }
protected static void convertColor(Color color, float[] out) { protected static void convertColor(ORColor color, float[] out) {
if (color == null) { if (color == null) {
out[0] = 1; out[0] = 1;
out[1] = 1; out[1] = 1;

View File

@ -16,7 +16,7 @@ import net.sf.openrocket.gui.figure3d.geometry.Geometry.Surface;
import net.sf.openrocket.motor.Motor; import net.sf.openrocket.motor.Motor;
import net.sf.openrocket.rocketcomponent.InsideColorComponent; import net.sf.openrocket.rocketcomponent.InsideColorComponent;
import net.sf.openrocket.rocketcomponent.RocketComponent; import net.sf.openrocket.rocketcomponent.RocketComponent;
import net.sf.openrocket.util.Color; import net.sf.openrocket.util.ORColor;
import com.jogamp.opengl.util.texture.Texture; import com.jogamp.opengl.util.texture.Texture;
@ -237,7 +237,7 @@ public class RealisticRenderer extends RocketRenderer {
} }
} }
protected static void convertColor(Color color, float[] out) { protected static void convertColor(ORColor color, float[] out) {
if (color == null) { if (color == null) {
out[0] = 1; out[0] = 1;
out[1] = 1; out[1] = 1;

View File

@ -32,6 +32,7 @@ import javax.swing.JPanel;
import javax.swing.JPopupMenu; import javax.swing.JPopupMenu;
import javax.swing.event.MouseInputAdapter; import javax.swing.event.MouseInputAdapter;
import net.sf.openrocket.util.ORColor;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -54,7 +55,6 @@ import net.sf.openrocket.rocketcomponent.MotorMount;
import net.sf.openrocket.rocketcomponent.RocketComponent; import net.sf.openrocket.rocketcomponent.RocketComponent;
import net.sf.openrocket.startup.Application; import net.sf.openrocket.startup.Application;
import net.sf.openrocket.startup.Preferences; import net.sf.openrocket.startup.Preferences;
import net.sf.openrocket.util.Color;
import net.sf.openrocket.util.Coordinate; import net.sf.openrocket.util.Coordinate;
import net.sf.openrocket.util.MathUtil; import net.sf.openrocket.util.MathUtil;
import net.sf.openrocket.util.StateChangeListener; import net.sf.openrocket.util.StateChangeListener;
@ -374,7 +374,7 @@ public class PhotoPanel extends JPanel implements GLEventListener {
return image; return image;
} }
private static void convertColor(Color color, float[] out) { private static void convertColor(ORColor color, float[] out) {
if (color == null) { if (color == null) {
out[0] = 1; out[0] = 1;
out[1] = 1; out[1] = 1;
@ -395,7 +395,7 @@ public class PhotoPanel extends JPanel implements GLEventListener {
* @param ratio blend ratio. 0 = full color 1, 0.5 = mid-blend, 1 = full color 2 * @param ratio blend ratio. 0 = full color 1, 0.5 = mid-blend, 1 = full color 2
* @return blended color * @return blended color
*/ */
private static Color blendColors(Color color1, Color color2, double ratio) { private static ORColor blendColors(ORColor color1, ORColor color2, double ratio) {
if (ratio < 0 || ratio > 1) { if (ratio < 0 || ratio > 1) {
throw new IllegalArgumentException("Blend ratio must be between 0 and 1"); throw new IllegalArgumentException("Blend ratio must be between 0 and 1");
} }
@ -407,7 +407,7 @@ public class PhotoPanel extends JPanel implements GLEventListener {
int b = (int) ((color1.getBlue() * inverseRatio) + (color2.getBlue() * ratio)); int b = (int) ((color1.getBlue() * inverseRatio) + (color2.getBlue() * ratio));
int a = (int) ((color1.getAlpha() * inverseRatio) + (color2.getAlpha() * ratio)); int a = (int) ((color1.getAlpha() * inverseRatio) + (color2.getAlpha() * ratio));
return new Color(r, g, b, a); return new ORColor(r, g, b, a);
} }
private void draw(final GLAutoDrawable drawable, float dx, boolean useFakeTransparencyRendering) { private void draw(final GLAutoDrawable drawable, float dx, boolean useFakeTransparencyRendering) {
@ -442,7 +442,7 @@ public class PhotoPanel extends JPanel implements GLEventListener {
// artificially by blending the sky color with white (= color that is rendered as transparent background) // artificially by blending the sky color with white (= color that is rendered as transparent background)
if (useFakeTransparencyRendering && !Application.getPreferences().getBoolean( if (useFakeTransparencyRendering && !Application.getPreferences().getBoolean(
Preferences.OPENGL_USE_FBO, false)) { Preferences.OPENGL_USE_FBO, false)) {
convertColor(blendColors(p.getSkyColor(), new Color(255, 255, 255, 0), 1-p.getSkyColorOpacity()), convertColor(blendColors(p.getSkyColor(), new ORColor(255, 255, 255, 0), 1-p.getSkyColorOpacity()),
color); color);
} else { } else {
convertColor(p.getSkyColor(), color); convertColor(p.getSkyColor(), color);

View File

@ -4,7 +4,7 @@ import net.sf.openrocket.gui.figure3d.photo.exhaust.FlameRenderer.FlameSettings;
import net.sf.openrocket.gui.figure3d.photo.sky.Sky; import net.sf.openrocket.gui.figure3d.photo.sky.Sky;
import net.sf.openrocket.gui.figure3d.photo.sky.builtin.Mountains; import net.sf.openrocket.gui.figure3d.photo.sky.builtin.Mountains;
import net.sf.openrocket.util.AbstractChangeSource; import net.sf.openrocket.util.AbstractChangeSource;
import net.sf.openrocket.util.Color; import net.sf.openrocket.util.ORColor;
import net.sf.openrocket.util.MathUtil; import net.sf.openrocket.util.MathUtil;
public class PhotoSettings extends AbstractChangeSource implements FlameSettings { public class PhotoSettings extends AbstractChangeSource implements FlameSettings {
@ -20,18 +20,18 @@ public class PhotoSettings extends AbstractChangeSource implements FlameSettings
private double lightAlt = .35; private double lightAlt = .35;
private double lightAz = -1; private double lightAz = -1;
private Color sunlight = new Color(255, 255, 255); private ORColor sunlight = new ORColor(255, 255, 255);
private double ambiance = .3f; private double ambiance = .3f;
private Color skyColor = new Color(55, 95, 155); private ORColor skyColor = new ORColor(55, 95, 155);
private double skyColorOpacity = 1.0; private double skyColorOpacity = 1.0;
private boolean motionBlurred = false; private boolean motionBlurred = false;
private boolean flame = false; private boolean flame = false;
private Color flameColor = new Color(255, 100, 50); private ORColor flameColor = new ORColor(255, 100, 50);
private boolean smoke = false; private boolean smoke = false;
private Color smokeColor = new Color(230, 230, 230, 102); private ORColor smokeColor = new ORColor(230, 230, 230, 102);
private boolean sparks = false; private boolean sparks = false;
private double exhaustScale = 1.0; private double exhaustScale = 1.0;
private double flameAspectRatio = 1.0; private double flameAspectRatio = 1.0;
@ -163,11 +163,11 @@ public class PhotoSettings extends AbstractChangeSource implements FlameSettings
fireChangeEvent(); fireChangeEvent();
} }
public Color getSunlight() { public ORColor getSunlight() {
return sunlight; return sunlight;
} }
public void setSunlight(Color sunlight) { public void setSunlight(ORColor sunlight) {
this.sunlight = sunlight; this.sunlight = sunlight;
fireChangeEvent(); fireChangeEvent();
} }
@ -181,11 +181,11 @@ public class PhotoSettings extends AbstractChangeSource implements FlameSettings
fireChangeEvent(); fireChangeEvent();
} }
public Color getSkyColor() { public ORColor getSkyColor() {
return skyColor; return skyColor;
} }
public void setSkyColor(Color skyColor) { public void setSkyColor(ORColor skyColor) {
this.skyColor = skyColor; this.skyColor = skyColor;
this.skyColorOpacity = skyColor.getAlpha() / 255f; this.skyColorOpacity = skyColor.getAlpha() / 255f;
fireChangeEvent(); fireChangeEvent();
@ -201,20 +201,20 @@ public class PhotoSettings extends AbstractChangeSource implements FlameSettings
fireChangeEvent(); fireChangeEvent();
} }
public Color getFlameColor() { public ORColor getFlameColor() {
return flameColor; return flameColor;
} }
public void setFlameColor(Color flameColor) { public void setFlameColor(ORColor flameColor) {
this.flameColor = flameColor; this.flameColor = flameColor;
fireChangeEvent(); fireChangeEvent();
} }
public Color getSmokeColor() { public ORColor getSmokeColor() {
return smokeColor; return smokeColor;
} }
public void setSmokeColor(Color smokeColor) { public void setSmokeColor(ORColor smokeColor) {
this.smokeColor = smokeColor; this.smokeColor = smokeColor;
fireChangeEvent(); fireChangeEvent();
} }

View File

@ -47,6 +47,7 @@ import net.sf.openrocket.gui.util.ColorConversion;
import net.sf.openrocket.l10n.Translator; import net.sf.openrocket.l10n.Translator;
import net.sf.openrocket.startup.Application; import net.sf.openrocket.startup.Application;
import net.sf.openrocket.unit.UnitGroup; import net.sf.openrocket.unit.UnitGroup;
import net.sf.openrocket.util.ORColor;
import net.sf.openrocket.util.StateChangeListener; import net.sf.openrocket.util.StateChangeListener;
import net.sf.openrocket.gui.widgets.SelectColorButton; import net.sf.openrocket.gui.widgets.SelectColorButton;
@ -71,7 +72,7 @@ public class PhotoSettingsConfig extends JTabbedPane {
*/ */
private void changeComponentColor(Color color) { private void changeComponentColor(Color color) {
try { try {
final Method setMethod = o.getClass().getMethod("set" + valueName, net.sf.openrocket.util.Color.class); final Method setMethod = o.getClass().getMethod("set" + valueName, ORColor.class);
if (color == null) if (color == null)
return; return;
try { try {
@ -90,7 +91,7 @@ public class PhotoSettingsConfig extends JTabbedPane {
public void actionPerformed(ActionEvent colorClickEvent) { public void actionPerformed(ActionEvent colorClickEvent) {
try { try {
final Method getMethod = o.getClass().getMethod("get" + valueName); final Method getMethod = o.getClass().getMethod("get" + valueName);
net.sf.openrocket.util.Color c = (net.sf.openrocket.util.Color) getMethod.invoke(o); ORColor c = (ORColor) getMethod.invoke(o);
Color awtColor = ColorConversion.toAwtColor(c); Color awtColor = ColorConversion.toAwtColor(c);
colorChooser.setColor(awtColor); colorChooser.setColor(awtColor);

View File

@ -123,6 +123,7 @@ import java.util.Random;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
import net.sf.openrocket.util.ORColor;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -137,7 +138,6 @@ import com.jogamp.opengl.util.texture.Texture;
import com.jogamp.opengl.util.texture.awt.AWTTextureIO; import com.jogamp.opengl.util.texture.awt.AWTTextureIO;
import net.sf.openrocket.motor.Motor; import net.sf.openrocket.motor.Motor;
import net.sf.openrocket.util.Color;
public final class FlameRenderer { public final class FlameRenderer {
@ -146,11 +146,11 @@ public final class FlameRenderer {
public boolean isFlame(); public boolean isFlame();
public Color getFlameColor(); public ORColor getFlameColor();
public boolean isSmoke(); public boolean isSmoke();
public Color getSmokeColor(); public ORColor getSmokeColor();
public double getFlameAspectRatio(); public double getFlameAspectRatio();
@ -270,7 +270,7 @@ public final class FlameRenderer {
} }
private static void convertColor(Color color, float[] out) { private static void convertColor(ORColor color, float[] out) {
if (color == null) { if (color == null) {
out[0] = 1; out[0] = 1;
out[1] = 1; out[1] = 1;
@ -376,7 +376,7 @@ public final class FlameRenderer {
shaderprogram = 0; shaderprogram = 0;
} }
private static void trail(GL2 gl, Func radius, Func dZ, Func alpha, float LEN, int P, Color color, float scale) { private static void trail(GL2 gl, Func radius, Func dZ, Func alpha, float LEN, int P, ORColor color, float scale) {
float[] c = new float[4]; float[] c = new float[4];
convertColor(color, c); convertColor(color, c);

View File

@ -35,7 +35,7 @@ import net.sf.openrocket.rocketcomponent.Rocket;
import net.sf.openrocket.rocketcomponent.RocketComponent; import net.sf.openrocket.rocketcomponent.RocketComponent;
import net.sf.openrocket.rocketcomponent.AxialStage; import net.sf.openrocket.rocketcomponent.AxialStage;
import net.sf.openrocket.startup.Application; import net.sf.openrocket.startup.Application;
import net.sf.openrocket.util.Color; import net.sf.openrocket.util.ORColor;
import net.sf.openrocket.util.Pair; import net.sf.openrocket.util.Pair;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -981,8 +981,8 @@ public class RocketActions {
} }
private boolean isAppearanceEqual(Appearance app1, Appearance app2) { private boolean isAppearanceEqual(Appearance app1, Appearance app2) {
Color color1 = app1.getPaint(); ORColor color1 = app1.getPaint();
Color color2 = app2.getPaint(); ORColor color2 = app2.getPaint();
if (color1 == null && color2 == null) { if (color1 == null && color2 == null) {
return true; return true;

View File

@ -3,11 +3,10 @@ package net.sf.openrocket.gui.rocketfigure;
import net.sf.openrocket.rocketcomponent.AxialStage; import net.sf.openrocket.rocketcomponent.AxialStage;
import net.sf.openrocket.rocketcomponent.ComponentAssembly; import net.sf.openrocket.rocketcomponent.ComponentAssembly;
import net.sf.openrocket.rocketcomponent.ParallelStage; import net.sf.openrocket.rocketcomponent.ParallelStage;
import net.sf.openrocket.rocketcomponent.PodSet;
import net.sf.openrocket.rocketcomponent.RocketComponent; import net.sf.openrocket.rocketcomponent.RocketComponent;
import net.sf.openrocket.rocketcomponent.position.AxialMethod; import net.sf.openrocket.rocketcomponent.position.AxialMethod;
import net.sf.openrocket.rocketcomponent.position.RadiusMethod; import net.sf.openrocket.rocketcomponent.position.RadiusMethod;
import net.sf.openrocket.util.Color; import net.sf.openrocket.util.ORColor;
import net.sf.openrocket.util.Transformation; import net.sf.openrocket.util.Transformation;
import java.awt.Shape; import java.awt.Shape;
@ -40,7 +39,7 @@ public class ComponentAssemblyShapes extends RocketComponentShape {
Shape[] s = EmptyShapes.getShapesSideWithSelectionSquare(correctedTransform, markerRadius); Shape[] s = EmptyShapes.getShapesSideWithSelectionSquare(correctedTransform, markerRadius);
RocketComponentShape[] shapes = RocketComponentShape.toArray(s, component); RocketComponentShape[] shapes = RocketComponentShape.toArray(s, component);
shapes[shapes.length - 1].setColor(Color.INVISIBLE); shapes[shapes.length - 1].setColor(ORColor.INVISIBLE);
return shapes; return shapes;
} }
@ -64,7 +63,7 @@ public class ComponentAssemblyShapes extends RocketComponentShape {
Shape[] s = EmptyShapes.getShapesBackWithSelectionSquare(correctedTransform, markerRadius); Shape[] s = EmptyShapes.getShapesBackWithSelectionSquare(correctedTransform, markerRadius);
RocketComponentShape[] shapes = RocketComponentShape.toArray(s, component); RocketComponentShape[] shapes = RocketComponentShape.toArray(s, component);
shapes[shapes.length - 1].setColor(Color.INVISIBLE); shapes[shapes.length - 1].setColor(ORColor.INVISIBLE);
return shapes; return shapes;
} }

View File

@ -12,7 +12,7 @@ import java.util.Arrays;
import net.sf.openrocket.rocketcomponent.RailButton; import net.sf.openrocket.rocketcomponent.RailButton;
import net.sf.openrocket.rocketcomponent.RocketComponent; import net.sf.openrocket.rocketcomponent.RocketComponent;
import net.sf.openrocket.util.Color; import net.sf.openrocket.util.ORColor;
import net.sf.openrocket.util.Coordinate; import net.sf.openrocket.util.Coordinate;
import net.sf.openrocket.util.Transformation; import net.sf.openrocket.util.Transformation;
@ -145,7 +145,7 @@ public class RailButtonShapes extends RocketComponentShape {
RocketComponentShape[] shapesInvis = RocketComponentShape.toArray(new Shape[]{ pathInvis }, component); RocketComponentShape[] shapesInvis = RocketComponentShape.toArray(new Shape[]{ pathInvis }, component);
for (RocketComponentShape s : shapesInvis) { for (RocketComponentShape s : shapesInvis) {
s.setColor(Color.INVISIBLE); s.setColor(ORColor.INVISIBLE);
} }
RocketComponentShape[] total = Arrays.copyOf(shapes, shapes.length + shapesInvis.length); RocketComponentShape[] total = Arrays.copyOf(shapes, shapes.length + shapesInvis.length);

View File

@ -5,7 +5,7 @@ import java.awt.Shape;
import net.sf.openrocket.rocketcomponent.RocketComponent; import net.sf.openrocket.rocketcomponent.RocketComponent;
import net.sf.openrocket.startup.Application; import net.sf.openrocket.startup.Application;
import net.sf.openrocket.util.Color; import net.sf.openrocket.util.ORColor;
import net.sf.openrocket.util.LineStyle; import net.sf.openrocket.util.LineStyle;
import net.sf.openrocket.util.Transformation; import net.sf.openrocket.util.Transformation;
@ -17,7 +17,7 @@ public class RocketComponentShape {
final public boolean hasShape; final public boolean hasShape;
final public Shape shape; final public Shape shape;
public net.sf.openrocket.util.Color color; public ORColor color;
final public LineStyle lineStyle; final public LineStyle lineStyle;
final public RocketComponent component; final public RocketComponent component;
@ -64,11 +64,11 @@ public class RocketComponentShape {
return new RocketComponentShape[0]; return new RocketComponentShape[0];
} }
public Color getColor() { public ORColor getColor() {
return color; return color;
} }
public void setColor(Color color) { public void setColor(ORColor color) {
this.color = color; this.color = color;
} }

View File

@ -22,6 +22,7 @@ import net.sf.openrocket.gui.util.UITheme;
import net.sf.openrocket.rocketcomponent.AxialStage; import net.sf.openrocket.rocketcomponent.AxialStage;
import net.sf.openrocket.rocketcomponent.ParallelStage; import net.sf.openrocket.rocketcomponent.ParallelStage;
import net.sf.openrocket.rocketcomponent.PodSet; import net.sf.openrocket.rocketcomponent.PodSet;
import net.sf.openrocket.util.ORColor;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -274,7 +275,7 @@ public class RocketFigure extends AbstractScaleFigure {
} }
// Set component color and line style // Set component color and line style
net.sf.openrocket.util.Color color = rcs.color; ORColor color = rcs.color;
if (color == null) { if (color == null) {
color = ((SwingPreferences) Application.getPreferences()).getDefaultColor(c.getClass()); color = ((SwingPreferences) Application.getPreferences()).getDefaultColor(c.getClass());
} }
@ -455,7 +456,7 @@ public class RocketFigure extends AbstractScaleFigure {
final RocketPanel.VIEW_TYPE viewType, final RocketPanel.VIEW_TYPE viewType,
final RocketComponent component, final RocketComponent component,
final Transformation transformation, final Transformation transformation,
final net.sf.openrocket.util.Color color) { final ORColor color) {
Reflection.Method m; Reflection.Method m;
if ((component instanceof Rocket) || (component instanceof AxialStage && !(component instanceof ParallelStage))){ if ((component instanceof Rocket) || (component instanceof AxialStage && !(component instanceof ParallelStage))){
@ -491,7 +492,7 @@ public class RocketFigure extends AbstractScaleFigure {
if (color != null) { if (color != null) {
for (RocketComponentShape rcs : returnValue) { for (RocketComponentShape rcs : returnValue) {
if (rcs.getColor() == net.sf.openrocket.util.Color.INVISIBLE) continue; // don't change the color of invisible (often selection) components if (rcs.getColor() == ORColor.INVISIBLE) continue; // don't change the color of invisible (often selection) components
rcs.setColor(color); rcs.setColor(color);
} }
} }

View File

@ -1,18 +1,20 @@
package net.sf.openrocket.gui.util; package net.sf.openrocket.gui.util;
import net.sf.openrocket.util.ORColor;
public class ColorConversion { public class ColorConversion {
public static java.awt.Color toAwtColor( net.sf.openrocket.util.Color c ) { public static java.awt.Color toAwtColor( ORColor c ) {
if ( c == null ) { if ( c == null ) {
return null; return null;
} }
return new java.awt.Color(c.getRed(),c.getGreen(),c.getBlue(),c.getAlpha()); return new java.awt.Color(c.getRed(),c.getGreen(),c.getBlue(),c.getAlpha());
} }
public static net.sf.openrocket.util.Color fromAwtColor( java.awt.Color c ) { public static ORColor fromAwtColor(java.awt.Color c ) {
if ( c == null ) { if ( c == null ) {
return null; return null;
} }
return new net.sf.openrocket.util.Color( c.getRed(), c.getGreen(), c.getBlue(), c.getAlpha()); return new ORColor( c.getRed(), c.getGreen(), c.getBlue(), c.getAlpha());
} }
} }

View File

@ -33,6 +33,7 @@ import net.sf.openrocket.rocketcomponent.RecoveryDevice;
import net.sf.openrocket.rocketcomponent.RocketComponent; import net.sf.openrocket.rocketcomponent.RocketComponent;
import net.sf.openrocket.rocketcomponent.TubeFinSet; import net.sf.openrocket.rocketcomponent.TubeFinSet;
import net.sf.openrocket.simulation.SimulationOptionsInterface; import net.sf.openrocket.simulation.SimulationOptionsInterface;
import net.sf.openrocket.util.ORColor;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -406,20 +407,20 @@ public class SwingPreferences extends net.sf.openrocket.startup.Preferences impl
storeVersion(); storeVersion();
} }
public net.sf.openrocket.util.Color getDefaultColor(Class<? extends RocketComponent> c) { public ORColor getDefaultColor(Class<? extends RocketComponent> c) {
String color = get("componentColors", c, DEFAULT_COLORS); String color = get("componentColors", c, DEFAULT_COLORS);
if (color == null) if (color == null)
return net.sf.openrocket.util.Color.fromAWTColor(getUIThemeAsTheme().getTextColor()); return ORColor.fromAWTColor(getUIThemeAsTheme().getTextColor());
net.sf.openrocket.util.Color clr = parseColor(color); ORColor clr = parseColor(color);
if (clr != null) { if (clr != null) {
return clr; return clr;
} else { } else {
return net.sf.openrocket.util.Color.fromAWTColor(getUIThemeAsTheme().getTextColor()); return ORColor.fromAWTColor(getUIThemeAsTheme().getTextColor());
} }
} }
public final void setDefaultColor(Class<? extends RocketComponent> c, net.sf.openrocket.util.Color color) { public final void setDefaultColor(Class<? extends RocketComponent> c, ORColor color) {
if (color == null) if (color == null)
return; return;
putString("componentColors", c.getSimpleName(), stringifyColor(color)); putString("componentColors", c.getSimpleName(), stringifyColor(color));
@ -682,12 +683,12 @@ public class SwingPreferences extends net.sf.openrocket.startup.Preferences impl
} }
/** /**
* this class returns a java.awt.Color object for the specified key. * this class returns a java.awt.ORColor object for the specified key.
* you can pass (java.awt.Color) null to the second argument to * you can pass (java.awt.ORColor) null to the second argument to
* disambiguate * disambiguate
*/ */
public Color getColor(String key, Color defaultValue) { public Color getColor(String key, Color defaultValue) {
net.sf.openrocket.util.Color c = super.getColor(key, (net.sf.openrocket.util.Color) null); ORColor c = super.getColor(key, (ORColor) null);
if (c == null) { if (c == null) {
return defaultValue; return defaultValue;
} }
@ -698,7 +699,7 @@ public class SwingPreferences extends net.sf.openrocket.startup.Preferences impl
* *
*/ */
public void putColor(String key, Color value) { public void putColor(String key, Color value) {
net.sf.openrocket.util.Color c = ColorConversion.fromAwtColor(value); ORColor c = ColorConversion.fromAwtColor(value);
super.putColor(key, c); super.putColor(key, c);
} }