source: tmcsimulator-scriptbuilder/branches/ScriptBuilder4/src/scriptbuilder/gui/drawers/CursorDrawer.java @ 6

Revision 6, 2.8 KB checked in by jdalbey, 9 years ago (diff)

Add original prototype to branch

Line 
1package scriptbuilder.gui.drawers;
2
3import java.awt.Graphics2D;
4import java.awt.Image;
5import java.io.File;
6import java.io.IOException;
7import java.util.logging.Level;
8import java.util.logging.Logger;
9import javax.imageio.ImageIO;
10import scriptbuilder.gui.ScriptBuilderGuiConstants;
11
12/**
13 *
14 * @author Greg Eddington <geddingt@calpoly.edu>
15 */
16public class CursorDrawer
17{
18    private static Image cursorIconImage = null;
19
20    private static Image getCursorIconImage()
21    {
22        if (cursorIconImage == null)
23        {
24            try
25            {
26                cursorIconImage = ImageIO.read(images.Images.getImage("Cursor.png"));
27            }
28            catch (IOException ex)
29            {
30                Logger.getLogger(EventIconDrawer.class.getName()).log(Level.SEVERE, null, ex);
31            }
32        }
33
34        return cursorIconImage;
35    }
36
37    public static void DrawCursor(Graphics2D g2d, int x,
38            boolean locked)
39    {
40        // Timestamp Border
41        g2d.setColor(ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_BORDER_COLOR);
42        g2d.fillRect(x - ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_BORDER_HORIZONTAL_CENTER,
43                ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_BORDER_TOP_MARGIN,
44                2 * ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_BORDER_HORIZONTAL_CENTER,
45                ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_BORDER_HEIGHT);
46
47        // Timestamp Center
48        g2d.setColor(locked ? ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_LOCKED_COLOR :
49                              ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_ACTIVE_COLOR);
50        g2d.fillRect(x -ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_HORIZONTAL_CENTER,
51                ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_TOP_MARGIN,
52                2 * ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_HORIZONTAL_CENTER,
53                ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_HEIGHT);
54
55        // Timestamp Text
56        g2d.setColor(ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_TEXT_COLOR);
57        int seconds = x / ScriptBuilderGuiConstants.PIXEL_WIDTH_PER_HORIZONTAL_TICK *
58                    ScriptBuilderGuiConstants.HORIZONTAL_TICK_RESOLUTION;
59        g2d.drawString(seconds / 3600 + ":" +
60                          (seconds / 60 % 60 > 9 ? seconds / 60 % 60 :
61                                             "0" + seconds / 60 % 60)  +
62                          ":00",
63                          x - ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_TEXT_CENTER,
64                          ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_TEXT_TOP_MARGIN);
65
66        // Timestamp Cursor
67        g2d.drawImage(getCursorIconImage(),
68                x - ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_ICON_CENTER,
69                ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_ICON_TOP_MARGIN,
70                null);
71    }
72}
Note: See TracBrowser for help on using the repository browser.