X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=plugins%2Fnet.mograsim.plugin.core%2Fsrc%2Fnet%2Fmograsim%2Fplugin%2Futil%2FImageDescriptorWithMargins.java;fp=plugins%2Fnet.mograsim.plugin.core%2Fsrc%2Fnet%2Fmograsim%2Fplugin%2Futil%2FImageDescriptorWithMargins.java;h=a664b09d5b47b5f1f7b27f7be38430f828fee3d7;hb=0eb525202d3c871a2a20f789af1728248f3cff11;hp=0000000000000000000000000000000000000000;hpb=96dd446ab936b4db82d0bd94f90e20442a4d86af;p=Mograsim.git diff --git a/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/util/ImageDescriptorWithMargins.java b/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/util/ImageDescriptorWithMargins.java new file mode 100644 index 00000000..a664b09d --- /dev/null +++ b/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/util/ImageDescriptorWithMargins.java @@ -0,0 +1,37 @@ +package net.mograsim.plugin.util; + +import org.eclipse.jface.resource.CompositeImageDescriptor; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.swt.graphics.Point; + +public class ImageDescriptorWithMargins extends CompositeImageDescriptor +{ + private final ImageDescriptor input; + private final Point size; + private final int ox, oy; + + public ImageDescriptorWithMargins(ImageDescriptor input, Point size) + { + this(input, 0, 0, size); + } + + public ImageDescriptorWithMargins(ImageDescriptor input, int offX, int offY, Point size) + { + this.input = input; + this.size = size; + this.ox = offX; + this.oy = offY; + } + + @Override + protected Point getSize() + { + return size; + } + + @Override + protected void drawCompositeImage(int width, int height) + { + drawImage(input::getImageData, ox, oy); + } +} \ No newline at end of file