View Javadoc

1   /*
2   * The contents of this file are subject to the BT "ZEUS" Open Source 
3   * Licence (L77741), Version 1.0 (the "Licence"); you may not use this file 
4   * except in compliance with the Licence. You may obtain a copy of the Licence
5   * from $ZEUS_INSTALL/licence.html or alternatively from
6   * http://www.labs.bt.com/projects/agents/zeus/licence.htm
7   * 
8   * Except as stated in Clause 7 of the Licence, software distributed under the
9   * Licence is distributed WITHOUT WARRANTY OF ANY KIND, either express or 
10  * implied. See the Licence for the specific language governing rights and 
11  * limitations under the Licence.
12  * 
13  * The Original Code is within the package zeus.*.
14  * The Initial Developer of the Original Code is British Telecommunications
15  * public limited company, whose registered office is at 81 Newgate Street, 
16  * London, EC1A 7AJ, England. Portions created by British Telecommunications 
17  * public limited company are Copyright 1996-9. All Rights Reserved.
18  * 
19  * THIS NOTICE MUST BE INCLUDED ON ANY COPY OF THIS FILE
20  */
21  
22  
23  
24  package zeus.visualiser.statistics.charts;
25  
26  import java.util.*;
27  import java.awt.*;
28  
29  public class GraphicsSymbol {
30     private static final int types = 5;
31     public static void drawSymbol(Graphics g, int sym, int size, int x, int y) {
32        if ( g == null ) return;
33        sym = sym%types;
34        switch(sym) {
35           case 0: // +
36              g.drawLine(x-size/2,y,x+size/2,y);
37              g.drawLine(x,y-size/2,x,y+size/2);
38              break;
39           case 1: // x
40              g.drawLine(x-size/2,y-size/2,x+size/2,y+size/2);
41              g.drawLine(x-size/2,y+size/2,x+size/2,y-size/2);
42              break;
43           case 2: // box
44              g.fillRect(x-size/2,y-size/2,size,size);
45              break;
46           case 3: // x
47              g.fillOval(x-size/2,y-size/2,size,size);
48              break;
49           case 4: // + & x
50              g.drawLine(x-size/2,y,x+size/2,y);
51              g.drawLine(x,y-size/2,x,y+size/2);
52              g.drawLine(x-size/2,y-size/2,x+size/2,y+size/2);
53              g.drawLine(x-size/2,y+size/2,x+size/2,y-size/2);
54              break;
55        }
56     }
57  }