/* * Copyright (C) 2014 by Array Systems Computing Inc. http://www.array.ca * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation; either version 3 of the License, or (at your option) * any later version. * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, see http://www.gnu.org/licenses/ */ package org.esa.s1tbx.dat.graphics; import java.awt.*; /** * Java 2D graphic utils */ public class GraphicText { public static void setHighQuality(final Graphics2D g) { g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); g.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); } public static void shadowText(final Graphics2D g, final Color col, final String text, final int x, final int y) { g.setColor(Color.black); g.drawString(text, x + 2, y + 2); g.setColor(col); g.drawString(text, x, y); } public static void outlineText(final Graphics2D g, final Color col, final String text, final int x, final int y) { g.setColor(Color.black); g.drawString(text, x - 1, y - 1); g.drawString(text, x - 1, y + 1); g.drawString(text, x + 1, y - 1); g.drawString(text, x + 1, y + 1); g.setColor(col); g.drawString(text, x, y); } public static void highlightText(final Graphics2D g, final Color col, final String text, final int x, final int y, final Color highlightColor) { g.setColor(highlightColor); g.drawString(text, x - 1, y - 1); g.drawString(text, x - 1, y + 1); g.drawString(text, x + 1, y - 1); g.drawString(text, x + 1, y + 1); g.setColor(col); g.drawString(text, x, y); } public static String padString(final String text, final int width) { if (text.length() >= width || text.equalsIgnoreCase("NaN")) return text; final StringBuilder newText = new StringBuilder(width); final int firstPos = width - text.length(); int i = 0; while (i <= firstPos) { newText.append(' '); ++i; } newText.append(text); return newText.toString(); } }