Ignore:
Timestamp:
2013-01-14T19:11:27+01:00 (12 years ago)
Author:
malcolmh
Message:

save

Location:
applications/editors/josm/plugins/smed2/src
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/smed2/src/panels/PanelMain.java

    r29074 r29198  
    1616public class PanelMain extends JPanel {
    1717
    18         private static final long serialVersionUID = 1L;
    19        
    2018        private JTabbedPane tabs = null;
    2119//      public PanelF panelF = null;
  • applications/editors/josm/plugins/smed2/src/panels/ShowFrame.java

    r29184 r29198  
    1818
    1919public class ShowFrame extends JFrame implements MapHelper {
    20         private static final long serialVersionUID = 1L;
    2120       
    2221        public SeaMap showMap;
  • applications/editors/josm/plugins/smed2/src/seamap/Renderer.java

    r29189 r29198  
    1818import s57.S57att.Att;
    1919import s57.S57obj.Obj;
    20 import s57.S57val.ColCOL;
    2120import s57.S57val.*;
    2221import s57.S57val;
     
    6665                        ArrayList<Long> way = map.ways.get(feature.refs);
    6766                        Coord coord = map.nodes.get(way.get(0));
    68             double llon = Math.toRadians(coord.lon);
    69             double llat = Math.toRadians(coord.lat);
     67            double llon = coord.lon;
     68            double llat = coord.lat;
    7069            double sigma = 0.0;
    7170                        for (long node : way) {
    7271                                coord = map.nodes.get(node);
    73                                 double lat = Math.toRadians(coord.lat);
    74                                 double lon = Math.toRadians(coord.lon);
     72                                double lat = coord.lat;
     73                                double lon = coord.lon;
    7574                                sigma += (lon * Math.sin(llat)) - (llon * Math.sin(lat));
    7675                                llon = lon;
    7776                                llat = lat;
    7877            }
    79             return Math.abs(sigma) / 2.0 * 3444 * 3444;
     78            return Math.abs(sigma) * 3444 * 3444 / 2.0;
    8079          }
    8180          return 0.0;
     
    8382
    8483        public static Coord findCentroid(Feature feature) {
    85                 double tst = calcArea(feature);
    8684                Coord coord;
    8785                ArrayList<Long> way = map.ways.get(feature.refs);
     
    105103      double lon = coord.lon;
    106104      double lat = coord.lat;
    107       double arc = (Math.acos(Math.cos(Math.toRadians(lon-llon)) * Math.cos(Math.toRadians(lat-llat))));
     105      double arc = (Math.acos(Math.cos(lon-llon) * Math.cos(lat-llat)));
    108106      slat += (lat * arc);
    109107      slon += (lon * arc);
     
    122120        }
    123121       
     122        public static void lineSymbols(Feature feature, Symbol prisymb, double space, Symbol secsymb, int ratio) {
     123                if (feature.flag != Fflag.NODE) {
     124                        ArrayList<Long> way = map.ways.get(feature.refs);
     125                        for (long node : way) {
     126                                Point2D point = helper.getPoint(map.nodes.get(node));
     127                               
     128                        }
     129                }
     130        }
     131       
     132        public static void lineVector (Feature feature, LineStyle style) {
     133               
     134        }
     135       
     136        public static void labelText (Feature feature, String str, TextStyle style, Delta delta) {
     137               
     138        }
     139       
     140        public static void lineText (Feature feature, String str, TextStyle style, double offset, Delta delta) {
     141               
     142        }
    124143}
  • applications/editors/josm/plugins/smed2/src/seamap/Rules.java

    r29186 r29198  
    1010package seamap;
    1111
     12import java.awt.BasicStroke;
     13import java.awt.Color;
     14import java.awt.Font;
     15import java.awt.geom.AffineTransform;
    1216import java.util.ArrayList;
    1317
     
    1620import s57.S57obj.*;
    1721
    18 import seamap.SeaMap.AttItem;
    1922import seamap.SeaMap.*;
    2023import symbols.*;
     
    2932                map = m;
    3033                zoom = z;
    31                 ArrayList<Feature> feature;
    32                 if ((feature = map.features.get(Obj.SLCONS)) != null) shoreline(feature);
    33                 if ((feature = map.features.get(Obj.SLCONS)) != null) shoreline(feature);
    34                 if ((feature = map.features.get(Obj.PIPSOL)) != null) pipelines(feature);
    35                 if ((feature = map.features.get(Obj.CBLSUB)) != null) cables(feature);
    36                 if ((feature = map.features.get(Obj.PIPOHD)) != null) pipelines(feature);
    37                 if ((feature = map.features.get(Obj.CBLOHD)) != null) cables(feature);
    38                 if ((feature = map.features.get(Obj.TSEZNE)) != null) separation(feature);
    39                 if ((feature = map.features.get(Obj.TSSCRS)) != null) separation(feature);
    40                 if ((feature = map.features.get(Obj.TSSRON)) != null) separation(feature);
    41                 if ((feature = map.features.get(Obj.TSELNE)) != null) separation(feature);
    42                 if ((feature = map.features.get(Obj.TSSLPT)) != null) separation(feature);
    43                 if ((feature = map.features.get(Obj.TSSBND)) != null) separation(feature);
    44                 if ((feature = map.features.get(Obj.SNDWAV)) != null) areas(feature);
    45                 if ((feature = map.features.get(Obj.OSPARE)) != null) areas(feature);
    46                 if ((feature = map.features.get(Obj.FAIRWY)) != null) areas(feature);
    47                 if ((feature = map.features.get(Obj.DRGARE)) != null) areas(feature);
    48                 if ((feature = map.features.get(Obj.RESARE)) != null) areas(feature);
    49                 if ((feature = map.features.get(Obj.SPLARE)) != null) areas(feature);
    50                 if ((feature = map.features.get(Obj.SEAARE)) != null) areas(feature);
    51                 if ((feature = map.features.get(Obj.OBSTRN)) != null) obstructions(feature);
    52                 if ((feature = map.features.get(Obj.UWTROC)) != null) obstructions(feature);
    53                 if ((feature = map.features.get(Obj.MARCUL)) != null) areas(feature);
    54                 if ((feature = map.features.get(Obj.WTWAXS)) != null) waterways(feature);
    55                 if ((feature = map.features.get(Obj.RECTRC)) != null) transits(feature);
    56                 if ((feature = map.features.get(Obj.NAVLNE)) != null) transits(feature);
    57                 if ((feature = map.features.get(Obj.HRBFAC)) != null) harbours(feature);
    58                 if ((feature = map.features.get(Obj.ACHARE)) != null) harbours(feature);
    59                 if ((feature = map.features.get(Obj.ACHBRT)) != null) harbours(feature);
    60                 if ((feature = map.features.get(Obj.LOKBSN)) != null) locks(feature);
    61                 if ((feature = map.features.get(Obj.LKBSPT)) != null) locks(feature);
    62                 if ((feature = map.features.get(Obj.GATCON)) != null) locks(feature);
    63                 if ((feature = map.features.get(Obj.DISMAR)) != null) distances(feature);
    64                 if ((feature = map.features.get(Obj.HULKES)) != null) ports(feature);
    65                 if ((feature = map.features.get(Obj.CRANES)) != null) ports(feature);
    66                 if ((feature = map.features.get(Obj.LNDMRK)) != null) landmarks(feature);
    67                 if ((feature = map.features.get(Obj.MORFAC)) != null) moorings(feature);
    68                 if ((feature = map.features.get(Obj.NOTMRK)) != null) notices(feature);
    69                 if ((feature = map.features.get(Obj.SMCFAC)) != null) marinas(feature);
    70                 if ((feature = map.features.get(Obj.BRIDGE)) != null) bridges(feature);
    71                 if ((feature = map.features.get(Obj.LITMAJ)) != null) lights(feature);
    72                 if ((feature = map.features.get(Obj.LITMIN)) != null) lights(feature);
    73                 if ((feature = map.features.get(Obj.LIGHTS)) != null) lights(feature);
    74                 if ((feature = map.features.get(Obj.SISTAT)) != null) signals(feature);
    75                 if ((feature = map.features.get(Obj.SISTAW)) != null) signals(feature);
    76                 if ((feature = map.features.get(Obj.CGUSTA)) != null) signals(feature);
    77                 if ((feature = map.features.get(Obj.RDOSTA)) != null) signals(feature);
    78                 if ((feature = map.features.get(Obj.RADSTA)) != null) signals(feature);
    79                 if ((feature = map.features.get(Obj.RSCSTA)) != null) signals(feature);
    80                 if ((feature = map.features.get(Obj.PILBOP)) != null) signals(feature);
    81                 if ((feature = map.features.get(Obj.WTWGAG)) != null) gauges(feature);
    82                 if ((feature = map.features.get(Obj.OFSPLF)) != null) platforms(feature);
    83                 if ((feature = map.features.get(Obj.WRECKS)) != null) wrecks(feature);
    84                 if ((feature = map.features.get(Obj.LITVES)) != null) floats(feature);
    85                 if ((feature = map.features.get(Obj.LITFLT)) != null) floats(feature);
    86                 if ((feature = map.features.get(Obj.BOYINB)) != null) floats(feature);
    87                 if ((feature = map.features.get(Obj.BOYLAT)) != null) buoys(feature);
    88                 if ((feature = map.features.get(Obj.BOYCAR)) != null) buoys(feature);
    89                 if ((feature = map.features.get(Obj.BOYISD)) != null) buoys(feature);
    90                 if ((feature = map.features.get(Obj.BOYSAW)) != null) buoys(feature);
    91                 if ((feature = map.features.get(Obj.BOYSPP)) != null) buoys(feature);
    92                 if ((feature = map.features.get(Obj.BOYWTW)) != null) buoys(feature);
    93                 if ((feature = map.features.get(Obj.BCNLAT)) != null) beacons(feature);
    94                 if ((feature = map.features.get(Obj.BCNCAR)) != null) beacons(feature);
    95                 if ((feature = map.features.get(Obj.BCNISD)) != null) beacons(feature);
    96                 if ((feature = map.features.get(Obj.BCNSAW)) != null) beacons(feature);
    97                 if ((feature = map.features.get(Obj.BCNSPP)) != null) beacons(feature);
    98                 if ((feature = map.features.get(Obj.BCNWTW)) != null) beacons(feature);
     34                ArrayList<Feature> objects;
     35                if ((objects = map.features.get(Obj.SLCONS)) != null) for (Feature feature : objects) shoreline(feature);
     36                if ((objects = map.features.get(Obj.SLCONS)) != null) for (Feature feature : objects) shoreline(feature);;
     37                if ((objects = map.features.get(Obj.PIPSOL)) != null) for (Feature feature : objects) pipelines(feature);
     38                if ((objects = map.features.get(Obj.CBLSUB)) != null) for (Feature feature : objects) cables(feature);
     39                if ((objects = map.features.get(Obj.PIPOHD)) != null) for (Feature feature : objects) pipelines(feature);
     40                if ((objects = map.features.get(Obj.CBLOHD)) != null) for (Feature feature : objects) cables(feature);
     41                if ((objects = map.features.get(Obj.TSEZNE)) != null) for (Feature feature : objects) separation(feature);
     42                if ((objects = map.features.get(Obj.TSSCRS)) != null) for (Feature feature : objects) separation(feature);
     43                if ((objects = map.features.get(Obj.TSSRON)) != null) for (Feature feature : objects) separation(feature);
     44                if ((objects = map.features.get(Obj.TSELNE)) != null) for (Feature feature : objects) separation(feature);
     45                if ((objects = map.features.get(Obj.TSSLPT)) != null) for (Feature feature : objects) separation(feature);
     46                if ((objects = map.features.get(Obj.TSSBND)) != null) for (Feature feature : objects) separation(feature);
     47                if ((objects = map.features.get(Obj.SNDWAV)) != null) for (Feature feature : objects) areas(feature);
     48                if ((objects = map.features.get(Obj.OSPARE)) != null) for (Feature feature : objects) areas(feature);
     49                if ((objects = map.features.get(Obj.FAIRWY)) != null) for (Feature feature : objects) areas(feature);
     50                if ((objects = map.features.get(Obj.DRGARE)) != null) for (Feature feature : objects) areas(feature);
     51                if ((objects = map.features.get(Obj.RESARE)) != null) for (Feature feature : objects) areas(feature);
     52                if ((objects = map.features.get(Obj.SPLARE)) != null) for (Feature feature : objects) areas(feature);
     53                if ((objects = map.features.get(Obj.SEAARE)) != null) for (Feature feature : objects) areas(feature);
     54                if ((objects = map.features.get(Obj.OBSTRN)) != null) for (Feature feature : objects) obstructions(feature);
     55                if ((objects = map.features.get(Obj.UWTROC)) != null) for (Feature feature : objects) obstructions(feature);
     56                if ((objects = map.features.get(Obj.MARCUL)) != null) for (Feature feature : objects) areas(feature);
     57                if ((objects = map.features.get(Obj.WTWAXS)) != null) for (Feature feature : objects) waterways(feature);
     58                if ((objects = map.features.get(Obj.RECTRC)) != null) for (Feature feature : objects) transits(feature);
     59                if ((objects = map.features.get(Obj.NAVLNE)) != null) for (Feature feature : objects) transits(feature);
     60                if ((objects = map.features.get(Obj.HRBFAC)) != null) for (Feature feature : objects) harbours(feature);
     61                if ((objects = map.features.get(Obj.ACHARE)) != null) for (Feature feature : objects) harbours(feature);
     62                if ((objects = map.features.get(Obj.ACHBRT)) != null) for (Feature feature : objects) harbours(feature);
     63                if ((objects = map.features.get(Obj.LOKBSN)) != null) for (Feature feature : objects) locks(feature);
     64                if ((objects = map.features.get(Obj.LKBSPT)) != null) for (Feature feature : objects) locks(feature);
     65                if ((objects = map.features.get(Obj.GATCON)) != null) for (Feature feature : objects) locks(feature);
     66                if ((objects = map.features.get(Obj.DISMAR)) != null) for (Feature feature : objects) distances(feature);
     67                if ((objects = map.features.get(Obj.HULKES)) != null) for (Feature feature : objects) ports(feature);
     68                if ((objects = map.features.get(Obj.CRANES)) != null) for (Feature feature : objects) ports(feature);
     69                if ((objects = map.features.get(Obj.LNDMRK)) != null) for (Feature feature : objects) landmarks(feature);
     70                if ((objects = map.features.get(Obj.MORFAC)) != null) for (Feature feature : objects) moorings(feature);
     71                if ((objects = map.features.get(Obj.NOTMRK)) != null) for (Feature feature : objects) notices(feature);
     72                if ((objects = map.features.get(Obj.SMCFAC)) != null) for (Feature feature : objects) marinas(feature);
     73                if ((objects = map.features.get(Obj.BRIDGE)) != null) for (Feature feature : objects) bridges(feature);
     74                if ((objects = map.features.get(Obj.LITMAJ)) != null) for (Feature feature : objects) lights(feature);
     75                if ((objects = map.features.get(Obj.LITMIN)) != null) for (Feature feature : objects) lights(feature);
     76                if ((objects = map.features.get(Obj.LIGHTS)) != null) for (Feature feature : objects) lights(feature);
     77                if ((objects = map.features.get(Obj.SISTAT)) != null) for (Feature feature : objects) signals(feature);
     78                if ((objects = map.features.get(Obj.SISTAW)) != null) for (Feature feature : objects) signals(feature);
     79                if ((objects = map.features.get(Obj.CGUSTA)) != null) for (Feature feature : objects) signals(feature);
     80                if ((objects = map.features.get(Obj.RDOSTA)) != null) for (Feature feature : objects) signals(feature);
     81                if ((objects = map.features.get(Obj.RADSTA)) != null) for (Feature feature : objects) signals(feature);
     82                if ((objects = map.features.get(Obj.RSCSTA)) != null) for (Feature feature : objects) signals(feature);
     83                if ((objects = map.features.get(Obj.PILBOP)) != null) for (Feature feature : objects) signals(feature);
     84                if ((objects = map.features.get(Obj.WTWGAG)) != null) for (Feature feature : objects) gauges(feature);
     85                if ((objects = map.features.get(Obj.OFSPLF)) != null) for (Feature feature : objects) platforms(feature);
     86                if ((objects = map.features.get(Obj.WRECKS)) != null) for (Feature feature : objects) wrecks(feature);
     87                if ((objects = map.features.get(Obj.LITVES)) != null) for (Feature feature : objects) floats(feature);
     88                if ((objects = map.features.get(Obj.LITFLT)) != null) for (Feature feature : objects) floats(feature);
     89                if ((objects = map.features.get(Obj.BOYINB)) != null) for (Feature feature : objects) floats(feature);
     90                if ((objects = map.features.get(Obj.BOYLAT)) != null) for (Feature feature : objects) buoys(feature);
     91                if ((objects = map.features.get(Obj.BOYCAR)) != null) for (Feature feature : objects) buoys(feature);
     92                if ((objects = map.features.get(Obj.BOYISD)) != null) for (Feature feature : objects) buoys(feature);
     93                if ((objects = map.features.get(Obj.BOYSAW)) != null) for (Feature feature : objects) buoys(feature);
     94                if ((objects = map.features.get(Obj.BOYSPP)) != null) for (Feature feature : objects) buoys(feature);
     95                if ((objects = map.features.get(Obj.BOYWTW)) != null) for (Feature feature : objects) buoys(feature);
     96                if ((objects = map.features.get(Obj.BCNLAT)) != null) for (Feature feature : objects) beacons(feature);
     97                if ((objects = map.features.get(Obj.BCNCAR)) != null) for (Feature feature : objects) beacons(feature);
     98                if ((objects = map.features.get(Obj.BCNISD)) != null) for (Feature feature : objects) beacons(feature);
     99                if ((objects = map.features.get(Obj.BCNSAW)) != null) for (Feature feature : objects) beacons(feature);
     100                if ((objects = map.features.get(Obj.BCNSPP)) != null) for (Feature feature : objects) beacons(feature);
     101                if ((objects = map.features.get(Obj.BCNWTW)) != null) for (Feature feature : objects) beacons(feature);
    99102        }
    100103       
    101         private static void shoreline(ArrayList<Feature> features) {
    102 //              for (Feature feature : features) {
    103 //              }
    104         }
    105         private static void pipelines(ArrayList<Feature> features) {}
    106         private static void cables(ArrayList<Feature> features) {}
    107         private static void separation(ArrayList<Feature> features) {}
    108         private static void areas(ArrayList<Feature> features) {}
    109         private static void obstructions(ArrayList<Feature> features) {}
    110         private static void waterways(ArrayList<Feature> features) {}
    111         private static void transits(ArrayList<Feature> features) {}
    112         private static void harbours(ArrayList<Feature> features) {}
    113         private static void locks(ArrayList<Feature> features) {}
    114         private static void distances(ArrayList<Feature> features) {}
    115         private static void ports(ArrayList<Feature> features) {}
    116         private static void landmarks(ArrayList<Feature> features) {
    117                 for (Feature feature : features) {
    118                         ArrayList<CatLMK> cats = (ArrayList<CatLMK>) Renderer.getAttVal(feature, feature.type, 0, Att.CATLMK);
    119                         Symbol catSym = Landmarks.Shapes.get(cats.get(0));
    120                         ArrayList<FncFNC> fncs = (ArrayList<FncFNC>) Renderer.getAttVal(feature, feature.type, 0, Att.FUNCTN);
    121                         Symbol fncSym = Landmarks.Funcs.get(fncs.get(0));
    122                         if ((fncs.get(0) == FncFNC.FNC_CHCH) && (cats.get(0) == CatLMK.LMK_TOWR)) catSym = Landmarks.ChurchTower;
    123                         if ((cats.get(0) == CatLMK.LMK_UNKN) && (fncs.get(0) == FncFNC.FNC_UNKN) && (feature.objs.get(Obj.LIGHTS) != null)) catSym = Beacons.LightMajor;
    124                         if (cats.get(0) == CatLMK.LMK_RADR) fncSym = Landmarks.RadioTV;
    125                         Renderer.symbol(feature, catSym, feature.type, null);
    126                         Renderer.symbol(feature, fncSym, feature.type, null);
    127                 }
    128         }
    129         private static void moorings(ArrayList<Feature> features) {
    130                 for (Feature feature : features) {
    131                         CatMOR cat = (CatMOR) Renderer.getAttVal(feature, feature.type, 0, Att.CATMOR);
     104        private static void shoreline(Feature feature) {
     105                CatSLC cat = (CatSLC) Renderer.getAttVal(feature, feature.type, 0, Att.CATSLC);
     106                if (zoom >= 12) {
    132107                        switch (cat) {
    133                         case MOR_DLPN:
    134                                 Renderer.symbol(feature, Harbours.Dolphin, feature.type, null);
    135                                 break;
    136                         case MOR_DDPN:
    137                                 Renderer.symbol(feature, Harbours.DeviationDolphin, feature.type, null);
    138                                 break;
    139                         case MOR_BLRD:
    140                         case MOR_POST:
    141                                 Renderer.symbol(feature, Harbours.Bollard, feature.type, null);
    142                                 break;
    143                         case MOR_BUOY:
    144                                 BoySHP shape = (BoySHP) Renderer.getAttVal(feature, feature.type, 0, Att.BOYSHP);
    145                                 if (shape == BoySHP.BOY_UNKN) shape = BoySHP.BOY_SPHR;
    146                                 Renderer.symbol(feature, Buoys.Shapes.get(shape), feature.type, null);
    147                                 break;
    148                         }
    149                 }
    150         }
    151         private static void notices(ArrayList<Feature> features) {}
    152         private static void marinas(ArrayList<Feature> features) {}
    153         private static void bridges(ArrayList<Feature> features) {}
    154         private static void wrecks(ArrayList<Feature> features) {}
    155         private static void gauges(ArrayList<Feature> features) {}
    156         private static void lights(ArrayList<Feature> features) {
    157                 for (Feature feature : features) {
    158                         switch (feature.type) {
    159                         case LITMAJ:
    160                                 Renderer.symbol(feature, Beacons.LightMajor, feature.type, null);
    161                                 break;
    162                         case LITMIN:
    163                         case LIGHTS:
    164                                 Renderer.symbol(feature, Beacons.LightMinor, feature.type, null);
    165                                 break;
    166                         }
    167                 }
    168         }
    169         private static void signals(ArrayList<Feature> features) {
    170                 for (Feature feature : features) {
    171                         switch (feature.type) {
    172                         case SISTAT:
    173                         case SISTAW:
    174                                 Renderer.symbol(feature, Harbours.SignalStation, feature.type, null);
    175                                 break;
    176                         case RDOSTA:
    177                                 Renderer.symbol(feature, Harbours.SignalStation, feature.type, null);
    178                                 break;
    179                         case RADSTA:
    180                                 Renderer.symbol(feature, Harbours.SignalStation, feature.type, null);
    181                                 break;
    182                         case PILBOP:
    183                                 Renderer.symbol(feature, Harbours.SignalStation, feature.type, null);
    184                                 break;
    185                         case CGUSTA:
    186 //                      Renderer.symbol(feature, Harbours.CGuardStation, feature.type, null);
    187                         break;
    188                         case RSCSTA:
    189 //                              Renderer.symbol(feature, Harbours.RescueStation, feature.type, null);
    190                                 break;
    191                         }
    192                 }
    193         }
    194         private static void floats(ArrayList<Feature> features) {
    195                 for (Feature feature : features) {
    196                         switch (feature.type) {
    197                         case LITVES:
    198                                 Renderer.symbol(feature, Buoys.Super, feature.type, null);
    199                                 break;
    200                         case LITFLT:
    201                                 Renderer.symbol(feature, Buoys.Float, feature.type, null);
    202                                 break;
    203                         case BOYINB:
    204                                 Renderer.symbol(feature, Buoys.Storage, feature.type, null);
    205                                 break;
    206                         }
     108                        case SLC_TWAL:
     109                                WatLEV lev = (WatLEV) Renderer.getAttVal(feature, feature.type, 0, Att.WATLEV);
     110                                if (lev == WatLEV.LEV_CVRS) {
     111                                        Renderer.lineVector(feature, new LineStyle(new BasicStroke(10, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, 1, new float[] { 40, 40 }, 0), Color.black, null));
     112                                        if (zoom >= 15)
     113                                                Renderer.lineText(feature, "(covers)", new TextStyle(new Font("Arial", Font.PLAIN, 80)), 0.5, new Delta(Handle.TC, AffineTransform.getTranslateInstance(0, 20)));
     114                                } else {
     115                                        Renderer.lineVector(feature, new LineStyle(new BasicStroke(10, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND), Color.black, null));
     116                                }
     117                                if (zoom >= 15)
     118                                        Renderer.lineText(feature, "Training Wall", new TextStyle(new Font("Arial", Font.PLAIN, 80)), 0.5, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, -20)));
     119                        }
     120                }
     121        }
     122        private static void pipelines(Feature feature) {
     123                if (zoom >= 14) {
     124                        if (feature.type == Obj.PIPSOL) {
     125                                Renderer.lineSymbols(feature, Areas.Pipeline, 1.0, null, 0);
     126                        } else if (feature.type == Obj.PIPOHD) {
     127
     128                        }
     129                }
     130        }
     131        private static void cables(Feature feature) {
     132                if (zoom >= 14) {
     133                        if (feature.type == Obj.CBLSUB) {
     134                                Renderer.lineSymbols(feature, Areas.Cable, 0.0, null, 0);
     135                        } else if (feature.type == Obj.CBLOHD) {
     136
     137                        }
     138                }
     139        }
     140        private static void separation(Feature feature) {
     141                switch (feature.type) {
     142                case TSEZNE:
     143                case TSSCRS:
     144                case TSSRON:
     145                        if (zoom <= 15)
     146                                Renderer.lineVector(feature, new LineStyle(null, null, new Color(0x80c480ff, true)));
     147                        else
     148                                Renderer.lineVector(feature, new LineStyle(new BasicStroke(20, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND), new Color(0x80c480ff, true), null));
     149                        AttItem name = feature.atts.get(Att.OBJNAM);
     150                        if ((zoom >= 10) && (name != null))
     151                                Renderer.labelText(feature, (String) name.val, new TextStyle(new Font("Arial", Font.BOLD, 150)), null);
     152                        break;
     153                case TSELNE:
     154                        Renderer.lineVector(feature, new LineStyle(new BasicStroke(20, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND), new Color(0x80c480ff, true), null));
     155                        break;
     156                case TSSLPT:
     157                        Renderer.lineSymbols(feature, Areas.LaneArrow, 0.5, null, 0);
     158                        break;
     159                case TSSBND:
     160                        Renderer.lineVector(feature, new LineStyle(new BasicStroke(20, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, 1, new float[] { 40, 40 }, 0), new Color(0x80c480ff, true), null));
     161                        break;
     162                }
     163        }
     164        private static void areas(Feature feature) {
     165                AttItem name = feature.atts.get(Att.OBJNAM);
     166                switch (feature.type) {
     167                case SPLARE:
     168                        if (zoom >= 12) {
     169                                Renderer.symbol(feature, Areas.Plane, Obj.SPLARE, null);
     170                                Renderer.lineSymbols(feature, Areas.Restricted, 0.5, Areas.LinePlane, 10);
     171                        }
     172                        if ((zoom >= 15) && (name != null))
     173                                Renderer.labelText(feature, (String) name.val, new TextStyle(new Font("Arial", Font.BOLD, 80)), new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, -90)));
     174                        break;
     175                case MARCUL:
     176                        if (zoom >= 14)
     177                                Renderer.symbol(feature, Areas.MarineFarm, Obj.MARCUL, null);
     178                        if (zoom >= 16)
     179                                Renderer.lineVector(feature, new LineStyle(new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, 1, new float[] { 10, 10 }, 0), Color.black, null));
     180                        break;
     181                case FAIRWY:
     182                        if (Renderer.calcArea(feature) > 2.0) {
     183                                if (zoom < 16)
     184                                        Renderer.lineVector(feature, new LineStyle(new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, 1, new float[] { 50, 50 }, 0), new Color(0xc480ff), new Color(0x40ffffff, true)));
     185                                else
     186                                        Renderer.lineVector(feature, new LineStyle(new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, 1, new float[] { 50, 50 }, 0), new Color(0xc480ff), null));
     187                        } else {
     188                                if (zoom >= 14)
     189                                        Renderer.lineVector(feature, new LineStyle(null, null, new Color(0x40ffffff, true)));
     190                        }
     191                        break;
     192                case DRGARE:
     193                        if (zoom < 16)
     194                                Renderer.lineVector(feature, new LineStyle(new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, 1, new float[] { 25, 25 }, 0), Color.black, new Color(0x40ffffff, true)));
     195                        else
     196                                Renderer.lineVector(feature, new LineStyle(new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, 1, new float[] { 25, 25 }, 0), Color.black, null));
     197                        if ((zoom >= 12) && (name != null))
     198                                Renderer.labelText(feature, (String) name.val, new TextStyle(new Font("Arial", Font.PLAIN, 100)), new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, 0)));
     199                        break;
     200                case RESARE:
     201                        if (zoom >= 12) {
     202                                Renderer.lineSymbols(feature, Areas.Restricted, 1.0, null, 0);
     203                                if ((CatREA)Renderer.getAttVal(feature, feature.type, 0, Att.CATREA) == CatREA.REA_NWAK)
     204                                        Renderer.symbol(feature, Areas.NoWake, Obj.RESARE, null);
     205                        }
     206                        break;
     207                case OSPARE:
     208                        if ((CatPRA)Renderer.getAttVal(feature, feature.type, 0, Att.CATPRA) == CatPRA.PRA_WFRM) {
     209                                Renderer.symbol(feature, Areas.WindFarm, Obj.OSPARE, null);
     210                                Renderer.lineVector(feature, new LineStyle(new BasicStroke(20, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, 1, new float[] { 40, 40 }, 0), Color.black, null));
     211                                if ((zoom >= 15) && (name != null))
     212                                        Renderer.labelText(feature, (String) name.val, new TextStyle(new Font("Arial", Font.BOLD, 80)), new Delta(Handle.TC, AffineTransform.getTranslateInstance(0, 10)));
     213                        }
     214                        break;
     215                case SEAARE:
     216                        break;
     217                case SNDWAV:
     218//        if (zoom>=12)) area("fill:url(#sandwaves)");
     219                        break;
     220                }
     221/*
     222  if (is_type("sea_area")) {
     223    if (has_attribute("category")) {
     224      make_string("");
     225      attribute_switch("category")
     226      attribute_case("reach") { if (zoom >= 10) add_string("font-family:Arial;font-weight:normal;font-style:italic;font-size:150;text-anchor:middle") }
     227      attribute_case("bay") { if (zoom >= 12) add_string("font-family:Arial;font-weight:normal;font-style:italic;font-size:150;text-anchor:middle") }
     228      attribute_case("shoal") { if (zoom >= 14) {
     229        if (is_area) {
     230          area("stroke:#c480ff;stroke-width:4;stroke-dasharray:25,25;fill:none");
     231          if (has_item_attribute("name")) text(item_attribute("name"), "font-family:Arial;font-weight:normal;font-style:italic;font-size:75;text-anchor:middle", 0, -40);
     232          text("(Shoal)", "font-family:Arial;font-weight:normal;font-size:60;text-anchor:middle", 0, 0);
     233        } else if (is_line) {
     234          if (has_item_attribute("name")) way_text(item_attribute("name"), "font-family:Arial;font-weight:normal;font-style:italic;font-size:75;text-anchor:middle", 0.5, -40, line("stroke:none;fill:none"));
     235          way_text("(Shoal)", "font-family:Arial;font-weight:normal;font-size:60;text-anchor:middle", 0.5, 0, line("stroke:none;fill:none"));
     236        } else {
     237          if (has_item_attribute("name")) text(item_attribute("name"), "font-family:Arial;font-weight:normal;font-style:italic;font-size:75;text-anchor:middle", 0, -40);
     238          text("(Shoal)", "font-family:Arial;font-weight:normal;font-size:60;text-anchor:middle", 0, 0);
     239        }
     240      }
     241      }
     242      attribute_case("gat|narrows") { if (zoom >= 12) add_string("font-family:Arial;font-weight:normal;font-style:italic;font-size:100;text-anchor:middle") }
     243      end_switch
     244      if ((strlen(string) > 0) && !attribute_test("category", "shoal")) {
     245        int ref = line("stroke:none;fill:none");
     246        if (ref != 0) {
     247          if (has_item_attribute("name")) way_text(item_attribute("name"), string, 0.5, 0, ref);
     248        } else {
     249          if (has_item_attribute("name")) text(item_attribute("name"), string, 0, 0);
     250        }
     251      }
     252      free_string
     253    }
     254  }
     255 */
     256        }
     257
     258        private static void obstructions(Feature feature) {
     259                if ((zoom >= 14) && (feature.type == Obj.UWTROC)) {
     260                        WatLEV lvl = (WatLEV) Renderer.getAttVal(feature, feature.type, 0, Att.WATLEV);
     261                        switch (lvl) {
     262                        case LEV_CVRS:
     263                                Renderer.symbol(feature, Areas.RockC, feature.type, null);
     264                                break;
     265                        case LEV_AWSH:
     266                                Renderer.symbol(feature, Areas.RockA, feature.type, null);
     267                                break;
     268                        default:
     269                                Renderer.symbol(feature, Areas.Rock, feature.type, null);
     270                        }
     271                } else {
     272                        Renderer.symbol(feature, Areas.Rock, feature.type, null);
     273                }
     274        }
     275        private static void waterways(Feature feature) {
     276                if ((zoom >= 14) && (feature.atts.get(Att.OBJNAM) != null)) {
     277                        // lineText(item_attribute("name"), "font-family:Arial;font-weight:bold;font-size:80;text-anchor:middle", 0.5, 15, line("stroke:none;fill:none"));
     278                }
     279        }
     280        private static void transits(Feature feature) {
     281        }
     282        private static void harbours(Feature feature) {
     283        }
     284        private static void locks(Feature feature) {
     285        }
     286        private static void distances(Feature feature) {
     287        }
     288        private static void ports(Feature feature) {
     289        }
     290        private static void landmarks(Feature feature) {
     291                ArrayList<CatLMK> cats = (ArrayList<CatLMK>) Renderer.getAttVal(feature, feature.type, 0, Att.CATLMK);
     292                Symbol catSym = Landmarks.Shapes.get(cats.get(0));
     293                ArrayList<FncFNC> fncs = (ArrayList<FncFNC>) Renderer.getAttVal(feature, feature.type, 0, Att.FUNCTN);
     294                Symbol fncSym = Landmarks.Funcs.get(fncs.get(0));
     295                if ((fncs.get(0) == FncFNC.FNC_CHCH) && (cats.get(0) == CatLMK.LMK_TOWR))
     296                        catSym = Landmarks.ChurchTower;
     297                if ((cats.get(0) == CatLMK.LMK_UNKN) && (fncs.get(0) == FncFNC.FNC_UNKN) && (feature.objs.get(Obj.LIGHTS) != null))
     298                        catSym = Beacons.LightMajor;
     299                if (cats.get(0) == CatLMK.LMK_RADR)
     300                        fncSym = Landmarks.RadioTV;
     301                Renderer.symbol(feature, catSym, feature.type, null);
     302                Renderer.symbol(feature, fncSym, feature.type, null);
     303        }
     304        private static void moorings(Feature feature) {
     305                CatMOR cat = (CatMOR) Renderer.getAttVal(feature, feature.type, 0, Att.CATMOR);
     306                switch (cat) {
     307                case MOR_DLPN:
     308                        Renderer.symbol(feature, Harbours.Dolphin, feature.type, null);
     309                        break;
     310                case MOR_DDPN:
     311                        Renderer.symbol(feature, Harbours.DeviationDolphin, feature.type, null);
     312                        break;
     313                case MOR_BLRD:
     314                case MOR_POST:
     315                        Renderer.symbol(feature, Harbours.Bollard, feature.type, null);
     316                        break;
     317                case MOR_BUOY:
     318                        BoySHP shape = (BoySHP) Renderer.getAttVal(feature, feature.type, 0, Att.BOYSHP);
     319                        if (shape == BoySHP.BOY_UNKN)
     320                                shape = BoySHP.BOY_SPHR;
     321                        Renderer.symbol(feature, Buoys.Shapes.get(shape), feature.type, null);
     322                        break;
     323                }
     324        }
     325        private static void notices(Feature feature) {
     326        }
     327        private static void marinas(Feature feature) {
     328        }
     329        private static void bridges(Feature feature) {
     330        }
     331        private static void wrecks(Feature feature) {
     332                if (zoom >= 14) {
     333                        CatWRK cat = (CatWRK) Renderer.getAttVal(feature, feature.type, 0, Att.CATWRK);
     334                        switch (cat) {
     335                        case WRK_DNGR:
     336                        case WRK_MSTS:
     337                                Renderer.symbol(feature, Areas.WreckD, feature.type, null);
     338                                break;
     339                        case WRK_HULS:
     340                                Renderer.symbol(feature, Areas.WreckS, feature.type, null);
     341                                break;
     342                        default:
     343                                Renderer.symbol(feature, Areas.WreckND, feature.type, null);
     344                        }
     345                } else {
     346                        Renderer.symbol(feature, Areas.WreckND, feature.type, null);
     347                }
     348        }
     349        private static void gauges(Feature feature) {
     350        }
     351        private static void lights(Feature feature) {
     352                switch (feature.type) {
     353                case LITMAJ:
     354                        Renderer.symbol(feature, Beacons.LightMajor, feature.type, null);
     355                        break;
     356                case LITMIN:
     357                case LIGHTS:
     358                        Renderer.symbol(feature, Beacons.LightMinor, feature.type, null);
     359                        break;
     360                }
     361        }
     362        private static void signals(Feature feature) {
     363                switch (feature.type) {
     364                case SISTAT:
     365                case SISTAW:
     366                        Renderer.symbol(feature, Harbours.SignalStation, feature.type, null);
     367                        break;
     368                case RDOSTA:
     369                        Renderer.symbol(feature, Harbours.SignalStation, feature.type, null);
     370                        break;
     371                case RADSTA:
     372                        Renderer.symbol(feature, Harbours.SignalStation, feature.type, null);
     373                        break;
     374                case PILBOP:
     375                        Renderer.symbol(feature, Harbours.SignalStation, feature.type, null);
     376                        break;
     377                case CGUSTA:
     378                        Renderer.symbol(feature, Harbours.CoastGStation, feature.type, null);
     379                        break;
     380                case RSCSTA:
     381                        Renderer.symbol(feature, Harbours.RescueStation, feature.type, null);
     382                        break;
     383                }
     384        }
     385        private static void floats(Feature feature) {
     386                switch (feature.type) {
     387                case LITVES:
     388                        Renderer.symbol(feature, Buoys.Super, feature.type, null);
     389                        break;
     390                case LITFLT:
     391                        Renderer.symbol(feature, Buoys.Float, feature.type, null);
     392                        break;
     393                case BOYINB:
     394                        Renderer.symbol(feature, Buoys.Storage, feature.type, null);
     395                        break;
     396                }
     397                if (feature.objs.get(Obj.TOPMAR) != null)
     398                        Renderer.symbol(feature, Topmarks.Shapes.get(feature.objs.get(Obj.TOPMAR).get(0).get(Att.TOPSHP).val), Obj.TOPMAR, Topmarks.Floats);
     399        }
     400        private static void platforms(Feature feature) {
     401                Renderer.symbol(feature, Landmarks.Platform, feature.type, null);
     402        }
     403        private static void buoys(Feature feature) {
     404                BoySHP shape = (BoySHP) Renderer.getAttVal(feature, feature.type, 0, Att.BOYSHP);
     405                Renderer.symbol(feature, Buoys.Shapes.get(shape), feature.type, null);
     406                if (feature.objs.get(Obj.TOPMAR) != null) {
     407                        Renderer.symbol(feature, Topmarks.Shapes.get(feature.objs.get(Obj.TOPMAR).get(0).get(Att.TOPSHP).val), Obj.TOPMAR, Topmarks.Buoys.get(shape));
     408                }
     409        }
     410        private static void beacons(Feature feature) {
     411                BcnSHP shape = (BcnSHP) Renderer.getAttVal(feature, feature.type, 0, Att.BCNSHP);
     412                if (((shape == BcnSHP.BCN_PRCH) || (shape == BcnSHP.BCN_WTHY)) && (feature.type == Obj.BCNLAT)) {
     413                        CatLAM cat = (CatLAM) Renderer.getAttVal(feature, feature.type, 0, Att.CATLAM);
     414                        switch (cat) {
     415                        case LAM_PORT:
     416                                if (shape == BcnSHP.BCN_PRCH)
     417                                        Renderer.symbol(feature, Beacons.PerchPort, feature.type, null);
     418                                else
     419                                        Renderer.symbol(feature, Beacons.WithyPort, feature.type, null);
     420                                break;
     421                        case LAM_STBD:
     422                                if (shape == BcnSHP.BCN_PRCH)
     423                                        Renderer.symbol(feature, Beacons.PerchStarboard, feature.type, null);
     424                                else
     425                                        Renderer.symbol(feature, Beacons.WithyStarboard, feature.type, null);
     426                                break;
     427                        default:
     428                                Renderer.symbol(feature, Beacons.Stake, feature.type, null);
     429                        }
     430                } else {
     431                        Renderer.symbol(feature, Beacons.Shapes.get(shape), feature.type, null);
    207432                        if (feature.objs.get(Obj.TOPMAR) != null)
    208                                 Renderer.symbol(feature, Topmarks.Shapes.get(feature.objs.get(Obj.TOPMAR).get(0).get(Att.TOPSHP).val), Obj.TOPMAR, Topmarks.Floats);
    209                 }
    210         }
    211         private static void platforms(ArrayList<Feature> features) {
    212                 for (Feature feature : features) {
    213                         Renderer.symbol(feature, Landmarks.Platform, feature.type, null);
    214                 }
    215         }
    216         private static void buoys(ArrayList<Feature> features) {
    217                 for (Feature feature : features) {
    218                         BoySHP shape = (BoySHP) Renderer.getAttVal(feature, feature.type, 0, Att.BOYSHP);
    219                         Renderer.symbol(feature, Buoys.Shapes.get(shape), feature.type, null);
    220                         if (feature.objs.get(Obj.TOPMAR) != null) {
    221                                 Renderer.symbol(feature, Topmarks.Shapes.get(feature.objs.get(Obj.TOPMAR).get(0).get(Att.TOPSHP).val), Obj.TOPMAR, Topmarks.Buoys.get(shape));
    222                         }
    223                 }
    224         }
    225         private static void beacons(ArrayList<Feature> features) {
    226                 for (Feature feature : features) {
    227                         BcnSHP shape = (BcnSHP) Renderer.getAttVal(feature, feature.type, 0, Att.BCNSHP);
    228                         if (((shape == BcnSHP.BCN_PRCH) || (shape == BcnSHP.BCN_WTHY)) && (feature.type == Obj.BCNLAT)) {
    229                                 CatLAM cat = (CatLAM) Renderer.getAttVal(feature, feature.type, 0, Att.CATLAM);
    230                                 switch (cat) {
    231                                 case LAM_PORT:
    232                                         if (shape == BcnSHP.BCN_PRCH)
    233                                                 Renderer.symbol(feature, Beacons.PerchPort, feature.type, null);
    234                                         else
    235                                                 Renderer.symbol(feature, Beacons.WithyPort, feature.type, null);
    236                                         break;
    237                                 case LAM_STBD:
    238                                         if (shape == BcnSHP.BCN_PRCH)
    239                                                 Renderer.symbol(feature, Beacons.PerchStarboard, feature.type, null);
    240                                         else
    241                                                 Renderer.symbol(feature, Beacons.WithyStarboard, feature.type, null);
    242                                         break;
    243                                 default:
    244                                         Renderer.symbol(feature, Beacons.Stake, feature.type, null);
    245                                 }
    246                         } else {
    247                                 Renderer.symbol(feature, Beacons.Shapes.get(shape), feature.type, null);
    248                                 if (feature.objs.get(Obj.TOPMAR) != null)
    249                                         Renderer.symbol(feature, Topmarks.Shapes.get(feature.objs.get(Obj.TOPMAR).get(0).get(Att.TOPSHP).val), Obj.TOPMAR, Topmarks.Beacons);
    250                         }
     433                                Renderer.symbol(feature, Topmarks.Shapes.get(feature.objs.get(Obj.TOPMAR).get(0).get(Att.TOPSHP).val), Obj.TOPMAR, Topmarks.Beacons);
    251434                }
    252435        }
  • applications/editors/josm/plugins/smed2/src/seamap/SeaMap.java

    r29184 r29198  
    3838
    3939        public class AttMap extends EnumMap<Att, AttItem> {
    40                 private static final long serialVersionUID = 1L;
    4140                public AttMap() {
    4241                        super(Att.class);
     
    4544       
    4645        public class ObjTab extends HashMap<Integer, AttMap> {
    47                 private static final long serialVersionUID = 1L;
    4846                public ObjTab() {
    4947                        super();
     
    5250       
    5351        public class ObjMap extends EnumMap<Obj, ObjTab> {
    54                 private static final long serialVersionUID = 1L;
    5552                public ObjMap() {
    5653                        super(Obj.class);
     
    5956       
    6057        public class NodeTab extends HashMap<Long, Coord> {
    61                 private static final long serialVersionUID = 1L;
    6258                public NodeTab() {
    6359                        super();
     
    6662       
    6763        public class WayTab extends HashMap<Long, ArrayList<Long>> {
    68                 private static final long serialVersionUID = 1L;
    6964                public WayTab() {
    7065                        super();
     
    7368       
    7469        public class FtrMap extends EnumMap<Obj, ArrayList<Feature>> {
    75                 private static final long serialVersionUID = 1L;
    7670                public FtrMap() {
    7771                        super(Obj.class);
     
    8074       
    8175        public class FtrTab extends HashMap<Long, Feature> {
    82                 private static final long serialVersionUID = 1L;
    8376                public FtrTab() {
    8477                        super();
     
    131124
    132125        public void addNode(long id, double lat, double lon) {
    133                 nodes.put(id, new Coord(lat, lon));
     126                nodes.put(id, new Coord(Math.toRadians(lat), Math.toRadians(lon)));
    134127                feature = new Feature();
    135128                feature.refs = id;
     
    138131
    139132        public void moveNode(long id, double lat, double lon) {
    140                 nodes.put(id, new Coord(lat, lon));
     133                nodes.put(id, new Coord(Math.toRadians(lat), Math.toRadians(lon)));
    141134        }
    142135
  • applications/editors/josm/plugins/smed2/src/smed2/MapImage.java

    r29184 r29198  
    8787
    8888        public Point2D getPoint(Coord coord) {
    89                 return Main.map.mapView.getPoint2D(new LatLon(coord.lat, coord.lon));
     89                return Main.map.mapView.getPoint2D(new LatLon(Math.toDegrees(coord.lat), Math.toDegrees(coord.lon)));
    9090        }
    9191}
  • applications/editors/josm/plugins/smed2/src/smed2/Smed2Action.java

    r29189 r29198  
    2727public class Smed2Action extends JosmAction implements EditLayerChangeListener, SelectionChangedListener {
    2828
    29         private static final long serialVersionUID = 1L;
    3029        private static String editor = tr("SeaMap Editor");
    3130        public static JFrame editFrame = null;
     
    4241                @Override
    4342                public void dataChanged(DataChangedEvent e) {
    44                         // reMap();
     43                        System.out.println("DataChangedEvent");
    4544                }
    4645
     
    5554                @Override
    5655                public void otherDatasetChange(AbstractDatasetChangedEvent e) {
    57                         // reMap();
     56                        System.out.println("AbstractDatasetChangedEvent");
    5857                }
    5958
    6059                @Override
    6160                public void primitivesAdded(PrimitivesAddedEvent e) {
    62                         // reMap();
     61                        System.out.println("PrimitivesAddedEvent");
    6362                }
    6463
    6564                @Override
    6665                public void primitivesRemoved(PrimitivesRemovedEvent e) {
    67                         // reMap();
     66                        System.out.println("PrimitivesRemovedEvent");
    6867                }
    6968
    7069                @Override
    7170                public void relationMembersChanged(RelationMembersChangedEvent e) {
    72                         // reMap();
     71                        System.out.println("RelationMembersChangedEvent");
    7372                }
    7473
    7574                @Override
    7675                public void tagsChanged(TagsChangedEvent e) {
    77                         // reMap();
     76                        System.out.println("TagsChangedEvent");
    7877                }
    7978
    8079                @Override
    8180                public void wayNodesChanged(WayNodesChangedEvent e) {
    82                         // reMap();
     81                        System.out.println("WayNodesChangedEvent");
    8382                }
    8483        };
  • applications/editors/josm/plugins/smed2/src/symbols/Areas.java

    r29186 r29198  
    2828        static {
    2929                Cable.add(new Instr(Prim.BBOX, new Rectangle(-30,-60,60,60)));
    30                 Cable.add(new Instr(Prim.STRK, new BasicStroke(8.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)));
     30                Cable.add(new Instr(Prim.STRK, new BasicStroke(8, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)));
    3131                Cable.add(new Instr(Prim.FILL, new Color(0xc480ff)));
    3232                Path2D.Double p = new Path2D.Double(); p.moveTo(0,0); p.curveTo(-13,-13,-13,-17,0,-30); p.curveTo(13,-43,13,-47,0,-60);
     
    3535        public static final Symbol LaneArrow = new Symbol();
    3636        static {
    37                 LaneArrow.add(new Instr(Prim.STRK, new BasicStroke(10.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));
     37                LaneArrow.add(new Instr(Prim.STRK, new BasicStroke(10, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));
    3838                LaneArrow.add(new Instr(Prim.FILL, new Color(0x80c480ff, true)));
    3939                Path2D.Double p = new Path2D.Double(); p.moveTo(15,0); p.lineTo(15,-195); p.lineTo(40,-195);
     
    5353        public static final Symbol MarineFarm = new Symbol();
    5454        static {
    55                 MarineFarm.add(new Instr(Prim.STRK, new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     55                MarineFarm.add(new Instr(Prim.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    5656                MarineFarm.add(new Instr(Prim.FILL, Color.black));
    5757                Path2D.Double p = new Path2D.Double(); p.moveTo(-23,12); p.lineTo(-23,23); p.lineTo(23,23); p.lineTo(23,12); p.moveTo(-8,15); p.lineTo(-8,23); p.moveTo(8,15); p.lineTo(8,23);
     
    6363        public static final Symbol NoWake = new Symbol();
    6464        static {
    65                 NoWake.add(new Instr(Prim.STRK, new BasicStroke(12.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     65                NoWake.add(new Instr(Prim.STRK, new BasicStroke(12, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    6666                NoWake.add(new Instr(Prim.FILL, new Color(0xa30075)));
    6767                Path2D.Double p = new Path2D.Double(); p.moveTo(-60,20); p.curveTo(-28,20,-32,0,0,0); p.curveTo(32,0,28,20,60,20); p.moveTo(-60,0); p.curveTo(-28,0,-32,-20,0,-20); p.curveTo(32,-20,28,0,60,0);
    6868                NoWake.add(new Instr(Prim.PLIN, p));
    69                 NoWake.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     69                NoWake.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    7070                NoWake.add(new Instr(Prim.LINE, new Line2D.Double(-60,60,60,-60)));
    7171                NoWake.add(new Instr(Prim.LINE, new Line2D.Double(-60,-60,60,60)));
     
    7474        static {
    7575                Pipeline.add(new Instr(Prim.BBOX, new Rectangle(-15,-60,30,60)));
    76                 Pipeline.add(new Instr(Prim.STRK, new BasicStroke(8.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     76                Pipeline.add(new Instr(Prim.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    7777                Pipeline.add(new Instr(Prim.FILL, new Color(0xc480ff)));
    7878                Pipeline.add(new Instr(Prim.LINE, new Line2D.Double(0,0,0,-50)));
     
    8282        static {
    8383                Restricted.add(new Instr(Prim.BBOX, new Rectangle(-15,-30,30,30)));
    84                 Restricted.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     84                Restricted.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    8585                Restricted.add(new Instr(Prim.FILL, new Color(0xc480ff)));
    8686                Restricted.add(new Instr(Prim.LINE, new Line2D.Double(0,0,0,-30)));
     
    9191                Rock.add(new Instr(Prim.FILL, new Color(0x80c0ff)));
    9292                Rock.add(new Instr(Prim.RSHP, new Ellipse2D.Double(-30,-30,60,60)));
    93                 Rock.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 1, new float[]{5,5}, 0)));
     93                Rock.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 1, new float[]{5,5}, 0)));
    9494                Rock.add(new Instr(Prim.FILL, Color.black));
    9595                Rock.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-30,-30,60,60)));
    96                 Rock.add(new Instr(Prim.STRK, new BasicStroke(5.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     96                Rock.add(new Instr(Prim.STRK, new BasicStroke(5, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    9797                Rock.add(new Instr(Prim.LINE, new Line2D.Double(-20,0,20,0)));
    9898                Rock.add(new Instr(Prim.LINE, new Line2D.Double(0,-20,0,20)));
     
    102102                RockA.add(new Instr(Prim.FILL, new Color(0x80c0ff)));
    103103                RockA.add(new Instr(Prim.RSHP, new Ellipse2D.Double(-30,-30,60,60)));
    104                 RockA.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 1, new float[]{5,5}, 0)));
     104                RockA.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 1, new float[]{5,5}, 0)));
    105105                RockA.add(new Instr(Prim.FILL, Color.black));
    106106                RockA.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-30,-30,60,60)));
    107                 RockA.add(new Instr(Prim.STRK, new BasicStroke(5.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     107                RockA.add(new Instr(Prim.STRK, new BasicStroke(5, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    108108                RockA.add(new Instr(Prim.LINE, new Line2D.Double(-20,0,20,0)));
    109109                RockA.add(new Instr(Prim.LINE, new Line2D.Double(0,-20,0,20)));
     
    117117                RockC.add(new Instr(Prim.FILL, new Color(0x80c0ff)));
    118118                RockC.add(new Instr(Prim.RSHP, new Ellipse2D.Double(-30,-30,60,60)));
    119                 RockC.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 1, new float[]{5,5}, 0)));
     119                RockC.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 1, new float[]{5,5}, 0)));
    120120                RockC.add(new Instr(Prim.FILL, Color.black));
    121121                RockC.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-30,-30,60,60)));
    122                 RockC.add(new Instr(Prim.STRK, new BasicStroke(5.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     122                RockC.add(new Instr(Prim.STRK, new BasicStroke(5, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    123123                RockC.add(new Instr(Prim.LINE, new Line2D.Double(-20,0,20,0)));
    124124                RockC.add(new Instr(Prim.LINE, new Line2D.Double(-10,17.3,10,-17.3)));
     
    128128        public static final Symbol Seaplane = new Symbol();
    129129        static {
    130                 Seaplane.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     130                Seaplane.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    131131                Seaplane.add(new Instr(Prim.FILL, new Color(0xa30075)));
    132132                Seaplane.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-60,-60,120,120)));
     
    135135        public static final Symbol WindFarm = new Symbol();
    136136        static {
    137                 WindFarm.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     137                WindFarm.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    138138                WindFarm.add(new Instr(Prim.FILL, Color.black));
    139139                WindFarm.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-100,-100,200,200)));
     
    148148                WreckD.add(new Instr(Prim.FILL, new Color(0x80c0ff)));
    149149                WreckD.add(new Instr(Prim.RSHP, new Ellipse2D.Double(-50,-40,100,80)));
    150                 WreckD.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 1, new float[]{5,5}, 0)));
     150                WreckD.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 1, new float[]{5,5}, 0)));
    151151                WreckD.add(new Instr(Prim.FILL, Color.black));
    152152                WreckD.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-50,-40,100,80)));
    153                 WreckD.add(new Instr(Prim.STRK, new BasicStroke(5.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     153                WreckD.add(new Instr(Prim.STRK, new BasicStroke(5, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    154154                WreckD.add(new Instr(Prim.LINE, new Line2D.Double(-40,0,40,0)));
    155155                WreckD.add(new Instr(Prim.LINE, new Line2D.Double(0,-30,0,30)));
     
    159159        public static final Symbol WreckND = new Symbol();
    160160        static {
    161                 WreckND.add(new Instr(Prim.STRK, new BasicStroke(5.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     161                WreckND.add(new Instr(Prim.STRK, new BasicStroke(5, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    162162                WreckND.add(new Instr(Prim.FILL, Color.black));
    163163                WreckND.add(new Instr(Prim.LINE, new Line2D.Double(-40,0,40,0)));
     
    168168        public static final Symbol WreckS = new Symbol();
    169169        static {
    170                 WreckS.add(new Instr(Prim.STRK, new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     170                WreckS.add(new Instr(Prim.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    171171                WreckS.add(new Instr(Prim.FILL, Color.black));
    172172                WreckS.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-6,-6,12,12)));
  • applications/editors/josm/plugins/smed2/src/symbols/Beacons.java

    r29186 r29198  
    4141    colours.add(new Instr(Prim.V2, p));
    4242    Beacon.add(new Instr(Prim.COLR, colours));
    43     Beacon.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     43    Beacon.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    4444    Beacon.add(new Instr(Prim.FILL, Color.black));
    4545    Beacon.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));
     
    5151        public static final Symbol Cairn = new Symbol();
    5252        static {
    53                 Cairn.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     53                Cairn.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    5454                Cairn.add(new Instr(Prim.FILL, Color.black));
    5555                Cairn.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));
     
    6262        public static final Symbol FogSignal = new Symbol();
    6363        static {
    64                 FogSignal.add(new Instr(Prim.STRK, new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     64                FogSignal.add(new Instr(Prim.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    6565                FogSignal.add(new Instr(Prim.FILL, Color.black));
    6666                FogSignal.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));
    67                 FogSignal.add(new Instr(Prim.STRK, new BasicStroke(10.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     67                FogSignal.add(new Instr(Prim.STRK, new BasicStroke(10, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    6868                FogSignal.add(new Instr(Prim.FILL, new Color(0xd400d4)));
    6969                FogSignal.add(new Instr(Prim.EARC, new Arc2D.Double(-120.0,-120.0,240.0,240.0,190.0,50.0,Arc2D.OPEN)));
     
    9797        public static final Symbol PerchPort = new Symbol();
    9898        static {
    99                 PerchPort.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     99                PerchPort.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    100100                PerchPort.add(new Instr(Prim.FILL, Color.black));
    101101                PerchPort.add(new Instr(Prim.LINE, new Line2D.Double(-10,0,10,0)));
     
    106106        public static final Symbol PerchStarboard = new Symbol();
    107107        static {
    108                 PerchStarboard.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     108                PerchStarboard.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    109109                PerchStarboard.add(new Instr(Prim.FILL, Color.black));
    110110                PerchStarboard.add(new Instr(Prim.LINE, new Line2D.Double(-10,0,10,0)));
     
    121121        public static final Symbol Stake = new Symbol();
    122122        static {
    123                 Stake.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     123                Stake.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    124124                Stake.add(new Instr(Prim.FILL, Color.black));
    125125                Stake.add(new Instr(Prim.LINE, new Line2D.Double(0,0,0,-70)));
     
    155155    colours.add(new Instr(Prim.V2, p));
    156156    Tower.add(new Instr(Prim.COLR, colours));
    157     Tower.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     157    Tower.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    158158    Tower.add(new Instr(Prim.FILL, Color.black));
    159159    Tower.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));
     
    165165        public static final Symbol WithyPort = new Symbol();
    166166        static {
    167                 WithyPort.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     167                WithyPort.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    168168                WithyPort.add(new Instr(Prim.FILL, Color.black));
    169169                WithyPort.add(new Instr(Prim.LINE, new Line2D.Double(-10,0,10,0)));
     
    176176        public static final Symbol WithyStarboard = new Symbol();
    177177        static {
    178                 WithyStarboard.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     178                WithyStarboard.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    179179                WithyStarboard.add(new Instr(Prim.FILL, Color.black));
    180180                WithyStarboard.add(new Instr(Prim.LINE, new Line2D.Double(-10,0,10,0)));
  • applications/editors/josm/plugins/smed2/src/symbols/Buoys.java

    r29186 r29198  
    2828                colours.add(new Instr(Prim.P1, p));
    2929                Barrel.add(new Instr(Prim.COLR, colours));
    30     Barrel.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     30    Barrel.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    3131                Barrel.add(new Instr(Prim.FILL, Color.black));
    3232                Barrel.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));
     
    5555    colours.add(new Instr(Prim.V2, p));
    5656                Can.add(new Instr(Prim.COLR, colours));
    57     Can.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     57    Can.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    5858                Can.add(new Instr(Prim.FILL, Color.black));
    5959                Can.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));
     
    8181    colours.add(new Instr(Prim.V2, p));
    8282                Cone.add(new Instr(Prim.COLR, colours));
    83     Cone.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     83    Cone.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    8484                Cone.add(new Instr(Prim.FILL, Color.black));
    8585                Cone.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));
     
    111111    colours.add(new Instr(Prim.V2, p));
    112112                Float.add(new Instr(Prim.COLR, colours));
    113     Float.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     113    Float.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    114114                Float.add(new Instr(Prim.FILL, Color.black));
    115115                Float.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));
     
    127127                colours.add(new Instr(Prim.P1, p));
    128128    Ice.add(new Instr(Prim.COLR, colours));
    129     Ice.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     129    Ice.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    130130    Ice.add(new Instr(Prim.FILL, Color.black));
    131131    Ice.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));
     
    156156    colours.add(new Instr(Prim.V2, p));
    157157                Pillar.add(new Instr(Prim.COLR, colours));
    158                 Pillar.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     158                Pillar.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    159159                Pillar.add(new Instr(Prim.FILL, Color.black));
    160160                Pillar.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));
     
    180180    colours.add(new Instr(Prim.V2, p));
    181181                Spar.add(new Instr(Prim.COLR, colours));
    182                 Spar.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     182                Spar.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    183183                Spar.add(new Instr(Prim.FILL, Color.black));
    184184                Spar.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));
     
    206206    colours.add(new Instr(Prim.V2, p));
    207207    Sphere.add(new Instr(Prim.COLR, colours));
    208     Sphere.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     208    Sphere.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    209209    Sphere.add(new Instr(Prim.FILL, Color.black));
    210210    Sphere.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));
     
    215215        public static final Symbol Storage = new Symbol();
    216216        static {
    217                 Storage.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     217                Storage.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    218218                Storage.add(new Instr(Prim.FILL, Color.black));
    219219                Storage.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));
     
    240240    colours.add(new Instr(Prim.V2, p));
    241241                Super.add(new Instr(Prim.COLR, colours));
    242     Super.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     242    Super.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    243243                Super.add(new Instr(Prim.FILL, Color.black));
    244244                Super.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));
  • applications/editors/josm/plugins/smed2/src/symbols/Facilities.java

    r29186 r29198  
    1919        private static final Symbol Facility = new Symbol();
    2020        static {
    21                 Facility.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     21                Facility.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    2222                Facility.add(new Instr(Prim.FILL, new Color(0x80ffffff, true)));
    2323                RoundRectangle2D.Double s = new RoundRectangle2D.Double(-29,-29,58,58,15,15);
     
    2929        static {
    3030                Boatlift.add(new Instr(Prim.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null)));
    31                 Boatlift.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)));
     31                Boatlift.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)));
    3232                Boatlift.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-3.7,-19.7,12,12)));
    3333                Boatlift.add(new Instr(Prim.LINE, new Line2D.Double(2.3,-7.7,2.3,-2.0)));
     
    3737        static {
    3838                Boatyard.add(new Instr(Prim.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null)));
    39                 Boatyard.add(new Instr(Prim.STRK, new BasicStroke(8.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));
     39                Boatyard.add(new Instr(Prim.STRK, new BasicStroke(8, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));
    4040                Boatyard.add(new Instr(Prim.LINE, new Line2D.Double(19,19,-8,-8)));
    4141                Path2D.Double p = new Path2D.Double(); p.moveTo(-11.3,-11.3); p.lineTo(-10.5,-17.5); p.lineTo(-14.8,-21.9); p.lineTo(-11.3,-25.4); p.lineTo(-7.4,-21.5);
     
    4646        static {
    4747                Chandler.add(new Instr(Prim.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null)));
    48                 Chandler.add(new Instr(Prim.STRK, new BasicStroke(5.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     48                Chandler.add(new Instr(Prim.STRK, new BasicStroke(5, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    4949                Chandler.add(new Instr(Prim.ELPS, new Ellipse2D.Double(14,7,10,10)));
    5050                Chandler.add(new Instr(Prim.LINE, new Line2D.Double(-23.0,12.0,14.0,12.0)));
     
    9797        static {
    9898                SailingClub.add(new Instr(Prim.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null)));
    99                 SailingClub.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     99                SailingClub.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    100100                SailingClub.add(new Instr(Prim.FILL, new Color(0xa30075)));
    101101                SailingClub.add(new Instr(Prim.LINE, new Line2D.Double(-5,20,-5,-20)));
     
    106106        static {
    107107                Shower.add(new Instr(Prim.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null)));
    108                 Shower.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     108                Shower.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    109109                Shower.add(new Instr(Prim.FILL, new Color(0xa30075)));
    110110                Shower.add(new Instr(Prim.LINE, new Line2D.Double(-4.8,-24.5,6.2,-13.5)));
    111                 Shower.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     111                Shower.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    112112                Shower.add(new Instr(Prim.LINE, new Line2D.Double(-18.1,-17.9,-6.1,-21.3)));
    113113                Shower.add(new Instr(Prim.LINE, new Line2D.Double(-13.9,-10.2,-3.9,-17.7)));
     
    120120        static {
    121121                Slipway.add(new Instr(Prim.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null)));
    122                 Slipway.add(new Instr(Prim.STRK, new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     122                Slipway.add(new Instr(Prim.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    123123                Slipway.add(new Instr(Prim.FILL, new Color(0xa30075)));
    124124                Path2D.Double p = new Path2D.Double(); p.moveTo(-24.8,0.1); p.lineTo(-24.8,18.0); p.curveTo(-21.2,18.0,-22.2,16.7,-18.6,16.7); p.curveTo(-15.0,16.7,-16.0,18.0,-12.4,18.0);
     
    127127                Slipway.add(new Instr(Prim.PGON, p));
    128128                Slipway.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-1.65,-1.9,8,8)));
    129                 Slipway.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     129                Slipway.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    130130                Slipway.add(new Instr(Prim.LINE, new Line2D.Double(-24.5,-8.3,-3.1,-2.4)));
    131131                Slipway.add(new Instr(Prim.LINE, new Line2D.Double(9.3,1.1,22.2,4.6)));
     
    137137        static {
    138138                Toilet.add(new Instr(Prim.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null)));
    139                 Toilet.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     139                Toilet.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    140140                Toilet.add(new Instr(Prim.FILL, new Color(0xa30075)));
    141141                Toilet.add(new Instr(Prim.LINE, new Line2D.Double(0,20,0,-20)));
     
    166166                p.lineTo(8.0,0.0); p.curveTo(8.0,-11.0,-8.0,-11.0,-8.0,0.0); p.closePath();
    167167                VisitorMooring.add(new Instr(Prim.PGON, p));
    168     VisitorMooring.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     168    VisitorMooring.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    169169    VisitorMooring.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));
    170170    VisitorMooring.add(new Instr(Prim.LINE, new Line2D.Double(-33,0,-10,0)));
    171171    VisitorMooring.add(new Instr(Prim.LINE, new Line2D.Double(10,0,40,0)));
    172     VisitorMooring.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     172    VisitorMooring.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    173173    VisitorMooring.add(new Instr(Prim.ELPS, new Ellipse2D.Double(6.5,-49.5,12,12)));
    174174    VisitorMooring.add(new Instr(Prim.FILL, Color.white));
  • applications/editors/josm/plugins/smed2/src/symbols/Harbours.java

    r29186 r29198  
    2121        static {
    2222                Anchor.add(new Instr(Prim.BBOX, new Rectangle(-60,-60,120,120)));
    23                 Anchor.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     23                Anchor.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    2424                Anchor.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-10,-59,20,20)));
    2525                Path2D.Double p = new Path2D.Double(); p.moveTo(23.0,-40.0); p.lineTo(23.0,-30.0); p.lineTo(6.0,-30.0); p.lineTo(7.0,31.0); p.quadTo(21.0,29.0,31.0,22.0);
     
    3131        public static final Symbol Yacht = new Symbol();
    3232        static {
    33                 Yacht.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     33                Yacht.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    3434                Path2D.Double p = new Path2D.Double(); p.moveTo(-65.0,50.0); p.curveTo(-36.0,97.0,36.0,97.0,65.0,50.0); p.lineTo(3.0,50.0); p.lineTo(3.0,40.0); p.lineTo(55.0,30.0);
    3535                p.curveTo(32.0,4.0,25.0,-15.0,26.0,-52.0); p.lineTo(1.5,-40.0); p.lineTo(1.0,-64.0); p.lineTo(-2.0,-64.0); p.lineTo(-4.0,50.0); p.closePath();
     
    4545        static {
    4646                AnchorBerth.add(new Instr(Prim.SYMB, new Symbols.SubSymbol(Harbours.Anchorage, 1.0, 0, 0, null, null)));
    47                 AnchorBerth.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     47                AnchorBerth.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    4848                AnchorBerth.add(new Instr(Prim.FILL, Color.white));
    4949                Ellipse2D.Double s = new Ellipse2D.Double(-25,-25,50,50);
     
    5454        public static final Symbol Bollard = new Symbol();
    5555        static {
    56                 Bollard.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     56                Bollard.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    5757                Bollard.add(new Instr(Prim.FILL, Color.white));
    5858                Ellipse2D.Double s = new Ellipse2D.Double(-10,-10,20,20);
     
    6363        public static final Symbol ClearV = new Symbol();
    6464        static {
    65                 ClearV.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     65                ClearV.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    6666                ClearV.add(new Instr(Prim.FILL, Color.white));
    6767                ClearV.add(new Instr(Prim.RSHP, new Ellipse2D.Double(-30,-30,60,60)));
     
    7272                ClearV.add(new Instr(Prim.LINE, new Line2D.Double(0,25,0,15)));
    7373        }
     74        public static final Symbol CoastGStation = new Symbol();
     75        static{
     76               
     77        }
    7478        public static final Symbol ContainerCrane = new Symbol();
    7579        static {
    76                 ContainerCrane.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     80                ContainerCrane.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    7781                ContainerCrane.add(new Instr(Prim.FILL, Color.black));
    7882                ContainerCrane.add(new Instr(Prim.RSHP, new Rectangle2D.Double(-15,-65,30,100)));
     
    8185        public static final Symbol DeviationDolphin = new Symbol();
    8286        static {
    83                 DeviationDolphin.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     87                DeviationDolphin.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    8488                DeviationDolphin.add(new Instr(Prim.FILL, Color.black));
    8589                Path2D.Double p = new Path2D.Double(); p.moveTo(-30.0,0.0); p.lineTo(30.0,0.0); p.moveTo(0.0,0.0); p.lineTo(0.0,-40.0);
     
    8993        public static final Symbol DistanceI = new Symbol();
    9094        static {
    91                 DistanceI.add(new Instr(Prim.STRK, new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     95                DistanceI.add(new Instr(Prim.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    9296                DistanceI.add(new Instr(Prim.FILL, Color.black));
    9397                DistanceI.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-11,-11,22,22)));
     
    9599        public static final Symbol DistanceU = new Symbol();
    96100        static {
    97                 DistanceU.add(new Instr(Prim.STRK, new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     101                DistanceU.add(new Instr(Prim.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    98102                DistanceU.add(new Instr(Prim.FILL, new Color(0xa30075)));
    99103                DistanceU.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-11,-11,22,22)));
     
    101105        public static final Symbol Dolphin = new Symbol();
    102106        static {
    103                 Dolphin.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     107                Dolphin.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    104108                Dolphin.add(new Instr(Prim.FILL, new Color(0xffd400)));
    105109                Path2D.Double p = new Path2D.Double(); p.moveTo(3.8,-9.2); p.lineTo(9.2,-3.8); p.lineTo(9.2,3.8); p.lineTo(3.8,9.2);
     
    111115        public static final Symbol Harbour = new Symbol();
    112116        static {
    113                 Harbour.add(new Instr(Prim.STRK, new BasicStroke(15.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     117                Harbour.add(new Instr(Prim.STRK, new BasicStroke(15, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    114118                Harbour.add(new Instr(Prim.FILL, new Color(0xa30075)));
    115119                Harbour.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-75,-75,150,150)));
     
    118122        public static final Symbol HarbourMaster = new Symbol();
    119123        static {
    120                 HarbourMaster.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     124                HarbourMaster.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    121125                HarbourMaster.add(new Instr(Prim.FILL, Color.black));
    122126                HarbourMaster.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-35,-50,70,100)));
     
    134138        public static final Symbol Marina = new Symbol();
    135139        static {
    136                 Marina.add(new Instr(Prim.STRK, new BasicStroke(15.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     140                Marina.add(new Instr(Prim.STRK, new BasicStroke(15, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    137141                Marina.add(new Instr(Prim.FILL, new Color(0xa30075)));
    138142                Marina.add(new Instr(Prim.SYMB, new Symbols.SubSymbol(Harbours.Yacht, 1.0, 0, 0, null, null)));
     
    141145        public static final Symbol MarinaNF = new Symbol();
    142146        static {
    143                 MarinaNF.add(new Instr(Prim.STRK, new BasicStroke(15.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     147                MarinaNF.add(new Instr(Prim.STRK, new BasicStroke(15, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    144148                MarinaNF.add(new Instr(Prim.FILL, new Color(0xa30075)));
    145149                MarinaNF.add(new Instr(Prim.SYMB, new Symbols.SubSymbol(Harbours.Yacht, 1.0, 0, 0, null, null)));
     
    147151        public static final Symbol PortCrane = new Symbol();
    148152        static {
    149                 PortCrane.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     153                PortCrane.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    150154                PortCrane.add(new Instr(Prim.FILL, Color.black));
    151155                PortCrane.add(new Instr(Prim.EARC, new Arc2D.Double(-36.0,-36.0,72.0,72.0,70.0,-320.0,Arc2D.OPEN)));
     
    157161                Post.add(new Instr(Prim.RSHP, new Ellipse2D.Double(-10,-10,20,20)));
    158162        }
     163        public static final Symbol RescueStation = new Symbol();
     164        static{
     165               
     166        }
    159167        public static final Symbol SignalStation = new Symbol();
    160168        static {
    161                 SignalStation.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     169                SignalStation.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    162170                SignalStation.add(new Instr(Prim.FILL, Color.black));
    163171                SignalStation.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-25,-25,50,50)));
     
    166174        public static final Symbol TideGauge = new Symbol();
    167175        static {
    168                 TideGauge.add(new Instr(Prim.STRK, new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     176                TideGauge.add(new Instr(Prim.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    169177                TideGauge.add(new Instr(Prim.FILL, Color.black));
    170178                TideGauge.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));
     
    172180                TideGauge.add(new Instr(Prim.LINE, new Line2D.Double(10,0,30,0)));
    173181                TideGauge.add(new Instr(Prim.LINE, new Line2D.Double(0,-10,0,-80)));
    174                 TideGauge.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     182                TideGauge.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    175183                TideGauge.add(new Instr(Prim.LINE, new Line2D.Double(-15,-25,15,-25)));
    176184                TideGauge.add(new Instr(Prim.LINE, new Line2D.Double(-25,-45,25,-45)));
  • applications/editors/josm/plugins/smed2/src/symbols/Landmarks.java

    r29186 r29198  
    2626        private static final Symbol Base = new Symbol();
    2727        static {
    28                 Base.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     28                Base.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    2929                Base.add(new Instr(Prim.FILL, Color.black));
    3030                Base.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));
     
    3636        static {
    3737                Chimney.add(new Instr(Prim.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null)));
    38                 Chimney.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     38                Chimney.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    3939                Chimney.add(new Instr(Prim.FILL, Color.black));
    4040                Path2D.Double p = new Path2D.Double(); p.moveTo(-25.0,0.0); p.lineTo(-10.0,-120.0); p.lineTo(10.0,-120.0); p.lineTo(25.0,0.0);
     
    5656        public static final Symbol ChurchTower = new Symbol();
    5757        static {
    58                 ChurchTower.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     58                ChurchTower.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    5959                ChurchTower.add(new Instr(Prim.FILL, Color.black));
    6060                ChurchTower.add(new Instr(Prim.RECT, new Rectangle2D.Double(-36,-36,72,72)));
     
    6464        static {
    6565                Cross.add(new Instr(Prim.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null)));
    66                 Cross.add(new Instr(Prim.STRK, new BasicStroke(6.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     66                Cross.add(new Instr(Prim.STRK, new BasicStroke(6, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    6767                Cross.add(new Instr(Prim.FILL, Color.black));
    6868                Cross.add(new Instr(Prim.LINE, new Line2D.Double(0,-10,0,-150)));
     
    7272        static {
    7373                DishAerial.add(new Instr(Prim.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null)));
    74                 DishAerial.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL)));
     74                DishAerial.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL)));
    7575                DishAerial.add(new Instr(Prim.FILL, Color.black));
    7676                Path2D.Double p = new Path2D.Double(); p.moveTo(-7.8,-6.0); p.lineTo(0.0,-62.0); p.lineTo(7.8,-6.0); p.moveTo(18.0,-109.0); p.lineTo(25.0,-113.0);
     
    8080        public static final Symbol Dome = new Symbol();
    8181        static {
    82                 Dome.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     82                Dome.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    8383                Dome.add(new Instr(Prim.FILL, Color.black));
    8484                Dome.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-36,-36,72,72)));
     
    8888        static {
    8989                Flagstaff.add(new Instr(Prim.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null)));
    90                 Flagstaff.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     90                Flagstaff.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    9191                Flagstaff.add(new Instr(Prim.FILL, Color.black));
    9292                Path2D.Double p = new Path2D.Double(); p.moveTo(0.0,-10.0); p.lineTo(0.0,-150.0); p.moveTo(0.0,-140.0); p.lineTo(40.0,-140.0); p.lineTo(40.0,-100.0); p.lineTo(0.0,-100.0);
     
    9696        static {
    9797                FlareStack.add(new Instr(Prim.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null)));
    98                 FlareStack.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     98                FlareStack.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    9999                FlareStack.add(new Instr(Prim.FILL, Color.black));
    100100                Path2D.Double p = new Path2D.Double(); p.moveTo(-7.8,-6.0); p.lineTo(-7.8,-100.0); p.lineTo(7.8,-100.0); p.lineTo(7.8,-6.0);
    101101                FlareStack.add(new Instr(Prim.PLIN, p));
    102                 FlareStack.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     102                FlareStack.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
    103103                p = new Path2D.Double(); p.moveTo(21.6,-169.6); p.curveTo(-22.0,-132.4,-27.4,-103.5,3.0,-100.0); p.curveTo(39.0,-118.0,-4.0,-141.0,21.6,-169.6);
    104104                FlareStack.add(new Instr(Prim.PLIN, p));
     
    107107        static {
    108108                LandTower.add(new Instr(Prim.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null)));
    109                 LandTower.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     109                LandTower.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    110110                LandTower.add(new Instr(Prim.FILL, Color.black));
    111111                LandTower.add(new Instr(Prim.LINE, new Line2D.Double(-25,0,-15,-120)));
     
    116116        static {
    117117                Mast.add(new Instr(Prim.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null)));
    118                 Mast.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL)));
     118                Mast.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL)));
    119119                Mast.add(new Instr(Prim.FILL, Color.black));
    120120                Path2D.Double p = new Path2D.Double(); p.moveTo(-25.0,0.0); p.lineTo(0.0,-150.0); p.lineTo(25.0,0.0);
     
    124124        static {
    125125                Monument.add(new Instr(Prim.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null)));
    126                 Monument.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));
     126                Monument.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));
    127127                Monument.add(new Instr(Prim.FILL, Color.black));
    128128                Monument.add(new Instr(Prim.LINE, new Line2D.Double(-25,0,-15,-105)));
     
    132132        public static final Symbol Platform = new Symbol();
    133133        static {
    134                 Platform.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     134                Platform.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    135135                Platform.add(new Instr(Prim.FILL, Color.black));
    136136                Platform.add(new Instr(Prim.RECT, new Rectangle2D.Double(-48,-48,96,96)));
     
    139139        public static final Symbol RadioTV = new Symbol();
    140140        static {
    141                 RadioTV.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL)));
     141                RadioTV.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL)));
    142142                RadioTV.add(new Instr(Prim.FILL, Color.black));
    143143                RadioTV.add(new Instr(Prim.EARC, new Arc2D.Double(-30.0,-180.0,60.0,60.0,45.0,-90.0,Arc2D.OPEN)));
     
    148148        public static final Symbol Spire = new Symbol();
    149149        static {
    150                 Spire.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     150                Spire.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    151151                Spire.add(new Instr(Prim.FILL, Color.black));
    152152                Spire.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-25,-25,50,50)));
     
    156156        static {
    157157                Minaret.add(new Instr(Prim.SYMB, new Symbols.SubSymbol(Landmarks.Spire, 1.0, 0, 0, null, null)));
    158                 Minaret.add(new Instr(Prim.STRK, new BasicStroke(6.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     158                Minaret.add(new Instr(Prim.STRK, new BasicStroke(6, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    159159                Minaret.add(new Instr(Prim.LINE, new Line2D.Double(0,-25,0,-50)));
    160                 Minaret.add(new Instr(Prim.STRK, new BasicStroke(6.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));
     160                Minaret.add(new Instr(Prim.STRK, new BasicStroke(6, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));
    161161                Minaret.add(new Instr(Prim.EARC, new Arc2D.Double(-40.0,-110.0,80.0,60.0,180.0,180.0,Arc2D.OPEN)));
    162162        }
    163163        public static final Symbol Temple = new Symbol();
    164164        static {
    165                 Temple.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     165                Temple.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    166166                Temple.add(new Instr(Prim.RECT, new Rectangle2D.Double(-25,-15,50,30)));
    167                 Temple.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     167                Temple.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    168168                Temple.add(new Instr(Prim.LINE, new Line2D.Double(-35,-21,35,21)));
    169169                Temple.add(new Instr(Prim.LINE, new Line2D.Double(-35,21,35,-21)));
     
    172172        static {
    173173                WaterTower.add(new Instr(Prim.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null)));
    174                 WaterTower.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     174                WaterTower.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    175175                WaterTower.add(new Instr(Prim.FILL, Color.black));
    176176                WaterTower.add(new Instr(Prim.LINE, new Line2D.Double(-25,0,-15,-120)));
     
    181181        static {
    182182                WindMotor.add(new Instr(Prim.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null)));
    183                 WindMotor.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));
     183                WindMotor.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));
    184184                WindMotor.add(new Instr(Prim.FILL, Color.black));
    185185                WindMotor.add(new Instr(Prim.LINE, new Line2D.Double(0,-10,0,-90)));
     
    190190        public static final Symbol Windmill = new Symbol();
    191191        static {
    192                 Windmill.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     192                Windmill.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    193193                Windmill.add(new Instr(Prim.FILL, Color.black));
    194194                Windmill.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-12,-12,24,24)));
     
    199199        static {
    200200                Windsock.add(new Instr(Prim.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null)));
    201                 Windsock.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));
     201                Windsock.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));
    202202                Windsock.add(new Instr(Prim.FILL, Color.black));
    203203                Windsock.add(new Instr(Prim.LINE, new Line2D.Double(0,-10,0,-100)));
    204                 Windsock.add(new Instr(Prim.STRK, new BasicStroke(8.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));
     204                Windsock.add(new Instr(Prim.STRK, new BasicStroke(8, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));
    205205                Windsock.add(new Instr(Prim.LINE, new Line2D.Double(0,-100,0,-150)));
    206                 Windsock.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)));
     206                Windsock.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)));
    207207                Path2D.Double p = new Path2D.Double(); p.moveTo(0.0,-100.0); p.lineTo(10.0,-100.0); p.lineTo(10.0,-150.0); p.lineTo(0.0,-150.0);
    208208                p.moveTo(10.0,-150.0); p.lineTo(50.0,-145.0); p.lineTo(120.0,-70.0); p.quadTo(120.0,-55.0,105.0,-55.0);
  • applications/editors/josm/plugins/smed2/src/symbols/Notices.java

    r29186 r29198  
    5151        private static final Symbol Sport = new Symbol();
    5252        static {
    53                 Sport.add(new Instr(Prim.FONT, new Font("Arial", Font.BOLD, 15)));
    54                 Sport.add(new Instr(Prim.TEXT, new Caption("SPORT", (float)-25.0, (float)5.0)));
     53                Sport.add(new Instr(Prim.TEXT, new Caption("SPORT", new TextStyle(new Font("Arial", Font.BOLD, 15)), (float)-25.0, (float)5.0)));
    5554        }
    5655        private static final Symbol Turn = new Symbol();
    5756        static {
    58                 Turn.add(new Instr(Prim.STRK, new BasicStroke(5.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     57                Turn.add(new Instr(Prim.STRK, new BasicStroke(5, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    5958                Turn.add(new Instr(Prim.FILL, Color.black));
    6059                Turn.add(new Instr(Prim.EARC, new Arc2D.Double(-9.0,-9.0,18.0,18.0,270.0,230.0,Arc2D.OPEN)));
     
    6665        private static final Symbol VHF = new Symbol();
    6766        static {
    68                 VHF.add(new Instr(Prim.FONT, new Font("Arial", Font.BOLD, 20)));
    69                 VHF.add(new Instr(Prim.TEXT, new Caption("VHF", (float)-20.0, (float)-5.0)));
     67                VHF.add(new Instr(Prim.TEXT, new Caption("VHF", new TextStyle(new Font("Arial", Font.BOLD, 20)), (float)-20.0, (float)-5.0)));
    7068        }
    7169        private static final Symbol Waterbike = new Symbol();
     
    7775                NoticeA.add(new Instr(Prim.FILL, Color.white));
    7876                NoticeA.add(new Instr(Prim.RSHP, new Rectangle2D.Double(-21,-21,42,42)));
    79                 NoticeA.add(new Instr(Prim.STRK, new BasicStroke(8.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));
     77                NoticeA.add(new Instr(Prim.STRK, new BasicStroke(8, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));
    8078                NoticeA.add(new Instr(Prim.FILL, new Color(0xe80000)));
    8179                NoticeA.add(new Instr(Prim.LINE, new Line2D.Double(-25,-25,25,25)));
    82                 NoticeA.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     80                NoticeA.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    8381                NoticeA.add(new Instr(Prim.FILL, Color.black));
    8482                NoticeA.add(new Instr(Prim.RRCT, new RoundRectangle2D.Double(-30,-30,60,60,4,4)));
     
    9088                NoticeB.add(new Instr(Prim.FILL, Color.white));
    9189                NoticeB.add(new Instr(Prim.RSHP, new Rectangle2D.Double(-21,-21,42,42)));
    92                 NoticeB.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     90                NoticeB.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    9391                NoticeB.add(new Instr(Prim.FILL, Color.black));
    9492                NoticeB.add(new Instr(Prim.RRCT, new RoundRectangle2D.Double(-30,-30,60,60,4,4)));
     
    9896                NoticeE.add(new Instr(Prim.FILL, new Color(0x0000a0)));
    9997                NoticeE.add(new Instr(Prim.RSHP, new RoundRectangle2D.Double(-30,-30,60,60,4,4)));
    100                 NoticeE.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     98                NoticeE.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    10199                NoticeE.add(new Instr(Prim.FILL, Color.black));
    102100                NoticeE.add(new Instr(Prim.RRCT, new RoundRectangle2D.Double(-30,-30,60,60,4,4)));
     
    108106                NoticeA1.add(new Instr(Prim.FILL, new Color(0xe80000)));
    109107                NoticeA1.add(new Instr(Prim.RSHP, new RoundRectangle2D.Double(-30,-30,60,60,4,4)));
    110                 NoticeA1.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     108                NoticeA1.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    111109                NoticeA1.add(new Instr(Prim.FILL, Color.white));
    112110                NoticeA1.add(new Instr(Prim.RSHP, new Rectangle2D.Double(-30,-10,60,20)));
     
    118116                NoticeA1a.add(new Instr(Prim.FILL, new Color(0xe80000)));
    119117                NoticeA1a.add(new Instr(Prim.RSHP, new Ellipse2D.Double(-30,-30,60,60)));
    120                 NoticeA1a.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     118                NoticeA1a.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    121119                NoticeA1a.add(new Instr(Prim.FILL, Color.white));
    122120                NoticeA1a.add(new Instr(Prim.RSHP, new Rectangle2D.Double(-29,-10,58,20)));
     
    185183        static {
    186184                NoticeA9.add(new Instr(Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null)));
    187                 NoticeA9.add(new Instr(Prim.STRK, new BasicStroke(7.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     185                NoticeA9.add(new Instr(Prim.STRK, new BasicStroke(7, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    188186                NoticeA9.add(new Instr(Prim.FILL, Color.black));
    189187                Path2D.Double p = new Path2D.Double(); p.moveTo(-23,10); p.curveTo(-11,10,-12,4,0,4); p.curveTo(12,4,11,10,23,10);
     
    200198                p = new Path2D.Double(); p.moveTo(0,-30); p.lineTo(-30,0); p.lineTo(0,30); p.closePath();
    201199                NoticeA10a.add(new Instr(Prim.PGON, p));
    202                 NoticeA10a.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     200                NoticeA10a.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    203201                NoticeA10a.add(new Instr(Prim.FILL, Color.black));
    204202                p = new Path2D.Double(); p.moveTo(0,-30); p.lineTo(-30,0); p.lineTo(0,30); p.lineTo(30,0); p.closePath();
  • applications/editors/josm/plugins/smed2/src/symbols/Symbols.java

    r29186 r29198  
    2424
    2525        public enum Prim {
    26                 BBOX, STRK, COLR, FILL, LINE, RECT, RRCT, ELPS, EARC, PLIN, PGON, RSHP, FONT, TEXT, SYMB, P1, P2, H2, H3, H4, H5, V2, D2, D3, D4, B2, S2, S3, S4, C2, X2
     26                BBOX, STRK, COLR, FILL, LINE, RECT, RRCT, ELPS, EARC, PLIN, PGON, RSHP, TEXT, SYMB, P1, P2, H2, H3, H4, H5, V2, D2, D3, D4, B2, S2, S3, S4, C2, X2
    2727        }
    2828
     
    8585        }
    8686
     87        public static class TextStyle {
     88                Font font;
     89
     90                public TextStyle(Font ifont) {
     91                        font = ifont;
     92                }
     93        }
     94
    8795        public static class Caption {
    88                 String str;;
     96                String str;
     97                TextStyle style;
    8998                float x;
    9099                float y;
    91100
    92                 public Caption(String istr, float ix, float iy) {
     101                public Caption(String istr, TextStyle istyle, float ix, float iy) {
    93102                        str = istr;
     103                        style = istyle;
    94104                        x = ix;
    95105                        y = iy;
     
    97107        }
    98108
     109        public static class LineStyle {
     110                BasicStroke stroke;
     111                Color line;
     112                Color fill;
     113
     114                public LineStyle(BasicStroke istroke, Color iline, Color ifill) {
     115                        stroke = istroke;
     116                        line = iline;
     117                        fill = ifill;
     118                }
     119        }
     120
    99121        public static class Symbol extends ArrayList<Instr> {
    100                 private static final long serialVersionUID = 1L;
    101122
    102123                public Symbol() {
     
    185206                                case COLR:
    186207                                        if ((cs != null) && (cs.col != null)) {
    187                                                 for (Instr patch : (ArrayList<Instr>) item.params) {
     208                                                for (Instr patch : (Symbol) item.params) {
    188209                                                        switch (patch.type) {
    189210                                                        case P1:
     
    271292                                        drawSymbol(g2, s.instr, s.scale, s.x, s.y, s.delta, s.scheme);
    272293                                        break;
    273                                 case FONT:
    274                                         g2.setFont((Font) item.params);
    275                                         break;
    276294                                case TEXT:
    277295                                        Caption c = (Caption) item.params;
     296                                        g2.setFont(c.style.font);
    278297                                        g2.drawString(c.str, c.x, c.y);
    279298                                        break;
  • applications/editors/josm/plugins/smed2/src/symbols/Topmarks.java

    r29186 r29198  
    3131                colours.add(new Instr(Prim.P1, p));
    3232                TopBoard.add(new Instr(Prim.COLR, colours));
    33                 TopBoard.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     33                TopBoard.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    3434                TopBoard.add(new Instr(Prim.FILL, Color.black));
    3535                p = new Path2D.Double(); p.moveTo(-19.0,-2.0); p.lineTo(-19.0,-39.0); p.lineTo(19.0,-39.0); p.lineTo(19.0,-2.0); p.closePath();
     
    4343                colours.add(new Instr(Prim.P1, p));
    4444                TopCan.add(new Instr(Prim.COLR, colours));
    45                 TopCan.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     45                TopCan.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    4646                TopCan.add(new Instr(Prim.FILL, Color.black));
    4747                TopCan.add(new Instr(Prim.LINE, new Line2D.Double(0,0,0,-15)));
     
    5656                colours.add(new Instr(Prim.P1, p));
    5757                TopCone.add(new Instr(Prim.COLR, colours));
    58                 TopCone.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     58                TopCone.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    5959                TopCone.add(new Instr(Prim.FILL, Color.black));
    6060                TopCone.add(new Instr(Prim.LINE, new Line2D.Double(0,0,0,-15)));
     
    7070                colours.add(new Instr(Prim.P1, p));
    7171                TopCross.add(new Instr(Prim.COLR, colours));
    72                 TopCross.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     72                TopCross.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    7373                TopCross.add(new Instr(Prim.FILL, Color.black));
    7474                TopCross.add(new Instr(Prim.LINE, new Line2D.Double(0,0,0,-15)));
    75                 TopCross.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     75                TopCross.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    7676                p = new Path2D.Double(); p.moveTo(-5.0,-15.0); p.lineTo(-5.0,-32.5); p.lineTo(-22.5,-32.5); p.lineTo(-22.5,-42.5); p.lineTo(-5.0,-42.5); p.lineTo(-5.0,-60.0);
    7777                p.lineTo(5.0,-60.0); p.lineTo(5.0,-42.5); p.lineTo(22.5,-42.5); p.lineTo(22.5,-32.5); p.lineTo(5.0,-32.5); p.lineTo(5.0,-15.0); p.closePath();
     
    8787                colours.add(new Instr(Prim.P2, p));
    8888                TopEast.add(new Instr(Prim.COLR, colours));
    89                 TopEast.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     89                TopEast.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    9090                TopEast.add(new Instr(Prim.FILL, Color.black));
    9191                TopEast.add(new Instr(Prim.LINE, new Line2D.Double(0,0,0,-10)));
    9292                TopEast.add(new Instr(Prim.LINE, new Line2D.Double(0,-43,0,-47)));
    93                 TopEast.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     93                TopEast.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    9494                p = new Path2D.Double(); p.moveTo(0.0,-10.0); p.lineTo(-15.0,-43.0); p.lineTo(15.0,-43.0); p.closePath();
    9595                p.moveTo(0.0,-80.0); p.lineTo(-15.0,-47.0);  p.lineTo(15.0,-47.0); p.closePath();
     
    105105                colours.add(new Instr(Prim.P2, p));
    106106                TopIsol.add(new Instr(Prim.COLR, colours));
    107                 TopIsol.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     107                TopIsol.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    108108                TopIsol.add(new Instr(Prim.FILL, Color.black));
    109109                TopIsol.add(new Instr(Prim.LINE, new Line2D.Double(0,0,0,-15)));
    110                 TopIsol.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     110                TopIsol.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    111111                TopIsol.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-13,-41,26,26)));
    112112                TopIsol.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-13,-68,26,26)));
     
    115115        static {
    116116                TopMooring.add(new Instr(Prim.BBOX, new Rectangle(-30,-80,60,80)));
    117                 TopMooring.add(new Instr(Prim.STRK, new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     117                TopMooring.add(new Instr(Prim.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    118118                TopMooring.add(new Instr(Prim.FILL, Color.black));
    119119                TopMooring.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-1.5,-6,3,3)));
     
    129129                colours.add(new Instr(Prim.P2, p));
    130130                TopNorth.add(new Instr(Prim.COLR, colours));
    131                 TopNorth.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     131                TopNorth.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    132132                TopNorth.add(new Instr(Prim.FILL, Color.black));
    133133                TopNorth.add(new Instr(Prim.LINE, new Line2D.Double(0,0,0,-10)));
    134                 TopNorth.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     134                TopNorth.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    135135                p = new Path2D.Double(); p.moveTo(-15.0,-10.0); p.lineTo(0.0,-43.0); p.lineTo(15.0,-10.0); p.closePath();
    136136                p.moveTo(0.0,-78.0); p.lineTo(-15.0,-45.0);  p.lineTo(15.0,-45.0); p.closePath();
     
    146146                colours.add(new Instr(Prim.P2, p));
    147147                TopSouth.add(new Instr(Prim.COLR, colours));
    148                 TopSouth.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     148                TopSouth.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    149149                TopSouth.add(new Instr(Prim.FILL, Color.black));
    150150                TopSouth.add(new Instr(Prim.LINE, new Line2D.Double(0,0,0,-10)));
    151                 TopSouth.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     151                TopSouth.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    152152                p = new Path2D.Double(); p.moveTo(0.0,-10.0); p.lineTo(-15.0,-43.0); p.lineTo(15.0,-43.0); p.closePath();
    153153                p.moveTo(-15.0,-78.0); p.lineTo(0.0,-45.0);  p.lineTo(15.0,-78.0); p.closePath();
     
    161161                colours.add(new Instr(Prim.P1, p));
    162162                TopSphere.add(new Instr(Prim.COLR, colours));
    163                 TopSphere.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     163                TopSphere.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    164164                TopSphere.add(new Instr(Prim.FILL, Color.black));
    165165                TopSphere.add(new Instr(Prim.LINE, new Line2D.Double(0,0,0,-15)));
    166                 TopSphere.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     166                TopSphere.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    167167                TopSphere.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-14,-42,28,28)));
    168168        }
     
    174174                colours.add(new Instr(Prim.P1, p));
    175175                TopSquare.add(new Instr(Prim.COLR, colours));
    176                 TopSquare.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     176                TopSquare.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    177177                TopSquare.add(new Instr(Prim.FILL, Color.black));
    178178                p = new Path2D.Double(); p.moveTo(-13.0,-1.0); p.lineTo(-13.0,-27.0); p.lineTo(13.0,-27.0); p.lineTo(13.0,-1.0); p.closePath();
     
    186186                colours.add(new Instr(Prim.P1, p));
    187187                TopTriangle.add(new Instr(Prim.COLR, colours));
    188                 TopTriangle.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     188                TopTriangle.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    189189                TopTriangle.add(new Instr(Prim.FILL, Color.black));
    190190                p = new Path2D.Double(); p.moveTo(-15.0,-1.0); p.lineTo(0.0,-29.0); p.lineTo(15.0,-1.0); p.closePath();
     
    200200                colours.add(new Instr(Prim.P2, p));
    201201                TopWest.add(new Instr(Prim.COLR, colours));
    202                 TopWest.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     202                TopWest.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    203203                TopWest.add(new Instr(Prim.FILL, Color.black));
    204204                TopWest.add(new Instr(Prim.LINE, new Line2D.Double(0,0,0,-10)));
    205                 TopWest.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     205                TopWest.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    206206                p = new Path2D.Double(); p.moveTo(-15.0,-10.0); p.lineTo(0.0,-43.0); p.lineTo(15.0,-10.0); p.closePath();
    207207                p.moveTo(-15.0,-78.0); p.lineTo(0.0,-45.0);  p.lineTo(15.0,-78.0); p.closePath();
     
    216216                colours.add(new Instr(Prim.P1, p));
    217217                TopX.add(new Instr(Prim.COLR, colours));
    218                 TopX.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     218                TopX.add(new Instr(Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    219219                TopX.add(new Instr(Prim.FILL, Color.black));
    220220                TopX.add(new Instr(Prim.LINE, new Line2D.Double(0,0,0,-27)));
    221                 TopX.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     221                TopX.add(new Instr(Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    222222                p = new Path2D.Double(); p.moveTo(0.0,-27.7); p.lineTo(-12.4,-15.7); p.lineTo(-19.3,-22.6); p.lineTo(-7.3,-35.0); p.lineTo(-19.3,-47.3); p.lineTo(-12.4,-54.2); p.lineTo(0.0,-42.4);
    223223                p.lineTo(12.4,-54.2); p.lineTo(19.3,-47.3); p.lineTo(7.3,-35.0); p.lineTo(19.3,-22.6); p.lineTo(12.4,-15.7); p.closePath();
Note: See TracChangeset for help on using the changeset viewer.