package scriptbuilder.gui.drawers; import java.awt.Graphics2D; import java.awt.Image; import java.io.File; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; import javax.imageio.ImageIO; import scriptbuilder.gui.ScriptBuilderGuiConstants; /** * * @author Greg Eddington */ public class CursorDrawer { private static Image cursorIconImage = null; private static Image getCursorIconImage() { if (cursorIconImage == null) { try { cursorIconImage = ImageIO.read(images.Images.getImage("Cursor.png")); } catch (IOException ex) { Logger.getLogger(EventIconDrawer.class.getName()).log(Level.SEVERE, null, ex); } } return cursorIconImage; } public static void DrawCursor(Graphics2D g2d, int x, boolean locked) { // Timestamp Border g2d.setColor(ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_BORDER_COLOR); g2d.fillRect(x - ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_BORDER_HORIZONTAL_CENTER, ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_BORDER_TOP_MARGIN, 2 * ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_BORDER_HORIZONTAL_CENTER, ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_BORDER_HEIGHT); // Timestamp Center g2d.setColor(locked ? ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_LOCKED_COLOR : ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_ACTIVE_COLOR); g2d.fillRect(x -ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_HORIZONTAL_CENTER, ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_TOP_MARGIN, 2 * ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_HORIZONTAL_CENTER, ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_HEIGHT); // Timestamp Text g2d.setColor(ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_TEXT_COLOR); int seconds = x / ScriptBuilderGuiConstants.PIXEL_WIDTH_PER_HORIZONTAL_TICK * ScriptBuilderGuiConstants.HORIZONTAL_TICK_RESOLUTION; g2d.drawString(seconds / 3600 + ":" + (seconds / 60 % 60 > 9 ? seconds / 60 % 60 : "0" + seconds / 60 % 60) + ":00", x - ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_TEXT_CENTER, ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_TEXT_TOP_MARGIN); // Timestamp Cursor g2d.drawImage(getCursorIconImage(), x - ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_ICON_CENTER, ScriptBuilderGuiConstants.CURSOR_TIMESTAMP_ICON_TOP_MARGIN, null); } }