PortableImageFactory.java

package net.sourceforge.plantuml.klimt.awt;

import java.awt.image.BufferedImage;

import net.sourceforge.plantuml.teavm.TeaVM;

public class PortableImageFactory {

	public static PortableImage build(int width, int height, int imageType) {
		if (!TeaVM.isTeaVM())
			return new PortableImageAwt(width, height, imageType);
		else
			// ::revert when JAVA8
			return new PortableImageTeaVM(width, height, imageType);
		// return new PortableImageAwt(width, height, imageType);
		// ::done
	}

	public static PortableImage build(BufferedImage image) {
		if (!TeaVM.isTeaVM())
			return new PortableImageAwt(image);
		else
			throw new UnsupportedOperationException("TEAVM92734");
	}

	/**
	 * Creates a PortableImage from raw PNG bytes (TeaVM only).
	 * Dimensions are parsed from the PNG IHDR header; the base64 string
	 * is stored for direct use in SVG output via {@code toPngDataUrl()}.
	 */
	public static PortableImage buildFromPngBytes(byte[] pngBytes, String base64) {
		// ::revert when JAVA8
		return new PortableImageTeaVM(pngBytes, base64);
		// throw new UnsupportedOperationException();
		// ::done
	}

}