Add a sticker decal option

This commit is contained in:
bkuker 2013-01-02 11:04:13 -05:00
parent 98db1885c2
commit e8ac5d4dea
4 changed files with 7 additions and 5 deletions

View File

@ -740,7 +740,8 @@ AppearanceCfg.lbl.texture.repeat = Repeat:
! Texture Wrap Modes ! Texture Wrap Modes
TextureWrap.Repeat = Repeat TextureWrap.Repeat = Repeat
TextureWrap.Mirror = Repeat & Mirror TextureWrap.Mirror = Repeat & Mirror
TextureWrap.Clamp = Clamp Edge Pixels TextureWrap.Clamp = Clamp Edge Pixel
TextureWrap.Sticker = Sticker
! RocketConfig ! RocketConfig
RocketCfg.lbl.Designname = Design name: RocketCfg.lbl.Designname = Design name:

View File

@ -11,7 +11,7 @@ import net.sf.openrocket.util.Coordinate;
public class Decal { public class Decal {
public static enum EdgeMode { public static enum EdgeMode {
REPEAT("TextureWrap.Repeat"), MIRROR("TextureWrap.Mirror"), CLAMP("TextureWrap.Clamp"); REPEAT("TextureWrap.Repeat"), MIRROR("TextureWrap.Mirror"), CLAMP("TextureWrap.Clamp"), STICKER("TextureWrap.Sticker");
private final String transName; private final String transName;
EdgeMode(final String name){ EdgeMode(final String name){
this.transName = name; this.transName = name;

View File

@ -48,7 +48,7 @@ public class SimpleAppearanceBuilder extends AppearanceBuilder {
batch(new Runnable() { batch(new Runnable() {
@Override @Override
public void run() { public void run() {
if (getImage() == null && image != null) { if (getImage() == null && image != null && getEdgeMode() != Decal.EdgeMode.STICKER ) {
oldColor = getColor(); oldColor = getColor();
setColor(new Color(255, 255, 255)); setColor(new Color(255, 255, 255));
} else if (getImage() != null && image == null && oldColor != null) { } else if (getImage() != null && image == null && oldColor != null) {

View File

@ -21,6 +21,7 @@ import javax.swing.SwingConstants;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import net.sf.openrocket.appearance.Decal;
import net.sf.openrocket.appearance.Decal.EdgeMode; import net.sf.openrocket.appearance.Decal.EdgeMode;
import net.sf.openrocket.appearance.SimpleAppearanceBuilder; import net.sf.openrocket.appearance.SimpleAppearanceBuilder;
import net.sf.openrocket.document.OpenRocketDocument; import net.sf.openrocket.document.OpenRocketDocument;
@ -250,12 +251,12 @@ public class AppearancePanel extends JPanel {
{ // Color { // Color
add(new JLabel(trans.get("AppearanceCfg.lbl.color.Color"))); add(new JLabel(trans.get("AppearanceCfg.lbl.color.Color")));
//mDefault.addEnableComponent(colorButton, false); //mDefault.addEnableComponent(colorButton, false);
colorButton.setEnabled(ab.getImage() == null); colorButton.setEnabled(ab.getImage() == null || ab.getEdgeMode() == Decal.EdgeMode.STICKER);
add(colorButton); add(colorButton);
ab.addChangeListener(new StateChangeListener() { ab.addChangeListener(new StateChangeListener() {
@Override @Override
public void stateChanged(EventObject e) { public void stateChanged(EventObject e) {
colorButton.setEnabled(ab.getImage() == null); colorButton.setEnabled(ab.getImage() == null || ab.getEdgeMode() == Decal.EdgeMode.STICKER);
} }
}); });
} }