private void encodeMorphFillstyles(MorphFillStyle[] fillStyles, SwfEncoder w, int code) { int count = fillStyles.Length; if (count >= 0xFF) { w.writeUI8(0xFF); w.writeUI16(count); } else { w.writeUI8(count); } for (int i = 0; i < count; i++) { encodeMorphFillstyle(fillStyles[i], w, code); } }
private void encodeMorphFillstyle(MorphFillStyle style, SwfEncoder w, int code) { w.writeUI8(style.type); switch (style.type) { case FillStyle.FILL_SOLID: // 0x00 encodeRGBA(style.startColor, w); encodeRGBA(style.endColor, w); break; case FillStyle.FILL_GRADIENT: // 0x10 linear gradient fill case FillStyle.FILL_RADIAL_GRADIENT: // 0x12 radial gradient fill case FillStyle.FILL_FOCAL_RADIAL_GRADIENT: // 0x13 focal radial gradient fill encodeMatrix(style.startGradientMatrix, w); encodeMatrix(style.endGradientMatrix, w); encodeMorphGradient(style.gradRecords, w); if (style.type == FillStyle.FILL_FOCAL_RADIAL_GRADIENT && code == flash.swf.TagValues_Fields.stagDefineMorphShape2) { w.writeSI16(style.ratio1); w.writeSI16(style.ratio2); } break; case FillStyle.FILL_BITS: // 0x40 tiled bitmap fill case (FillStyle.FILL_BITS | FillStyle.FILL_BITS_CLIP): // 0x41 clipped bitmap fill case (FillStyle.FILL_BITS | FillStyle.FILL_BITS_NOSMOOTH): // 0x42 tiled non-smoothed fill case (FillStyle.FILL_BITS | FillStyle.FILL_BITS_CLIP | FillStyle.FILL_BITS_NOSMOOTH): // 0x43 clipped non-smoothed fill w.writeUI16(dict.getId(style.bitmap)); encodeMatrix(style.startBitmapMatrix, w); encodeMatrix(style.endBitmapMatrix, w); break; default: assert(false); //throw new IOException("unrecognized fill style type: " + style.type); break; } }
private void printMorphFillStyles(MorphFillStyle[] fillStyles) { for (int i = 0; i < fillStyles.Length; i++) { MorphFillStyle fillStyle = fillStyles[i]; indent(); out_Renamed.Write("<fillstyle"); out_Renamed.Write(" type='" + fillStyle.type + "'"); if (fillStyle.type == FillStyle.FILL_SOLID) { out_Renamed.Write(" startColor='" + printRGBA(fillStyle.startColor) + "'"); out_Renamed.Write(" endColor='" + printRGBA(fillStyle.endColor) + "'"); } if ((fillStyle.type & FillStyle.FILL_LINEAR_GRADIENT) != 0) { // todo print linear or radial out_Renamed.Write(" gradient='" + formatMorphGradient(fillStyle.gradRecords) + "'"); out_Renamed.Write(" startMatrix='" + fillStyle.startGradientMatrix + "'"); out_Renamed.Write(" endMatrix='" + fillStyle.endGradientMatrix + "'"); } if ((fillStyle.type & FillStyle.FILL_BITS) != 0) { // todo print tiled or clipped out_Renamed.Write(" idref='" + idRef(fillStyle.bitmap) + "'"); out_Renamed.Write(" startMatrix='" + fillStyle.startBitmapMatrix + "'"); out_Renamed.Write(" endMatrix='" + fillStyle.endBitmapMatrix + "'"); } //UPGRADE_TODO: Method 'java.io.PrintWriter.println' was converted to 'System.IO.TextWriter.WriteLine' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javaioPrintWriterprintln_javalangString'" out_Renamed.WriteLine(" />"); } }