diff options
Diffstat (limited to 'bundles/org.eclipse.wst.xml.ui/src-catalog/org/eclipse/wst/xml/ui/internal/catalog/ImageFactory.java')
-rw-r--r-- | bundles/org.eclipse.wst.xml.ui/src-catalog/org/eclipse/wst/xml/ui/internal/catalog/ImageFactory.java | 205 |
1 files changed, 0 insertions, 205 deletions
diff --git a/bundles/org.eclipse.wst.xml.ui/src-catalog/org/eclipse/wst/xml/ui/internal/catalog/ImageFactory.java b/bundles/org.eclipse.wst.xml.ui/src-catalog/org/eclipse/wst/xml/ui/internal/catalog/ImageFactory.java deleted file mode 100644 index 1c48654451..0000000000 --- a/bundles/org.eclipse.wst.xml.ui/src-catalog/org/eclipse/wst/xml/ui/internal/catalog/ImageFactory.java +++ /dev/null @@ -1,205 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2002, 2005 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 API and implementation - * Jens Lukowski/Innoopract - initial renaming/restructuring - * - *******************************************************************************/ -package org.eclipse.wst.xml.ui.internal.catalog; - -import java.util.Hashtable; - -import org.eclipse.jface.resource.CompositeImageDescriptor; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.resource.ImageRegistry; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.graphics.ImageData; -import org.eclipse.swt.graphics.Point; -import org.eclipse.wst.xml.ui.internal.XMLUIPlugin; - -public class ImageFactory -{ - public static final int TOP_LEFT = 1; - public static final int TOP_RIGHT = 2; - public static final int BOTTOM_LEFT = 3; - public static final int BOTTOM_RIGHT = 4; - - protected static final int[][] OVERLAY_COORDINATE = {{0,0},{0,2},{2,0},{2,2}}; - - protected static ImageFactory INSTANCE = new ImageFactory(); - - protected Hashtable compositeImageTable = new Hashtable(); - - public ImageFactory() - { - super(); - } - - public Image getImage(String iconName) - { - ImageRegistry imageRegistry = XMLUIPlugin.getDefault().getImageRegistry(); - - if (imageRegistry.get(iconName) != null) - { - return imageRegistry.get(iconName); - } - else - { - imageRegistry.put(iconName, ImageDescriptor.createFromFile(getClass(), iconName)); - return imageRegistry.get(iconName); - } - } - - public Image createCompositeImage(Image base, Image overlay, int overlayPosition) - { - String key = base + "*" + overlay + "*" + overlayPosition; //$NON-NLS-1$ //$NON-NLS-2$ - Image result = (Image)compositeImageTable.get(key); - if (result == null) - { - ImageDescriptor overlays[][] = new ImageDescriptor[3][3]; - int[] coord = OVERLAY_COORDINATE[overlayPosition]; - overlays[coord[1]][coord[0]] = new ImageBasedImageDescriptor(overlay); - OverlayIcon icon = new OverlayIcon(new ImageBasedImageDescriptor(base), overlays, new Point(16, 16)); - result = icon.createImage(); - compositeImageTable.put(key, result); - } - return result; - } - - - public static ImageDescriptor createImageDescriptorWrapper(Image image) - { - return new ImageBasedImageDescriptor(image); - } - - /** - * An OverlayIcon consists of a main icon and several adornments. - */ - class OverlayIcon extends CompositeImageDescriptor { - - static final int DEFAULT_WIDTH = 22; - - static final int DEFAULT_HEIGHT = 16; - - private Point fSize = null; - - private ImageDescriptor fBase; - - private ImageDescriptor fOverlays[][]; - - public OverlayIcon(ImageDescriptor base, ImageDescriptor[][] overlays, - Point size) { - fBase = base; - fOverlays = overlays; - fSize = size; - } - - protected void drawBottomLeft(ImageDescriptor[] overlays) { - if (overlays == null) - return; - int length = overlays.length; - int x = 0; - for (int i = 0; i < 3; i++) { - if (i < length && overlays[i] != null) { - ImageData id = overlays[i].getImageData(); - drawImage(id, x, getSize().y - id.height); - x += id.width; - } - } - } - - protected void drawBottomRight(ImageDescriptor[] overlays) { - if (overlays == null) - return; - int length = overlays.length; - int x = getSize().x; - for (int i = 2; i >= 0; i--) { - if (i < length && overlays[i] != null) { - ImageData id = overlays[i].getImageData(); - x -= id.width; - drawImage(id, x, getSize().y - id.height); - } - } - } - - /** - * @see CompositeImageDescriptor#drawCompositeImage(int, int) - */ - protected void drawCompositeImage(int width, int height) { - ImageData bg; - if (fBase == null || (bg = fBase.getImageData()) == null) - bg = DEFAULT_IMAGE_DATA; - drawImage(bg, 0, 0); - - if (fOverlays != null) { - if (fOverlays.length > 0) - drawTopRight(fOverlays[0]); - - if (fOverlays.length > 1) - drawBottomRight(fOverlays[1]); - - if (fOverlays.length > 2) - drawBottomLeft(fOverlays[2]); - - if (fOverlays.length > 3) - drawTopLeft(fOverlays[3]); - } - } - - protected void drawTopLeft(ImageDescriptor[] overlays) { - if (overlays == null) - return; - int length = overlays.length; - int x = 0; - for (int i = 0; i < 3; i++) { - if (i < length && overlays[i] != null) { - ImageData id = overlays[i].getImageData(); - drawImage(id, x, 0); - x += id.width; - } - } - } - - protected void drawTopRight(ImageDescriptor[] overlays) { - if (overlays == null) - return; - int length = overlays.length; - int x = getSize().x; - for (int i = 2; i >= 0; i--) { - if (i < length && overlays[i] != null) { - ImageData id = overlays[i].getImageData(); - x -= id.width; - drawImage(id, x, 0); - } - } - } - - /** - * @see CompositeImageDescriptor#getSize() - */ - protected Point getSize() { - return fSize; - } - } - - static class ImageBasedImageDescriptor extends ImageDescriptor - { - protected Image image; - - public ImageBasedImageDescriptor(Image image) - { - this.image = image; - } - - public ImageData getImageData() - { - return image.getImageData(); - } - } -} - |