Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'extraplugins/epf-richtext/org.eclipse.epf.common/src/org/eclipse/epf/common/utils/ImageUtil.java')
-rw-r--r--extraplugins/epf-richtext/org.eclipse.epf.common/src/org/eclipse/epf/common/utils/ImageUtil.java179
1 files changed, 0 insertions, 179 deletions
diff --git a/extraplugins/epf-richtext/org.eclipse.epf.common/src/org/eclipse/epf/common/utils/ImageUtil.java b/extraplugins/epf-richtext/org.eclipse.epf.common/src/org/eclipse/epf/common/utils/ImageUtil.java
deleted file mode 100644
index 9af9c4fb740..00000000000
--- a/extraplugins/epf-richtext/org.eclipse.epf.common/src/org/eclipse/epf/common/utils/ImageUtil.java
+++ /dev/null
@@ -1,179 +0,0 @@
-//------------------------------------------------------------------------------
-// Copyright (c) 2005, 2007 IBM Corporation and others.
-// All rights reserved. This program and the accompanying materials
-// are made available under the terms of the Eclipse Public License v1.0
-// which accompanies this distribution, and is available at
-// http://www.eclipse.org/legal/epl-v10.html
-//
-// Contributors:
-// IBM Corporation - initial implementation
-//------------------------------------------------------------------------------
-package org.eclipse.epf.common.utils;
-
-import java.awt.Color;
-import java.awt.Component;
-import java.awt.Font;
-import java.awt.Graphics2D;
-import java.awt.Image;
-import java.awt.MediaTracker;
-import java.awt.font.FontRenderContext;
-import java.awt.font.LineBreakMeasurer;
-import java.awt.font.TextAttribute;
-import java.awt.font.TextLayout;
-import java.awt.geom.Point2D;
-import java.awt.image.BufferedImage;
-import java.text.AttributedCharacterIterator;
-import java.text.AttributedString;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Utility class for creating image files.
- *
- * @author Kelvin Low
- * @since 1.0
- */
-public class ImageUtil {
-
- // The BufferedImage cache.
- private static HashMap<String, BufferedImage> imageCache = new HashMap<String, BufferedImage>();
-
- /**
- * Private constructor to prevent this class from being instantiated. All
- * methods in this class should be static.
- */
- private ImageUtil() {
- }
-
- /**
- * Creates a <code>BufferedImage</code> from the given image file.
- *
- * @param imageFile
- * an image file
- * @param c
- * an AWT component
- */
- public static BufferedImage getBufferedImage(String imageFile, Component c) {
- if (imageFile == null || c == null) {
- return null;
- }
-
- BufferedImage bufferedImage = (BufferedImage) imageCache.get(imageFile);
- if (bufferedImage != null) {
- return bufferedImage;
- }
-
- Image image = c.getToolkit().getImage(imageFile);
- MediaTracker tracker = new MediaTracker(c);
- tracker.addImage(image, 0);
- try {
- tracker.waitForAll();
- } catch (InterruptedException e) {
- }
-
- bufferedImage = new BufferedImage(image.getWidth(c),
- image.getHeight(c), BufferedImage.TYPE_INT_ARGB);
-
- Graphics2D g2d = bufferedImage.createGraphics();
- g2d.drawImage(image, 0, 0, c);
- imageCache.put(imageFile, bufferedImage);
-
- return bufferedImage;
- }
-
- /**
- * Returns <code>true</code> if the given image is loaded successfully.
- *
- * @param image
- * an AWT image
- * @param c
- * an AWT component
- */
- public static boolean waitForImage(Image image, Component c) {
- MediaTracker tracker = new MediaTracker(c);
- tracker.addImage(image, 0);
- try {
- tracker.waitForAll();
- } catch (InterruptedException ie) {
- }
- return (!tracker.isErrorAny());
- }
-
- /**
- * Draws the given text.
- *
- * @param g2d
- * the <code>Graphics2D</code> context
- * @param text
- * the text to be rendered
- * @param font
- * the font used for rendering the text
- * @param color
- * the color used for rendering the text
- * @param x
- * the horizontal coordinate used for rendering the text
- * @param y
- * the verticalcoordinate used for rendering the text
- */
- public static void drawText(Graphics2D g2d, String text, Font font,
- Color color, int x, int y) {
- if (text == null || text.length() == 0) {
- return;
- }
- g2d.setColor(color);
- FontRenderContext frc = g2d.getFontRenderContext();
- TextLayout textlayout = new TextLayout(text, font, frc);
- textlayout.draw(g2d, x, y);
- }
-
- /**
- * Draws the given text and wraps it based on the given width.
- *
- * @param g2d
- * the <code>Graphics2D</code> context
- * @param text
- * the text to be rendered
- * @param font
- * the font used for rendering the text
- * @param color
- * the color used for rendering the text
- * @param x
- * the horizontal coordinate used for rendering the text
- * @param y
- * the verticalcoordinate used for rendering the text
- * @param width
- * the maximum width used for wrapping the text
- * @param maxLine
- * the maximum number of line of wrapped text
- */
- public static void drawText(Graphics2D g2d, String text, Font font,
- Color color, int x, int y, float width, int maxLine) {
- if (text == null || text.length() == 0) {
- return;
- }
- float maxWrapWidth = width - 10;
- g2d.setColor(color);
- Point2D.Float pen = new Point2D.Float(x, y);
- Map<TextAttribute, Font> attributes = new HashMap<TextAttribute, Font>();
- attributes.put(TextAttribute.FONT, font);
- AttributedCharacterIterator textIterator = new AttributedString(text,
- attributes).getIterator();
- FontRenderContext frc = g2d.getFontRenderContext();
- LineBreakMeasurer measurer = new LineBreakMeasurer(textIterator, frc);
- int line = 1;
- while (line <= maxLine) {
- TextLayout layout = measurer.nextLayout(maxWrapWidth);
- if (layout == null)
- break;
- pen.y += layout.getAscent();
- float dx = 0;
- if (layout.isLeftToRight()) {
- dx = (width - layout.getAdvance());
- }
- layout.draw(g2d, pen.x + dx / 2, pen.y);
- pen.y += layout.getDescent() + layout.getLeading() - 1;
- line++;
- }
- }
-
-}

Back to the top