001/*
002 * To change this template, choose Tools | Templates
003 * and open the template in the editor.
004 */
005package armyc2.c2sd.renderer.utilities;
006
007import java.util.ArrayList;
008
009/**
010 * Symbol attributes for use as url parameters
011 * @author michael.spinelli
012 */
013public class MilStdAttributes {
014     
015    /*
016     * Line color of the symbol. hex value.
017     */
018    public static final int LineColor = 0;
019    
020    /*
021     * Fill color of the symbol. hex value
022     */
023    public static final int FillColor = 1;
024
025    /*
026     * Color of internal icon. hex value
027     */
028    public static final int IconColor = 17;
029    
030    /*
031     * font size to use when rendering symbol
032     */
033    public static final int FontSize = 2;
034    
035    /*
036     * size of the single point image
037     */
038    public static final int PixelSize = 3;
039    
040    /*
041     * scale value to grow or shrink single point tactical graphics.
042     */
043    public static final int Scale = 4;
044    
045    /**
046     * defaults to true
047     */
048    public static final int KeepUnitRatio = 5;
049    
050    /*
051     * transparency value of the symbol. values from 0-255
052     */
053    public static final int Alpha = 6;
054    
055    /*
056     * outline the symbol, true/false
057     */
058    public static final int OutlineSymbol = 7;
059    
060    /*
061     * specify and outline color rather than letting renderer picking 
062     * the best contrast color. hex value
063     */
064    public static final int OutlineColor = 8;
065    
066    /**
067     * specifies thickness of the symbol outline
068     */
069    //public static final int OutlineWidth = 9;
070    
071    /*
072     * just draws the core symbol
073     */
074    public static final int DrawAsIcon = 10;
075    
076    /*
077     * 2525B vs 2525C. 
078     * like:
079     * RendererSettings.Symbology_2525Bch2_USAS_13_14
080     * OR
081     * RendererSettings.Symbology_2525C
082     */
083    public static final int SymbologyStandard = 11;
084    
085    public static final int LineWidth = 12;
086   
087    public static final int TextColor = 13;
088    
089    public static final int TextBackgroundColor = 14;    
090    
091    /**
092     * If false, the renderer will create a bunch of little lines to create
093     * the "dash" effect (expensive but necessary for KML).  
094     * If true, it will be on the user to create the dash effect using the
095     * DashArray from the Stroke object from the ShapeInfo object.
096     */
097    public static final int UseDashArray = 15;
098
099    /**
100     * The mode that altitude labels will be displayed in, the default value is HAE.
101     *
102     * This value acts as a label, appending whatever string that is passed in to the end of the altitude units.
103     */
104    public static final int AltitudeMode = 16;
105
106    /**
107     * At the moment, this refers to the optional range fan labels.
108     */
109    public static final int HideOptionalLabels = 17;
110
111    public static final int UsePatternFill = 18;
112
113    public static final int PatternFillType = 19;
114
115    /**
116     * The conversion factor and the label that you want all distances to display in. The conversion factor
117     * is converting from meters. The default unit is meters.<br><br>
118     *
119     * Must be in the form [conversionFactor],[label]. So for example converting to feet would be "3.28,ft."
120     * The helper class {@link DistanceUnit} can be used.
121     */
122    public static final int DistanceUnits = 20;
123
124    /**
125     * The conversion factor and the label that you want all distances to display in. The conversion factor
126     * is converting from meters. The default unit is meters.<br><br>
127     *
128     * Must be in the form [conversionFactor],[label]. So for example converting to feet would be "3.28,ft."
129     * The helper class {@link DistanceUnit} can be used.
130     */
131    public static final int AltitudeUnits = 21;
132    
133    public static ArrayList<Integer> GetModifierList()
134    {
135        ArrayList<Integer> list = new ArrayList<Integer>();
136        
137        list.add(LineColor);
138        list.add(FillColor);
139        list.add(IconColor);
140        list.add(FontSize);
141        list.add(PixelSize);
142        list.add(Scale);
143        list.add(KeepUnitRatio);
144        list.add(Alpha);
145        list.add(OutlineSymbol);
146        list.add(OutlineColor);
147        //list.add(OutlineWidth);
148        list.add(DrawAsIcon);
149        list.add(SymbologyStandard);
150        list.add(HideOptionalLabels);
151        list.add(DistanceUnits);
152        list.add(AltitudeUnits);
153        
154        return list;
155    }
156}