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