package es.upm.fi.dia.oeg.map4rdf.client.util; public class DrawPointStyle { public enum Style {FACET, NEXT_POINTS, ROUTES,POLYLINE_ROUTE, CENTER_NEXT_POINTS, SELECTED_RESOURCE} //POLYLINE_ROUTE is a default style but is for separate route points of polyline(route). private Style style; private char leter; private String facetHexColour="#0000FF"; private static final String MARKER_RED_ICON = "marker_red.png"; //private static final String MARKER_YELLOW_ICON = "marker_yellow_facet.png"; private static final String MARKER_TURQUEISE_ICON = "marker_turqueise_facet.png"; private static final String MARKER_LIGHTPURPLE_ICON = "marker_light_purple_facet.png"; private static final String MARKER_BLUE_ICON = "marker_blue.png"; private static final String MARKER_GREEN_ICON = "marker_green<leter>.png"; private static final String MARKER_ORANGE_ICON = "marker_orange.png"; private static final String MARKER_PURPLE_ICON = "marker_purple.png"; private static final String MARKER_cc99ff_ICON = "marker_cc99ff_facet.png"; private static final String MARKER_8f49d1_ICON = "marker_8f49d1_facet.png"; private static final String MARKER_4979d1_ICON = "marker_4979d1_facet.png"; private static final String MARKER_49d1c4_ICON = "marker_49d1c4_facet.png"; private static final String MARKER_8bd149_ICON = "marker_8bd149_facet.png"; private static final String MARKER_d149b8_ICON = "marker_d149b8_facet.png"; private static final String MARKER_d7e354_ICON = "marker_d7e354_facet.png"; private static final String MARKER_d14972_ICON = "marker_d14972_facet.png"; //Min length hexColours=0; //with Yellow: //private static final String[] hexColours={"#f88296","#b0a420","#e6a9dd","#9cf3dc"}; //private static final String[] hexColours={"#f88296","#e6a9dd","#9cf3dc",}; private static final String[] hexColours={"#f88296","#e6a9dd","#9cf3dc","#cc99ff","#8f49d1","#4979d1","#49d1c4","#8bd149","#d149b8","#d7e354","#d14972"}; //hexColours.length == relationHexColours.length //with Yellow //private static final String[] relationHexColours={MARKER_RED_ICON,MARKER_YELLOW_ICON,MARKER_LIGHTPURPLE_ICON,MARKER_TURQUEISE_ICON}; private static final String[] relationHexColours={MARKER_RED_ICON,MARKER_LIGHTPURPLE_ICON,MARKER_TURQUEISE_ICON,MARKER_cc99ff_ICON,MARKER_8f49d1_ICON ,MARKER_4979d1_ICON,MARKER_49d1c4_ICON,MARKER_8bd149_ICON,MARKER_d149b8_ICON,MARKER_d7e354_ICON,MARKER_d14972_ICON}; public DrawPointStyle(){ this.style=getDefaultStyle(); leter=getMinLeter(); } public DrawPointStyle(String hexColour){ this.style=getDefaultStyle(); this.facetHexColour=hexColour; leter=getMinLeter(); } public DrawPointStyle(Style style){ this.style=style; leter=getMinLeter(); } public DrawPointStyle(Style style,char leter){ this.style=style; if(leter>=getMinLeter() && leter <= getMaxLeter()){ this.leter=leter; }else{ this.leter=getMinLeter(); } } public DrawPointStyle(char leter){ this.style=Style.ROUTES; if(leter>=getMinLeter() && leter <= getMaxLeter()){ this.leter=leter; }else{ this.leter=getMinLeter(); } } public Style getStyle(){ return style; } public String getImageURL(){ switch (style) { case FACET: int position=0; for(int i=0;i<hexColours.length;i++){ if(hexColours[i].equals(facetHexColour)){ position=i; break; } } return relationHexColours[position]; case NEXT_POINTS: return MARKER_BLUE_ICON; case ROUTES: String toReturn=new String(MARKER_GREEN_ICON); if(leter>getMaxLeter()){ leter=getMaxLeter(); } toReturn=toReturn.replace("<leter>", String.valueOf(leter)); return toReturn; case CENTER_NEXT_POINTS: return MARKER_ORANGE_ICON; case SELECTED_RESOURCE: return MARKER_PURPLE_ICON; default: return MARKER_RED_ICON; } } public String getFacetHexColour() { switch (style) { case CENTER_NEXT_POINTS: return "#ffb225"; case ROUTES: return "#00d600"; default: return facetHexColour; } } public void setFacetHexColour(String facetHexColour) { this.facetHexColour = facetHexColour; } public int getWidth(){ if(style==Style.ROUTES){ return 21; }else{ return 24; } } public int getHeight(){ if(style==Style.ROUTES){ return 34; }else{ return 21; } } public int getDesplaceOffsetY(){ //Depend of image. Desplacement of left-up corner that where image mark. if(style==Style.ROUTES){ return -17; }else{ return -10; } } public int getDesplaceOffsetX(){ //Depend of image. Desplacement of left-up corner that where image mark. if(style==Style.ROUTES){ return -10; }else{ return -6; } } public static char getMaxLeter(){ return 'Z'; } public static char getMinLeter(){ return 'A'; } public static int getLeterSize(){ return getMaxLeter()-getMinLeter()+1; } public static Style getDefaultStyle(){ return Style.FACET; } public static String[] getHexColours(){ return hexColours; } }