package art.client.GUI.components.devices.window.colors.rtz32.realtime.components.distribution; import art.library.model.devices.colors.controller.RTZ32.configuration.RTZ32_Configuration; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.geom.Rectangle2D; public class Diagram_Distribution_Realtime { public static void format(Graphics2D g2) { try { g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_HRGB); g2.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON); g2.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); g2.setRenderingHint(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_DEFAULT); g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR); g2.setRenderingHint(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY); g2.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY); g2.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_NORMALIZE); } catch (Exception e) { } } public static void drawRightString(Graphics2D g2, String text, Rectangle2D rect, Font font) { FontMetrics metrics = g2.getFontMetrics(font); double x = (rect.getX() + rect.getWidth()) - metrics.stringWidth(text) - 5; double y = rect.getY() + ((rect.getHeight() - metrics.getHeight()) / 2) + metrics.getAscent(); g2.setFont(font); g2.drawString(text, (float)x, (float)y); } public static void drawRightString(Graphics2D g2, String text, double x, double y) { FontMetrics metrics = g2.getFontMetrics(); g2.drawString(text, (float)x - metrics.stringWidth(text), (float)(y + metrics.getAscent())); } public static void drawLeftString(Graphics2D g2, String text, Rectangle2D rect, Font font) { FontMetrics metrics = g2.getFontMetrics(font); double x = rect.getX(); double y = rect.getY() + ((rect.getHeight() - metrics.getHeight()) / 2) + metrics.getAscent(); g2.setFont(font); g2.drawString(text, (float)x, (float)y); } public static void drawLeftString(Graphics2D g2, String text, double x, double y) { FontMetrics metrics = g2.getFontMetrics(); g2.drawString(text, (float)x , (float)(y + metrics.getAscent())); } public static void drawCenteredString(Graphics2D g2, String text, double x, double y) { FontMetrics metrics = g2.getFontMetrics(); g2.drawString(text, (float)x - (metrics.stringWidth(text)/2), (float)(y + (metrics.getAscent()/2))); } public static void drawCenteredString(Graphics2D g2, String text, Rectangle2D rect, Font font) { FontMetrics metrics = g2.getFontMetrics(font); double x = rect.getX() + (rect.getWidth() - metrics.stringWidth(text)) / 2; double y = rect.getY() + ((rect.getHeight() - metrics.getHeight()) / 2) + metrics.getAscent(); g2.setFont(font); g2.drawString(text, (float)x, (float)y); } public static int getNumberBars(RTZ32_Configuration configuration) { int result = configuration.groups.length; result = result + (configuration.getGroupType(20).size() * 3); return result; } }