Bug 129755 [Decorators] CompositeImageDescriptor: Problem on overlay with transparent areas in PNG
bundles/org.eclipse.jface/src/org/eclipse/jface/resource/CompositeImageDescriptor.java
* image atop this composite image.
     * </p>
     *
     * @param src the source image data
     * @param ox the x position
     * @param oy the y position
     */
    final protected void drawImage(ImageData src, int ox, int oy) {
        RGB[] out = imageData.getRGBs();
        PaletteData palette = src.palette;
        if (palette.isDirect) {
            ImageData mask = src.getTransparencyMask();
            for (int y = 0; y < src.height; y++) {
                for (int x = 0; x < src.width; x++) {
                    if (mask.getPixel(x, y) != 0) {
                        int xx = x + ox;
                        int yy = y + oy;
                        if (xx >= 0 && xx < imageData.width && yy >= 0
                                && yy < imageData.height) {
                            int pixel = src.getPixel(x, y);
                            int r = pixel & palette.redMask;
                            
                            r = (palette.redShift < 0) ? r >>> -palette.redShift
                                    : r << palette.redShift;
                            int g = pixel & palette.greenMask;
                            g = (palette.greenShift < 0) ? g >>> -palette.greenShift
                                    : g << palette.greenShift;
                            int b = pixel & palette.blueMask;
                            b = (palette.blueShift < 0) ? b >>> -palette.blueShift
                                    : b << palette.blueShift;