package com.intellij.flex.uiDesigner.mxml; import com.intellij.flex.uiDesigner.EmbedImageManager; import com.intellij.flex.uiDesigner.InvalidPropertyException; import com.intellij.flex.uiDesigner.io.PrimitiveAmfOutputStream; import com.intellij.openapi.vfs.VirtualFile; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; class ImageValueWriter extends BinaryValueWriter { private final String mimeType; public ImageValueWriter(@NotNull VirtualFile virtualFile, @Nullable String mimeType) { super(virtualFile); this.mimeType = mimeType; } @Override protected int getStyleFlags() { return StyleFlags.EMBED_IMAGE; } @Override protected void doWrite(PrimitiveAmfOutputStream out, BaseWriter writer, boolean isStyle) throws InvalidPropertyException { if (!isStyle) { out.write(AmfExtendedTypes.IMAGE); } out.writeUInt29(EmbedImageManager.getInstance().add(virtualFile, mimeType, writer.getAssetCounter())); } }