// Copyright (c) 2003-2005 by Leif Frenzel - see http://leiffrenzel.de package net.sf.eclipsefp.haskell.ui.decorators; import org.eclipse.jface.resource.CompositeImageDescriptor; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.ImageData; import org.eclipse.swt.graphics.Point; /** <p>an image descriptor for decorators. This means we have a composite * image involvong an overlay image.</p> * * @author Leif Frenzel */ class DecoratorImageDescriptor extends CompositeImageDescriptor { private final Image baseImage; private final ImageData overlayImageData; DecoratorImageDescriptor( final Image baseImage, final ImageData overlayImageData ) { this.baseImage = baseImage; this.overlayImageData = overlayImageData; } @Override protected void drawCompositeImage( final int width, final int height ) { drawImage( baseImage.getImageData(), 0, 0 ); int xValue = baseImage.getBounds().width - overlayImageData.width; int yValue = 0; drawImage( overlayImageData, xValue, yValue ); } @Override protected Point getSize() { return new Point( baseImage.getBounds().width, baseImage.getBounds().height ); } }