diff --git a/.idea/misc.xml b/.idea/misc.xml
index 1c55f8bdd..766315249 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,6 +1,5 @@
-
-
+
\ No newline at end of file
diff --git a/core/src/net/sf/openrocket/appearance/Appearance.java b/core/src/net/sf/openrocket/appearance/Appearance.java
index 38b2be845..f03f5602a 100644
--- a/core/src/net/sf/openrocket/appearance/Appearance.java
+++ b/core/src/net/sf/openrocket/appearance/Appearance.java
@@ -1,6 +1,6 @@
package net.sf.openrocket.appearance;
-import net.sf.openrocket.util.Color;
+import net.sf.openrocket.util.ORColor;
import net.sf.openrocket.util.MathUtil;
/**
@@ -10,9 +10,9 @@ import net.sf.openrocket.util.MathUtil;
* @author Bill Kuker
*/
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 Decal texture;
@@ -23,7 +23,7 @@ public class Appearance {
* @param shine shine of the appearance, will be clamped between 0 and 1
* @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.shine = MathUtil.clamp(shine, 0, 1);
this.texture = texture;
@@ -35,14 +35,14 @@ public class Appearance {
* @param paint the color to be used
* @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);
}
/**
* @return color of the appearance
*/
- public Color getPaint() {
+ public ORColor getPaint() {
return paint;
}
diff --git a/core/src/net/sf/openrocket/appearance/AppearanceBuilder.java b/core/src/net/sf/openrocket/appearance/AppearanceBuilder.java
index f5d07bead..0005e4f03 100644
--- a/core/src/net/sf/openrocket/appearance/AppearanceBuilder.java
+++ b/core/src/net/sf/openrocket/appearance/AppearanceBuilder.java
@@ -3,7 +3,7 @@ package net.sf.openrocket.appearance;
import net.sf.openrocket.appearance.Decal.EdgeMode;
import net.sf.openrocket.rocketcomponent.RocketComponent;
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 java.util.LinkedHashMap;
@@ -22,7 +22,7 @@ import java.util.Map;
*/
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 offsetU, offsetV;//current offset to be used
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
*/
private void resetToDefaults() {
- paint = new Color(187, 187, 187);
+ paint = new ORColor(187, 187, 187);
shine = 0.3;
offsetU = offsetV = 0;
centerU = centerV = 0;
@@ -144,7 +144,7 @@ public class AppearanceBuilder extends AbstractChangeSource {
*
* return the color used in the current paint
*/
- public Color getPaint() {
+ public ORColor getPaint() {
return paint;
}
@@ -154,7 +154,7 @@ public class AppearanceBuilder extends AbstractChangeSource {
*
* @param paint the new color
*/
- public void setPaint(Color paint) {
+ public void setPaint(ORColor paint) {
for (AppearanceBuilder listener : configListeners.values()) {
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
// 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);
}
diff --git a/core/src/net/sf/openrocket/appearance/defaults/DefaultAppearance.java b/core/src/net/sf/openrocket/appearance/defaults/DefaultAppearance.java
index c364b6234..78341612e 100644
--- a/core/src/net/sf/openrocket/appearance/defaults/DefaultAppearance.java
+++ b/core/src/net/sf/openrocket/appearance/defaults/DefaultAppearance.java
@@ -20,7 +20,7 @@ import net.sf.openrocket.rocketcomponent.RocketComponent;
import net.sf.openrocket.rocketcomponent.Transition;
import net.sf.openrocket.rocketcomponent.TubeCoupler;
import net.sf.openrocket.rocketcomponent.TubeFinSet;
-import net.sf.openrocket.util.Color;
+import net.sf.openrocket.util.ORColor;
import net.sf.openrocket.util.Coordinate;
/**
@@ -41,7 +41,7 @@ public class DefaultAppearance {
*/
private static Appearance simple(String resource) {
return new Appearance(
- new Color(1, 1, 1),
+ new ORColor(1, 1, 1),
0,
new Decal(
new Coordinate(0, 0),
@@ -59,7 +59,7 @@ public class DefaultAppearance {
* @param resource the file path to the image
* @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(
base,
shine,
@@ -80,16 +80,16 @@ public class DefaultAppearance {
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_IT = simpleAlpha(new Color(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 ESTES_BT = simpleAlpha(new ORColor(212, 185, 145), .3f, "/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 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 AEROTECH_MOTOR = simple("/datafiles/textures/motors/aerotech.png");
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 plastics = new HashMap();
+ private static final HashMap plastics = new HashMap();
/**
* 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
* @return The plastic appearance with the given color
*/
- private static Appearance getPlastic(Color c) {
+ private static Appearance getPlastic(ORColor c) {
if (!plastics.containsKey(c)) {
plastics.put(c, new Appearance(c, .3));
}
@@ -120,7 +120,7 @@ public class DefaultAppearance {
if (c instanceof LaunchLug)
return WHITE_BT;
if (c instanceof Transition)
- return getPlastic(new Color(255, 255, 255));
+ return getPlastic(new ORColor(255, 255, 255));
if (c instanceof RadiusRingComponent)
return WOOD;
if (c instanceof Parachute)
@@ -130,7 +130,7 @@ public class DefaultAppearance {
if (c instanceof MassObject)
return WADDING;
if ( c instanceof RailButton )
- return getPlastic(new Color(255, 255, 220));
+ return getPlastic(new ORColor(255, 255, 220));
return Appearance.MISSING;
}
diff --git a/core/src/net/sf/openrocket/file/openrocket/importt/AppearanceHandler.java b/core/src/net/sf/openrocket/file/openrocket/importt/AppearanceHandler.java
index 5db14f599..54b65e6a8 100644
--- a/core/src/net/sf/openrocket/file/openrocket/importt/AppearanceHandler.java
+++ b/core/src/net/sf/openrocket/file/openrocket/importt/AppearanceHandler.java
@@ -11,7 +11,7 @@ import net.sf.openrocket.file.simplesax.AbstractElementHandler;
import net.sf.openrocket.file.simplesax.ElementHandler;
import net.sf.openrocket.file.simplesax.PlainTextHandler;
import net.sf.openrocket.rocketcomponent.RocketComponent;
-import net.sf.openrocket.util.Color;
+import net.sf.openrocket.util.ORColor;
import org.xml.sax.SAXException;
@@ -58,7 +58,7 @@ class AppearanceHandler extends AbstractElementHandler {
// "alpha" string was present so load the value
alpha = Integer.parseInt(a);
}
- builder.setPaint(new Color(red, green, blue, alpha));
+ builder.setPaint(new ORColor(red, green, blue, alpha));
return;
}
if ("shine".equals(element)) {
diff --git a/core/src/net/sf/openrocket/file/openrocket/importt/ColorSetter.java b/core/src/net/sf/openrocket/file/openrocket/importt/ColorSetter.java
index 041386cbd..59b93a0a3 100644
--- a/core/src/net/sf/openrocket/file/openrocket/importt/ColorSetter.java
+++ b/core/src/net/sf/openrocket/file/openrocket/importt/ColorSetter.java
@@ -5,10 +5,10 @@ import java.util.HashMap;
import net.sf.openrocket.logging.Warning;
import net.sf.openrocket.logging.WarningSet;
import net.sf.openrocket.rocketcomponent.RocketComponent;
-import net.sf.openrocket.util.Color;
+import net.sf.openrocket.util.ORColor;
import net.sf.openrocket.util.Reflection;
-//// ColorSetter - sets a Color value
+//// ColorSetter - sets a ORColor value
class ColorSetter implements Setter {
private final Reflection.Method setMethod;
@@ -44,7 +44,7 @@ class ColorSetter implements Setter {
return;
}
- Color color = new Color(r, g, b);
+ ORColor color = new ORColor(r, g, b);
setMethod.invoke(c, color);
if (!s.trim().equals("")) {
diff --git a/core/src/net/sf/openrocket/file/openrocket/importt/DocumentConfig.java b/core/src/net/sf/openrocket/file/openrocket/importt/DocumentConfig.java
index 2984b3505..24b3655df 100644
--- a/core/src/net/sf/openrocket/file/openrocket/importt/DocumentConfig.java
+++ b/core/src/net/sf/openrocket/file/openrocket/importt/DocumentConfig.java
@@ -45,7 +45,7 @@ import net.sf.openrocket.rocketcomponent.TrapezoidFinSet;
import net.sf.openrocket.rocketcomponent.TubeCoupler;
import net.sf.openrocket.rocketcomponent.TubeFinSet;
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.Reflection;
@@ -116,7 +116,7 @@ class DocumentConfig {
setters.put("RocketComponent:id", new StringSetter(
Reflection.findMethod(RocketComponent.class, "setID", String.class)));
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(
Reflection.findMethod(RocketComponent.class, "setLineStyle", LineStyle.class),
LineStyle.class));
diff --git a/core/src/net/sf/openrocket/file/openrocket/savers/PhotoStudioSaver.java b/core/src/net/sf/openrocket/file/openrocket/savers/PhotoStudioSaver.java
index 16a79c459..cd589325b 100644
--- a/core/src/net/sf/openrocket/file/openrocket/savers/PhotoStudioSaver.java
+++ b/core/src/net/sf/openrocket/file/openrocket/savers/PhotoStudioSaver.java
@@ -1,6 +1,6 @@
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.List;
@@ -55,7 +55,7 @@ public class PhotoStudioSaver {
return elements;
}
- private static Color getColor(String content) {
+ private static ORColor getColor(String content) {
if (content == null) return null;
String[] values = content.split(" ");
if (values.length < 4) return null;
@@ -64,11 +64,11 @@ public class PhotoStudioSaver {
int green = Integer.parseInt(values[1]);
int blue = Integer.parseInt(values[2]);
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 elements, String content) {
- Color color = getColor(content);
+ ORColor color = getColor(content);
if (color != null) {
elements.add("<" + elementName + " red=\"" + color.getRed() + "\" green=\"" + color.getGreen()
+ "\" blue=\"" + color.getBlue() + "\" alpha=\"" + color.getAlpha() + "\"/>");
diff --git a/core/src/net/sf/openrocket/file/openrocket/savers/RocketComponentSaver.java b/core/src/net/sf/openrocket/file/openrocket/savers/RocketComponentSaver.java
index 0bc98071c..3bbe399b5 100644
--- a/core/src/net/sf/openrocket/file/openrocket/savers/RocketComponentSaver.java
+++ b/core/src/net/sf/openrocket/file/openrocket/savers/RocketComponentSaver.java
@@ -22,7 +22,7 @@ import net.sf.openrocket.rocketcomponent.position.AxialMethod;
import net.sf.openrocket.rocketcomponent.position.RadiusPositionable;
import net.sf.openrocket.startup.Application;
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.LineStyle;
import net.sf.openrocket.util.TextUtil;
@@ -69,7 +69,7 @@ public class RocketComponentSaver {
// Save color and line style if significant
if (!(c instanceof Rocket || c instanceof ComponentAssembly)) {
- Color color = c.getColor();
+ ORColor color = c.getColor();
emitColor("color", elements, color, 0);
LineStyle style = c.getLineStyle();
@@ -156,7 +156,7 @@ public class RocketComponentSaver {
}
private void buildAppearanceElements(List elements, Appearance a) {
- Color paint = a.getPaint();
+ ORColor paint = a.getPaint();
emitColor("paint", elements, paint, 1);
appendElement(elements, "shine", a.getShine(), 1);
Decal decal = a.getTexture();
@@ -271,7 +271,7 @@ public class RocketComponentSaver {
return elements;
}
- private final static void emitColor(String elementName, List elements, Color color, int indents) {
+ private final static void emitColor(String elementName, List elements, ORColor color, int indents) {
if (color != null) {
elements.add(OpenRocketSaver.INDENT.repeat(Math.max(0, indents)) + "<" + elementName + " red=\"" + color.getRed() + "\" green=\"" + color.getGreen()
+ "\" blue=\"" + color.getBlue() + "\" alpha=\"" + color.getAlpha() + "\"/>");
diff --git a/core/src/net/sf/openrocket/file/rasaero/RASAeroCommonConstants.java b/core/src/net/sf/openrocket/file/rasaero/RASAeroCommonConstants.java
index 8c71fd2bf..fac75b0d1 100644
--- a/core/src/net/sf/openrocket/file/rasaero/RASAeroCommonConstants.java
+++ b/core/src/net/sf/openrocket/file/rasaero/RASAeroCommonConstants.java
@@ -4,13 +4,12 @@ import net.sf.openrocket.file.motor.AbstractMotorLoader;
import net.sf.openrocket.logging.WarningSet;
import net.sf.openrocket.motor.Manufacturer;
import net.sf.openrocket.motor.Motor;
-import net.sf.openrocket.motor.MotorConfiguration;
import net.sf.openrocket.motor.ThrustCurveMotor;
import net.sf.openrocket.rocketcomponent.DeploymentConfiguration;
import net.sf.openrocket.rocketcomponent.ExternalComponent;
import net.sf.openrocket.rocketcomponent.FinSet;
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 java.util.HashMap;
@@ -480,9 +479,9 @@ public class RASAeroCommonConstants {
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.equals(Color.BLACK)) {
+ if (color.equals(ORColor.BLACK)) {
return "Black"; // Currently the only officially supported color by RASAero
}
}
diff --git a/core/src/net/sf/openrocket/file/rasaero/importt/ColorHandler.java b/core/src/net/sf/openrocket/file/rasaero/importt/ColorHandler.java
index 7616164dd..c103ec2a3 100644
--- a/core/src/net/sf/openrocket/file/rasaero/importt/ColorHandler.java
+++ b/core/src/net/sf/openrocket/file/rasaero/importt/ColorHandler.java
@@ -1,7 +1,7 @@
package net.sf.openrocket.file.rasaero.importt;
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.
@@ -18,10 +18,10 @@ public abstract class ColorHandler {
*/
public static void applyRASAeroColor(RocketComponent component, String color) {
if ("Black".equals(color)) {
- component.setColor(Color.BLACK);
+ component.setColor(ORColor.BLACK);
return;
}
// Default to black
- component.setColor(Color.BLACK);
+ component.setColor(ORColor.BLACK);
}
}
diff --git a/core/src/net/sf/openrocket/file/rocksim/importt/RockSimAppearanceBuilder.java b/core/src/net/sf/openrocket/file/rocksim/importt/RockSimAppearanceBuilder.java
index 00b337f7e..2db6be16b 100644
--- a/core/src/net/sf/openrocket/file/rocksim/importt/RockSimAppearanceBuilder.java
+++ b/core/src/net/sf/openrocket/file/rocksim/importt/RockSimAppearanceBuilder.java
@@ -10,7 +10,7 @@ import net.sf.openrocket.appearance.Decal.EdgeMode;
import net.sf.openrocket.document.Attachment;
import net.sf.openrocket.file.DocumentLoadingContext;
import net.sf.openrocket.file.rocksim.RockSimCommonConstants;
-import net.sf.openrocket.util.Color;
+import net.sf.openrocket.util.ORColor;
public class RockSimAppearanceBuilder extends AppearanceBuilder {
@@ -124,32 +124,32 @@ public class RockSimAppearanceBuilder extends AppearanceBuilder {
}
- static Color weight(Color c, double w) {
- return new Color((int) (c.getRed() * w), (int) (c.getGreen() * w), (int) (c.getBlue() * w), c.getAlpha());
+ static ORColor weight(ORColor c, double w) {
+ 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.
if ("blue".equals(s)) {
- return new Color(0, 0, 255);
+ return new ORColor(0, 0, 255);
}
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.
if ("red".equals(s)) {
- return new Color(255, 0, 0);
+ return new ORColor(255, 0, 0);
}
if ("green".equals(s)) {
- return new Color(0, 255, 0);
+ return new ORColor(0, 255, 0);
}
if ("black".equals(s)) {
- return new Color(0, 0, 0);
+ return new ORColor(0, 0, 0);
}
s = s.replace("rgb(", "");
s = s.replace(")", "");
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() {
diff --git a/core/src/net/sf/openrocket/file/wavefrontobj/export/AppearanceExporter.java b/core/src/net/sf/openrocket/file/wavefrontobj/export/AppearanceExporter.java
index 09ed66885..5498600ef 100644
--- a/core/src/net/sf/openrocket/file/wavefrontobj/export/AppearanceExporter.java
+++ b/core/src/net/sf/openrocket/file/wavefrontobj/export/AppearanceExporter.java
@@ -6,7 +6,7 @@ import net.sf.openrocket.appearance.DecalImage;
import net.sf.openrocket.file.wavefrontobj.DefaultMtl;
import net.sf.openrocket.file.wavefrontobj.DefaultObj;
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.FileUtils;
import org.slf4j.Logger;
@@ -126,7 +126,7 @@ public class AppearanceExporter {
}
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 g = convertColorToFloat(color.getGreen(), options.isUseSRGB());
final float b = convertColorToFloat(color.getBlue(), options.isUseSRGB());
diff --git a/core/src/net/sf/openrocket/rocketcomponent/RocketComponent.java b/core/src/net/sf/openrocket/rocketcomponent/RocketComponent.java
index 5a4064c36..b9b33ef7d 100644
--- a/core/src/net/sf/openrocket/rocketcomponent/RocketComponent.java
+++ b/core/src/net/sf/openrocket/rocketcomponent/RocketComponent.java
@@ -17,6 +17,7 @@ import net.sf.openrocket.aerodynamics.FlightConditions;
import net.sf.openrocket.logging.WarningSet;
import net.sf.openrocket.startup.Application;
import net.sf.openrocket.startup.Preferences;
+import net.sf.openrocket.util.ORColor;
import org.slf4j.Logger;
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.BugException;
import net.sf.openrocket.util.ChangeSource;
-import net.sf.openrocket.util.Color;
import net.sf.openrocket.util.ComponentChangeAdapter;
import net.sf.openrocket.util.Coordinate;
import net.sf.openrocket.util.Invalidator;
@@ -99,8 +99,8 @@ public abstract class RocketComponent implements ChangeSource, Cloneable, Iterab
*/
protected Coordinate position = new Coordinate();
- // Color of the component, null means to use the default color
- private Color color = null;
+ // ORColor of the component, null means to use the default color
+ private ORColor color = 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 null
* to use the default color.
*/
- public final Color getColor() {
+ public final ORColor getColor() {
mutex.verify();
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.
*/
- public final void setColor(Color c) {
+ public final void setColor(ORColor c) {
for (RocketComponent listener : configListeners) {
listener.setColor(c);
}
diff --git a/core/src/net/sf/openrocket/startup/Preferences.java b/core/src/net/sf/openrocket/startup/Preferences.java
index 2c0011832..c244276cc 100644
--- a/core/src/net/sf/openrocket/startup/Preferences.java
+++ b/core/src/net/sf/openrocket/startup/Preferences.java
@@ -24,7 +24,7 @@ import net.sf.openrocket.simulation.RK4SimulationStepper;
import net.sf.openrocket.util.BugException;
import net.sf.openrocket.util.BuildProperties;
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.LineStyle;
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 defaultValue
* @return
*/
- public final Color getColor(String key, Color defaultValue) {
- Color c = parseColor(getString(key, null));
+ public final ORColor getColor(String key, ORColor defaultValue) {
+ ORColor c = parseColor(getString(key, null));
if (c == null) {
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 value
*/
- public final void putColor(String key, Color value) {
+ public final void putColor(String key, ORColor 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
* @return
*/
- protected static Color parseColor(String color) {
+ protected static ORColor parseColor(String color) {
if (color == null) {
return null;
}
@@ -945,7 +945,7 @@ public abstract class Preferences implements ChangeSource {
int red = MathUtil.clamp(Integer.parseInt(rgb[0]), 0, 255);
int green = MathUtil.clamp(Integer.parseInt(rgb[1]), 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) {
}
}
@@ -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.
* @param color
* @return
*/
- protected static String stringifyColor(Color color) {
+ protected static String stringifyColor(ORColor color) {
String string = color.getRed() + "," + color.getGreen() + "," + color.getBlue();
return string;
}
diff --git a/core/src/net/sf/openrocket/util/Color.java b/core/src/net/sf/openrocket/util/ORColor.java
similarity index 61%
rename from core/src/net/sf/openrocket/util/Color.java
rename to core/src/net/sf/openrocket/util/ORColor.java
index 4f912bb4e..472e6aad9 100644
--- a/core/src/net/sf/openrocket/util/Color.java
+++ b/core/src/net/sf/openrocket/util/ORColor.java
@@ -1,84 +1,84 @@
-package net.sf.openrocket.util;
-
-public class Color {
-
- public static Color BLACK = new Color(0,0,0);
- public static Color INVISIBLE = new Color(1, 1, 1, 0);
- public static Color DARK_RED = new Color(200, 0, 0);
-
- private int red;
- private int green;
- private int blue;
- private int alpha;
-
- public Color( int red, int green, int blue ) {
- this.red = red;
- this.green = green;
- this.blue = blue;
- this.alpha = 255;
- }
-
- public Color( int red, int green, int blue, int alpha ) {
- this.red = red;
- this.green = green;
- this.blue = blue;
- this.alpha = alpha;
- }
-
- public int getRed() {
- return red;
- }
-
- public void setRed(int red) {
- this.red = red;
- }
-
- public int getGreen() {
- return green;
- }
-
- public void setGreen(int green) {
- this.green = green;
- }
-
- public int getBlue() {
- return blue;
- }
-
- public void setBlue(int blue) {
- this.blue = blue;
- }
-
- public int getAlpha() {
- return alpha;
- }
-
- public void setAlpha(int alpha) {
- this.alpha = alpha;
- }
-
- @Override
- public String toString() {
- return "Color [r=" + red + ", g=" + green + ", b=" + blue + ", a=" + alpha + "]";
- }
-
- public java.awt.Color toAWTColor() {
- return new java.awt.Color(red, green, blue, alpha);
- }
-
- public static Color fromAWTColor(java.awt.Color AWTColor) {
- return new Color(AWTColor.getRed(), AWTColor.getGreen(), AWTColor.getBlue(), AWTColor.getAlpha());
- }
-
- @Override
- public boolean equals(Object obj) {
- if (super.equals(obj)) {
- return true;
- }
- if (!(obj instanceof Color)) {
- return false;
- }
- Color c = (Color) obj;
- return c.getRed() == getRed() && c.getGreen() == getGreen() && c.getBlue() == getBlue() && c.getAlpha() == getAlpha();
- }
-}
+package net.sf.openrocket.util;
+
+public class ORColor {
+
+ public static ORColor BLACK = new ORColor(0,0,0);
+ public static ORColor INVISIBLE = new ORColor(1, 1, 1, 0);
+ public static ORColor DARK_RED = new ORColor(200, 0, 0);
+
+ private int red;
+ private int green;
+ private int blue;
+ private int alpha;
+
+ public ORColor(int red, int green, int blue ) {
+ this.red = red;
+ this.green = green;
+ this.blue = blue;
+ this.alpha = 255;
+ }
+
+ public ORColor(int red, int green, int blue, int alpha ) {
+ this.red = red;
+ this.green = green;
+ this.blue = blue;
+ this.alpha = alpha;
+ }
+
+ public int getRed() {
+ return red;
+ }
+
+ public void setRed(int red) {
+ this.red = red;
+ }
+
+ public int getGreen() {
+ return green;
+ }
+
+ public void setGreen(int green) {
+ this.green = green;
+ }
+
+ public int getBlue() {
+ return blue;
+ }
+
+ public void setBlue(int blue) {
+ this.blue = blue;
+ }
+
+ public int getAlpha() {
+ return alpha;
+ }
+
+ public void setAlpha(int alpha) {
+ this.alpha = alpha;
+ }
+
+ @Override
+ public String toString() {
+ return "ORColor [r=" + red + ", g=" + green + ", b=" + blue + ", a=" + alpha + "]";
+ }
+
+ public java.awt.Color toAWTColor() {
+ return new java.awt.Color(red, green, blue, alpha);
+ }
+
+ public static ORColor fromAWTColor(java.awt.Color AWTColor) {
+ return new ORColor(AWTColor.getRed(), AWTColor.getGreen(), AWTColor.getBlue(), AWTColor.getAlpha());
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (super.equals(obj)) {
+ return true;
+ }
+ if (!(obj instanceof ORColor)) {
+ return false;
+ }
+ ORColor c = (ORColor) obj;
+ return c.getRed() == getRed() && c.getGreen() == getGreen() && c.getBlue() == getBlue() && c.getAlpha() == getAlpha();
+ }
+}
diff --git a/core/src/net/sf/openrocket/util/TestRockets.java b/core/src/net/sf/openrocket/util/TestRockets.java
index 29f9b6a47..3f165245f 100644
--- a/core/src/net/sf/openrocket/util/TestRockets.java
+++ b/core/src/net/sf/openrocket/util/TestRockets.java
@@ -380,8 +380,8 @@ public class TestRockets {
return (rnd.nextDouble() * 0.2 + 0.9) * scale;
}
- private Color randomColor() {
- return new Color(rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));
+ private ORColor randomColor() {
+ return new ORColor(rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));
}
private > Enum randomEnum(Class c) {
@@ -1522,7 +1522,7 @@ public class TestRockets {
// make body tube with an appearance setting
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);
stage.addChild(bodyTube);
diff --git a/core/test/net/sf/openrocket/rocketcomponent/FreeformFinSetTest.java b/core/test/net/sf/openrocket/rocketcomponent/FreeformFinSetTest.java
index 20949593f..823c3a057 100644
--- a/core/test/net/sf/openrocket/rocketcomponent/FreeformFinSetTest.java
+++ b/core/test/net/sf/openrocket/rocketcomponent/FreeformFinSetTest.java
@@ -11,6 +11,7 @@ import static org.junit.Assert.fail;
import java.awt.geom.Point2D;
+import net.sf.openrocket.util.ORColor;
import org.junit.Test;
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.Transition.Shape;
import net.sf.openrocket.rocketcomponent.position.AxialMethod;
-import net.sf.openrocket.util.Color;
import net.sf.openrocket.util.Coordinate;
import net.sf.openrocket.util.LineStyle;
import net.sf.openrocket.util.Transformation;
@@ -38,7 +38,7 @@ public class FreeformFinSetTest extends BaseTestCase {
sourceSet.setBaseRotation(1.1);
sourceSet.setCantAngle(0.001);
sourceSet.setCGOverridden(true);
- sourceSet.setColor(Color.BLACK);
+ sourceSet.setColor(ORColor.BLACK);
sourceSet.setComment("cmt");
sourceSet.setCrossSection(CrossSection.ROUNDED);
sourceSet.setFinCount(5);
@@ -183,7 +183,7 @@ public class FreeformFinSetTest extends BaseTestCase {
assertEquals(0.001, finSet.getCantAngle(), EPSILON);
assertTrue(finSet.isCGOverridden());
assertTrue(finSet.isMassOverridden());
- assertEquals(Color.BLACK, finSet.getColor());
+ assertEquals(ORColor.BLACK, finSet.getColor());
assertEquals("cmt", finSet.getComment());
assertEquals(CrossSection.ROUNDED, finSet.getCrossSection());
assertEquals(5, finSet.getFinCount());
@@ -220,7 +220,7 @@ public class FreeformFinSetTest extends BaseTestCase {
assertEquals(0.001, finSet.getCantAngle(), EPSILON);
assertTrue(finSet.isCGOverridden());
assertTrue(finSet.isMassOverridden());
- assertEquals(Color.BLACK, finSet.getColor());
+ assertEquals(ORColor.BLACK, finSet.getColor());
assertEquals("cmt", finSet.getComment());
assertEquals(CrossSection.ROUNDED, finSet.getCrossSection());
assertEquals(5, finSet.getFinCount());
diff --git a/swing/src/net/sf/openrocket/file/photo/PhotoStudioGetter.java b/swing/src/net/sf/openrocket/file/photo/PhotoStudioGetter.java
index 41f37e796..8a5e003e3 100644
--- a/swing/src/net/sf/openrocket/file/photo/PhotoStudioGetter.java
+++ b/swing/src/net/sf/openrocket/file/photo/PhotoStudioGetter.java
@@ -1,12 +1,10 @@
package net.sf.openrocket.file.photo;
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.sky.Sky;
import net.sf.openrocket.gui.figure3d.photo.sky.builtin.*;
-import net.sf.openrocket.startup.Application;
-import net.sf.openrocket.util.Color;
+import net.sf.openrocket.util.ORColor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -94,7 +92,7 @@ public class PhotoStudioGetter {
return;
}
if ("sunlight".equals(element)) {
- Color sunlight = getColor(content);
+ ORColor sunlight = getColor(content);
p.setSunlight(sunlight);
return;
}
@@ -105,7 +103,7 @@ public class PhotoStudioGetter {
}
if ("skyColor".equals(element)) {
- Color skyColor = getColor(content);
+ ORColor skyColor = getColor(content);
p.setSkyColor(skyColor);
return;
}
@@ -121,7 +119,7 @@ public class PhotoStudioGetter {
return;
}
if ("flameColor".equals(element)) {
- Color flameColor = getColor(content);
+ ORColor flameColor = getColor(content);
p.setFlameColor(flameColor);
return;
}
@@ -131,7 +129,7 @@ public class PhotoStudioGetter {
return;
}
if ("smokeColor".equals(element)) {
- Color smokeColor = getColor(content);
+ ORColor smokeColor = getColor(content);
p.setSmokeColor(smokeColor);
return;
}
@@ -190,7 +188,7 @@ public class PhotoStudioGetter {
}
}
- private Color getColor(String content) {
+ private ORColor getColor(String content) {
String[] values = content.split(" ");
if (values.length < 4) return null;
@@ -198,6 +196,6 @@ public class PhotoStudioGetter {
int green = Integer.parseInt(values[1]);
int blue = Integer.parseInt(values[2]);
int alpha = Integer.parseInt(values[3]);
- return new Color(red, green, blue, alpha);
+ return new ORColor(red, green, blue, alpha);
}
}
diff --git a/swing/src/net/sf/openrocket/file/photo/PhotoStudioSetter.java b/swing/src/net/sf/openrocket/file/photo/PhotoStudioSetter.java
index b5dfec0ca..10c189913 100644
--- a/swing/src/net/sf/openrocket/file/photo/PhotoStudioSetter.java
+++ b/swing/src/net/sf/openrocket/file/photo/PhotoStudioSetter.java
@@ -1,7 +1,7 @@
package net.sf.openrocket.file.photo;
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.Map;
@@ -56,7 +56,7 @@ public class PhotoStudioSetter {
return photoSettings;
}
- private static String getColor(Color color) {
+ private static String getColor(ORColor color) {
if (color == null) return "";
return color.getRed() + " " + color.getGreen() + " " + color.getBlue() + " " + color.getAlpha();
}
diff --git a/swing/src/net/sf/openrocket/gui/components/ColorIcon.java b/swing/src/net/sf/openrocket/gui/components/ColorIcon.java
index 8da617d22..4032fab9e 100644
--- a/swing/src/net/sf/openrocket/gui/components/ColorIcon.java
+++ b/swing/src/net/sf/openrocket/gui/components/ColorIcon.java
@@ -5,6 +5,7 @@ import java.awt.Color;
import javax.swing.Icon;
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.
@@ -18,7 +19,7 @@ public class ColorIcon implements Icon {
this.color = c;
}
- public ColorIcon(net.sf.openrocket.util.Color c){
+ public ColorIcon(ORColor c){
this.color = ColorConversion.toAwtColor(c);
}
diff --git a/swing/src/net/sf/openrocket/gui/configdialog/AppearancePanel.java b/swing/src/net/sf/openrocket/gui/configdialog/AppearancePanel.java
index f35e5dba2..823efb2dc 100644
--- a/swing/src/net/sf/openrocket/gui/configdialog/AppearancePanel.java
+++ b/swing/src/net/sf/openrocket/gui/configdialog/AppearancePanel.java
@@ -59,6 +59,7 @@ import net.sf.openrocket.unit.GeneralUnit;
import net.sf.openrocket.unit.Unit;
import net.sf.openrocket.unit.UnitGroup;
import net.sf.openrocket.util.LineStyle;
+import net.sf.openrocket.util.ORColor;
import net.sf.openrocket.util.StateChangeListener;
import net.sf.openrocket.gui.widgets.SelectColorButton;
@@ -138,7 +139,7 @@ public class AppearancePanel extends JPanel {
private void changeComponentColor(Color color) {
try {
final Method setMethod = o.getClass().getMethod(
- "set" + valueName, net.sf.openrocket.util.Color.class);
+ "set" + valueName, ORColor.class);
if (color == null)
return;
try {
@@ -164,7 +165,7 @@ public class AppearancePanel extends JPanel {
try {
final Method getMethod = o.getClass().getMethod(
"get" + valueName);
- net.sf.openrocket.util.Color c = (net.sf.openrocket.util.Color) getMethod
+ ORColor c = (ORColor) getMethod
.invoke(o);
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) {
figureColor = ((SwingPreferences) Application.getPreferences()).getDefaultColor(c.getClass());
}
@@ -276,7 +277,7 @@ public class AppearancePanel extends JPanel {
c.addChangeListener(new StateChangeListener() {
@Override
public void stateChanged(EventObject e) {
- net.sf.openrocket.util.Color col = c.getColor();
+ ORColor col = c.getColor();
if (col == null) {
col = ((SwingPreferences) Application.getPreferences()).getDefaultColor(c.getClass());
}
@@ -335,7 +336,7 @@ public class AppearancePanel extends JPanel {
add(saveAsDefault, "span 2, align right, wrap");
}
- {// Figure Color
+ {// Figure ORColor
add(new JLabel(trans.get("RocketCompCfg.lbl.Componentcolor")));
fDefault.addEnableComponent(figureColorButton, false);
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
- // Color
+ // ORColor
panel.add(new JLabel(trans.get("AppearanceCfg.lbl.color.Color")));
mDefault.addEnableComponent(colorButton, false);
panel.add(colorButton);
diff --git a/swing/src/net/sf/openrocket/gui/configdialog/InnerTubeConfig.java b/swing/src/net/sf/openrocket/gui/configdialog/InnerTubeConfig.java
index d3c267ff1..1433c8472 100644
--- a/swing/src/net/sf/openrocket/gui/configdialog/InnerTubeConfig.java
+++ b/swing/src/net/sf/openrocket/gui/configdialog/InnerTubeConfig.java
@@ -275,7 +275,7 @@ public class InnerTubeConfig extends RocketComponentConfig {
subPanel.add(new JLabel(trans.get("InnerTubeCfg.lbl.Selectclustercfg")), "spanx, wrap");
subPanel.add(new ClusterSelectionPanel((InnerTube) component), "spanx, wrap");
// JPanel clusterSelection = new ClusterSelectionPanel((InnerTube)component);
- // clusterSelection.setBackground(Color.blue);
+ // clusterSelection.setBackground(ORColor.blue);
// subPanel.add(clusterSelection);
panel.add(subPanel);
@@ -522,7 +522,7 @@ class ClusterSelectionPanel extends JPanel {
setPreferredSize(new Dimension(BUTTON_SIZE, BUTTON_SIZE));
setMaximumSize(new Dimension(BUTTON_SIZE, BUTTON_SIZE));
setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));
- // setBorder(BorderFactory.createLineBorder(Color.BLACK, 1));
+ // setBorder(BorderFactory.createLineBorder(ORColor.BLACK, 1));
setToolTipText(config.getXMLName());
component.addChangeListener(this);
addMouseListener(this);
diff --git a/swing/src/net/sf/openrocket/gui/figure3d/FigureRenderer.java b/swing/src/net/sf/openrocket/gui/figure3d/FigureRenderer.java
index a9c2eacf4..2e7f44767 100644
--- a/swing/src/net/sf/openrocket/gui/figure3d/FigureRenderer.java
+++ b/swing/src/net/sf/openrocket/gui/figure3d/FigureRenderer.java
@@ -19,7 +19,7 @@ import net.sf.openrocket.rocketcomponent.RocketComponent;
import net.sf.openrocket.rocketcomponent.SymmetricComponent;
import net.sf.openrocket.rocketcomponent.Transition;
import net.sf.openrocket.startup.Application;
-import net.sf.openrocket.util.Color;
+import net.sf.openrocket.util.ORColor;
public class FigureRenderer extends RocketRenderer {
private final float[] color = new float[4];
@@ -70,13 +70,13 @@ public class FigureRenderer extends RocketRenderer {
return false;
}
- private static final HashMap, Color> defaultColorCache = new HashMap, Color>();
+ private static final HashMap, ORColor> defaultColorCache = new HashMap, ORColor>();
@Override
public void renderComponent(GL2 gl, Geometry geom, float alpha) {
RocketComponent c = geom.getComponent();
gl.glLightModeli(GL2ES1.GL_LIGHT_MODEL_TWO_SIDE, 1);
- Color figureColor = c.getColor();
+ ORColor figureColor = c.getColor();
if (figureColor == null) {
if (defaultColorCache.containsKey(c.getClass())) {
figureColor = defaultColorCache.get(c.getClass());
@@ -148,7 +148,7 @@ public class FigureRenderer extends RocketRenderer {
return 20;
}
- protected static void convertColor(Color color, float[] out) {
+ protected static void convertColor(ORColor color, float[] out) {
if (color == null) {
out[0] = 1;
out[1] = 1;
diff --git a/swing/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java b/swing/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java
index 9396c1ec9..cefa63514 100644
--- a/swing/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java
+++ b/swing/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java
@@ -16,7 +16,7 @@ import net.sf.openrocket.gui.figure3d.geometry.Geometry.Surface;
import net.sf.openrocket.motor.Motor;
import net.sf.openrocket.rocketcomponent.InsideColorComponent;
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;
@@ -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) {
out[0] = 1;
out[1] = 1;
diff --git a/swing/src/net/sf/openrocket/gui/figure3d/photo/PhotoPanel.java b/swing/src/net/sf/openrocket/gui/figure3d/photo/PhotoPanel.java
index 8665c467d..b75320115 100644
--- a/swing/src/net/sf/openrocket/gui/figure3d/photo/PhotoPanel.java
+++ b/swing/src/net/sf/openrocket/gui/figure3d/photo/PhotoPanel.java
@@ -32,6 +32,7 @@ import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.event.MouseInputAdapter;
+import net.sf.openrocket.util.ORColor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -54,7 +55,6 @@ import net.sf.openrocket.rocketcomponent.MotorMount;
import net.sf.openrocket.rocketcomponent.RocketComponent;
import net.sf.openrocket.startup.Application;
import net.sf.openrocket.startup.Preferences;
-import net.sf.openrocket.util.Color;
import net.sf.openrocket.util.Coordinate;
import net.sf.openrocket.util.MathUtil;
import net.sf.openrocket.util.StateChangeListener;
@@ -374,7 +374,7 @@ public class PhotoPanel extends JPanel implements GLEventListener {
return image;
}
- private static void convertColor(Color color, float[] out) {
+ private static void convertColor(ORColor color, float[] out) {
if (color == null) {
out[0] = 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
* @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) {
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 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) {
@@ -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)
if (useFakeTransparencyRendering && !Application.getPreferences().getBoolean(
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);
} else {
convertColor(p.getSkyColor(), color);
diff --git a/swing/src/net/sf/openrocket/gui/figure3d/photo/PhotoSettings.java b/swing/src/net/sf/openrocket/gui/figure3d/photo/PhotoSettings.java
index 493cae0f0..e18bf26f4 100644
--- a/swing/src/net/sf/openrocket/gui/figure3d/photo/PhotoSettings.java
+++ b/swing/src/net/sf/openrocket/gui/figure3d/photo/PhotoSettings.java
@@ -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.builtin.Mountains;
import net.sf.openrocket.util.AbstractChangeSource;
-import net.sf.openrocket.util.Color;
+import net.sf.openrocket.util.ORColor;
import net.sf.openrocket.util.MathUtil;
public class PhotoSettings extends AbstractChangeSource implements FlameSettings {
@@ -20,18 +20,18 @@ public class PhotoSettings extends AbstractChangeSource implements FlameSettings
private double lightAlt = .35;
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 Color skyColor = new Color(55, 95, 155);
+ private ORColor skyColor = new ORColor(55, 95, 155);
private double skyColorOpacity = 1.0;
private boolean motionBlurred = 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 Color smokeColor = new Color(230, 230, 230, 102);
+ private ORColor smokeColor = new ORColor(230, 230, 230, 102);
private boolean sparks = false;
private double exhaustScale = 1.0;
private double flameAspectRatio = 1.0;
@@ -163,11 +163,11 @@ public class PhotoSettings extends AbstractChangeSource implements FlameSettings
fireChangeEvent();
}
- public Color getSunlight() {
+ public ORColor getSunlight() {
return sunlight;
}
- public void setSunlight(Color sunlight) {
+ public void setSunlight(ORColor sunlight) {
this.sunlight = sunlight;
fireChangeEvent();
}
@@ -181,11 +181,11 @@ public class PhotoSettings extends AbstractChangeSource implements FlameSettings
fireChangeEvent();
}
- public Color getSkyColor() {
+ public ORColor getSkyColor() {
return skyColor;
}
- public void setSkyColor(Color skyColor) {
+ public void setSkyColor(ORColor skyColor) {
this.skyColor = skyColor;
this.skyColorOpacity = skyColor.getAlpha() / 255f;
fireChangeEvent();
@@ -201,20 +201,20 @@ public class PhotoSettings extends AbstractChangeSource implements FlameSettings
fireChangeEvent();
}
- public Color getFlameColor() {
+ public ORColor getFlameColor() {
return flameColor;
}
- public void setFlameColor(Color flameColor) {
+ public void setFlameColor(ORColor flameColor) {
this.flameColor = flameColor;
fireChangeEvent();
}
- public Color getSmokeColor() {
+ public ORColor getSmokeColor() {
return smokeColor;
}
- public void setSmokeColor(Color smokeColor) {
+ public void setSmokeColor(ORColor smokeColor) {
this.smokeColor = smokeColor;
fireChangeEvent();
}
diff --git a/swing/src/net/sf/openrocket/gui/figure3d/photo/PhotoSettingsConfig.java b/swing/src/net/sf/openrocket/gui/figure3d/photo/PhotoSettingsConfig.java
index e66251414..a2d972bbd 100644
--- a/swing/src/net/sf/openrocket/gui/figure3d/photo/PhotoSettingsConfig.java
+++ b/swing/src/net/sf/openrocket/gui/figure3d/photo/PhotoSettingsConfig.java
@@ -47,6 +47,7 @@ import net.sf.openrocket.gui.util.ColorConversion;
import net.sf.openrocket.l10n.Translator;
import net.sf.openrocket.startup.Application;
import net.sf.openrocket.unit.UnitGroup;
+import net.sf.openrocket.util.ORColor;
import net.sf.openrocket.util.StateChangeListener;
import net.sf.openrocket.gui.widgets.SelectColorButton;
@@ -71,7 +72,7 @@ public class PhotoSettingsConfig extends JTabbedPane {
*/
private void changeComponentColor(Color color) {
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)
return;
try {
@@ -90,7 +91,7 @@ public class PhotoSettingsConfig extends JTabbedPane {
public void actionPerformed(ActionEvent colorClickEvent) {
try {
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);
colorChooser.setColor(awtColor);
diff --git a/swing/src/net/sf/openrocket/gui/figure3d/photo/exhaust/FlameRenderer.java b/swing/src/net/sf/openrocket/gui/figure3d/photo/exhaust/FlameRenderer.java
index 524324ff2..45a243c93 100644
--- a/swing/src/net/sf/openrocket/gui/figure3d/photo/exhaust/FlameRenderer.java
+++ b/swing/src/net/sf/openrocket/gui/figure3d/photo/exhaust/FlameRenderer.java
@@ -123,6 +123,7 @@ import java.util.Random;
import javax.imageio.ImageIO;
+import net.sf.openrocket.util.ORColor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -137,7 +138,6 @@ import com.jogamp.opengl.util.texture.Texture;
import com.jogamp.opengl.util.texture.awt.AWTTextureIO;
import net.sf.openrocket.motor.Motor;
-import net.sf.openrocket.util.Color;
public final class FlameRenderer {
@@ -146,11 +146,11 @@ public final class FlameRenderer {
public boolean isFlame();
- public Color getFlameColor();
+ public ORColor getFlameColor();
public boolean isSmoke();
- public Color getSmokeColor();
+ public ORColor getSmokeColor();
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) {
out[0] = 1;
out[1] = 1;
@@ -376,7 +376,7 @@ public final class FlameRenderer {
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];
convertColor(color, c);
diff --git a/swing/src/net/sf/openrocket/gui/main/RocketActions.java b/swing/src/net/sf/openrocket/gui/main/RocketActions.java
index 86d6cfa0a..e2af3aaa9 100644
--- a/swing/src/net/sf/openrocket/gui/main/RocketActions.java
+++ b/swing/src/net/sf/openrocket/gui/main/RocketActions.java
@@ -35,7 +35,7 @@ import net.sf.openrocket.rocketcomponent.Rocket;
import net.sf.openrocket.rocketcomponent.RocketComponent;
import net.sf.openrocket.rocketcomponent.AxialStage;
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 org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -981,8 +981,8 @@ public class RocketActions {
}
private boolean isAppearanceEqual(Appearance app1, Appearance app2) {
- Color color1 = app1.getPaint();
- Color color2 = app2.getPaint();
+ ORColor color1 = app1.getPaint();
+ ORColor color2 = app2.getPaint();
if (color1 == null && color2 == null) {
return true;
diff --git a/swing/src/net/sf/openrocket/gui/rocketfigure/ComponentAssemblyShapes.java b/swing/src/net/sf/openrocket/gui/rocketfigure/ComponentAssemblyShapes.java
index edc683f1c..632767705 100644
--- a/swing/src/net/sf/openrocket/gui/rocketfigure/ComponentAssemblyShapes.java
+++ b/swing/src/net/sf/openrocket/gui/rocketfigure/ComponentAssemblyShapes.java
@@ -3,11 +3,10 @@ package net.sf.openrocket.gui.rocketfigure;
import net.sf.openrocket.rocketcomponent.AxialStage;
import net.sf.openrocket.rocketcomponent.ComponentAssembly;
import net.sf.openrocket.rocketcomponent.ParallelStage;
-import net.sf.openrocket.rocketcomponent.PodSet;
import net.sf.openrocket.rocketcomponent.RocketComponent;
import net.sf.openrocket.rocketcomponent.position.AxialMethod;
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 java.awt.Shape;
@@ -40,7 +39,7 @@ public class ComponentAssemblyShapes extends RocketComponentShape {
Shape[] s = EmptyShapes.getShapesSideWithSelectionSquare(correctedTransform, markerRadius);
RocketComponentShape[] shapes = RocketComponentShape.toArray(s, component);
- shapes[shapes.length - 1].setColor(Color.INVISIBLE);
+ shapes[shapes.length - 1].setColor(ORColor.INVISIBLE);
return shapes;
}
@@ -64,7 +63,7 @@ public class ComponentAssemblyShapes extends RocketComponentShape {
Shape[] s = EmptyShapes.getShapesBackWithSelectionSquare(correctedTransform, markerRadius);
RocketComponentShape[] shapes = RocketComponentShape.toArray(s, component);
- shapes[shapes.length - 1].setColor(Color.INVISIBLE);
+ shapes[shapes.length - 1].setColor(ORColor.INVISIBLE);
return shapes;
}
diff --git a/swing/src/net/sf/openrocket/gui/rocketfigure/RailButtonShapes.java b/swing/src/net/sf/openrocket/gui/rocketfigure/RailButtonShapes.java
index 3dc5b12ed..4cb4012e5 100644
--- a/swing/src/net/sf/openrocket/gui/rocketfigure/RailButtonShapes.java
+++ b/swing/src/net/sf/openrocket/gui/rocketfigure/RailButtonShapes.java
@@ -12,7 +12,7 @@ import java.util.Arrays;
import net.sf.openrocket.rocketcomponent.RailButton;
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.Transformation;
@@ -145,7 +145,7 @@ public class RailButtonShapes extends RocketComponentShape {
RocketComponentShape[] shapesInvis = RocketComponentShape.toArray(new Shape[]{ pathInvis }, component);
for (RocketComponentShape s : shapesInvis) {
- s.setColor(Color.INVISIBLE);
+ s.setColor(ORColor.INVISIBLE);
}
RocketComponentShape[] total = Arrays.copyOf(shapes, shapes.length + shapesInvis.length);
diff --git a/swing/src/net/sf/openrocket/gui/rocketfigure/RocketComponentShape.java b/swing/src/net/sf/openrocket/gui/rocketfigure/RocketComponentShape.java
index c132bfd3d..45fe63d57 100644
--- a/swing/src/net/sf/openrocket/gui/rocketfigure/RocketComponentShape.java
+++ b/swing/src/net/sf/openrocket/gui/rocketfigure/RocketComponentShape.java
@@ -5,7 +5,7 @@ import java.awt.Shape;
import net.sf.openrocket.rocketcomponent.RocketComponent;
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.Transformation;
@@ -17,7 +17,7 @@ public class RocketComponentShape {
final public boolean hasShape;
final public Shape shape;
- public net.sf.openrocket.util.Color color;
+ public ORColor color;
final public LineStyle lineStyle;
final public RocketComponent component;
@@ -64,11 +64,11 @@ public class RocketComponentShape {
return new RocketComponentShape[0];
}
- public Color getColor() {
+ public ORColor getColor() {
return color;
}
- public void setColor(Color color) {
+ public void setColor(ORColor color) {
this.color = color;
}
diff --git a/swing/src/net/sf/openrocket/gui/scalefigure/RocketFigure.java b/swing/src/net/sf/openrocket/gui/scalefigure/RocketFigure.java
index 50dd4d1ae..e33447df1 100644
--- a/swing/src/net/sf/openrocket/gui/scalefigure/RocketFigure.java
+++ b/swing/src/net/sf/openrocket/gui/scalefigure/RocketFigure.java
@@ -22,6 +22,7 @@ import net.sf.openrocket.gui.util.UITheme;
import net.sf.openrocket.rocketcomponent.AxialStage;
import net.sf.openrocket.rocketcomponent.ParallelStage;
import net.sf.openrocket.rocketcomponent.PodSet;
+import net.sf.openrocket.util.ORColor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -274,7 +275,7 @@ public class RocketFigure extends AbstractScaleFigure {
}
// Set component color and line style
- net.sf.openrocket.util.Color color = rcs.color;
+ ORColor color = rcs.color;
if (color == null) {
color = ((SwingPreferences) Application.getPreferences()).getDefaultColor(c.getClass());
}
@@ -455,7 +456,7 @@ public class RocketFigure extends AbstractScaleFigure {
final RocketPanel.VIEW_TYPE viewType,
final RocketComponent component,
final Transformation transformation,
- final net.sf.openrocket.util.Color color) {
+ final ORColor color) {
Reflection.Method m;
if ((component instanceof Rocket) || (component instanceof AxialStage && !(component instanceof ParallelStage))){
@@ -491,7 +492,7 @@ public class RocketFigure extends AbstractScaleFigure {
if (color != null) {
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);
}
}
diff --git a/swing/src/net/sf/openrocket/gui/util/ColorConversion.java b/swing/src/net/sf/openrocket/gui/util/ColorConversion.java
index e9a2eae4d..af1f17c5c 100644
--- a/swing/src/net/sf/openrocket/gui/util/ColorConversion.java
+++ b/swing/src/net/sf/openrocket/gui/util/ColorConversion.java
@@ -1,18 +1,20 @@
package net.sf.openrocket.gui.util;
+import net.sf.openrocket.util.ORColor;
+
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 ) {
return null;
}
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 ) {
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());
}
}
diff --git a/swing/src/net/sf/openrocket/gui/util/SwingPreferences.java b/swing/src/net/sf/openrocket/gui/util/SwingPreferences.java
index 44bdd5736..c4f830b2a 100644
--- a/swing/src/net/sf/openrocket/gui/util/SwingPreferences.java
+++ b/swing/src/net/sf/openrocket/gui/util/SwingPreferences.java
@@ -33,6 +33,7 @@ import net.sf.openrocket.rocketcomponent.RecoveryDevice;
import net.sf.openrocket.rocketcomponent.RocketComponent;
import net.sf.openrocket.rocketcomponent.TubeFinSet;
import net.sf.openrocket.simulation.SimulationOptionsInterface;
+import net.sf.openrocket.util.ORColor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -406,20 +407,20 @@ public class SwingPreferences extends net.sf.openrocket.startup.Preferences impl
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);
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) {
return clr;
} 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)
return;
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.
- * you can pass (java.awt.Color) null to the second argument to
+ * this class returns a java.awt.ORColor object for the specified key.
+ * you can pass (java.awt.ORColor) null to the second argument to
* disambiguate
*/
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) {
return defaultValue;
}
@@ -698,7 +699,7 @@ public class SwingPreferences extends net.sf.openrocket.startup.Preferences impl
*
*/
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);
}