/** * Creates a SWF CXFormWithAlpha type for the common scenario where only an * alpha multiplier has been specified. The double value is converted into * an 8.8 fixed integer as required by the SWF format. * * @param alphaMultiplier The alpha multiplier value specified as a double * in the range 0.0 to 1.0 (inclusive). * @return a SWF CXFormWithAlpha value for the specified alpha multiplier. */ public static CXFormWithAlpha cxFormWithAlpha(double alphaMultiplier) { CXFormWithAlpha c = new CXFormWithAlpha(); c.setMultTerm(fixed8(1.0), fixed8(1.0), fixed8(1.0), fixed8(alphaMultiplier)); return c; }
private void writeColorTransformWithAlpha(CXFormWithAlpha cx) { final int nbits = requireSBCount( cx.getRedMultTerm(), cx.getGreenMultTerm(), cx.getBlueMultTerm(), cx.getAlphaMultTerm(), cx.getRedAddTerm(), cx.getGreenAddTerm(), cx.getBlueAddTerm(), cx.getAlphaAddTerm()); tagBuffer.writeBit(cx.hasAdd()); tagBuffer.writeBit(cx.hasMult()); tagBuffer.writeUB(nbits, 4); if (cx.hasMult()) { tagBuffer.writeSB(cx.getRedMultTerm(), nbits); tagBuffer.writeSB(cx.getGreenMultTerm(), nbits); tagBuffer.writeSB(cx.getBlueMultTerm(), nbits); tagBuffer.writeSB(cx.getAlphaMultTerm(), nbits); } if (cx.hasAdd()) { tagBuffer.writeSB(cx.getRedAddTerm(), nbits); tagBuffer.writeSB(cx.getGreenAddTerm(), nbits); tagBuffer.writeSB(cx.getBlueAddTerm(), nbits); tagBuffer.writeSB(cx.getAlphaAddTerm(), nbits); } tagBuffer.byteAlign(); }
double greenOffset, double blueOffset) CXFormWithAlpha c = new CXFormWithAlpha(); int alphaMultTerm = fixed8(alphaMultiplier); int redMultTerm = fixed8(redMultiplier); c.setAddTerm(redAddTerm, greenAddTerm, blueAddTerm, alphaAddTerm); if (alphaMultTerm > 0 || redMultTerm > 0 || greenMultTerm > 0 || blueMultTerm > 0) c.setMultTerm(redMultTerm, greenMultTerm, blueMultTerm, alphaMultTerm);
double greenOffset, double blueOffset) CXFormWithAlpha c = new CXFormWithAlpha(); int alphaMultTerm = fixed8(alphaMultiplier); int redMultTerm = fixed8(redMultiplier); c.setAddTerm(redAddTerm, greenAddTerm, blueAddTerm, alphaAddTerm); if (alphaMultTerm > 0 || redMultTerm > 0 || greenMultTerm > 0 || blueMultTerm > 0) c.setMultTerm(redMultTerm, greenMultTerm, blueMultTerm, alphaMultTerm);
private void writeColorTransformWithAlpha(CXFormWithAlpha cx) { final int nbits = requireSBCount( cx.getRedMultTerm(), cx.getGreenMultTerm(), cx.getBlueMultTerm(), cx.getAlphaMultTerm(), cx.getRedAddTerm(), cx.getGreenAddTerm(), cx.getBlueAddTerm(), cx.getAlphaAddTerm()); tagBuffer.writeBit(cx.hasAdd()); tagBuffer.writeBit(cx.hasMult()); tagBuffer.writeUB(nbits, 4); if (cx.hasMult()) { tagBuffer.writeSB(cx.getRedMultTerm(), nbits); tagBuffer.writeSB(cx.getGreenMultTerm(), nbits); tagBuffer.writeSB(cx.getBlueMultTerm(), nbits); tagBuffer.writeSB(cx.getAlphaMultTerm(), nbits); } if (cx.hasAdd()) { tagBuffer.writeSB(cx.getRedAddTerm(), nbits); tagBuffer.writeSB(cx.getGreenAddTerm(), nbits); tagBuffer.writeSB(cx.getBlueAddTerm(), nbits); tagBuffer.writeSB(cx.getAlphaAddTerm(), nbits); } tagBuffer.byteAlign(); }
private CXFormWithAlpha readColorTransformWithAlpha() { bitStream.byteAlign(); final CXFormWithAlpha cxFormWithAlpha = new CXFormWithAlpha(); final boolean hasAddTerms = bitStream.readBit(); final boolean hasMultTerms = bitStream.readBit(); final int nbits = bitStream.readUB(4); if (hasMultTerms) { cxFormWithAlpha.setMultTerm( bitStream.readSB(nbits), bitStream.readSB(nbits), bitStream.readSB(nbits), bitStream.readSB(nbits)); } if (hasAddTerms) { cxFormWithAlpha.setAddTerm( bitStream.readSB(nbits), bitStream.readSB(nbits), bitStream.readSB(nbits), bitStream.readSB(nbits)); } return cxFormWithAlpha; }
/** * Creates a SWF CXFormWithAlpha type for the common scenario where only an * alpha multiplier has been specified. The double value is converted into * an 8.8 fixed integer as required by the SWF format. * * @param alphaMultiplier The alpha multiplier value specified as a double * in the range 0.0 to 1.0 (inclusive). * @return a SWF CXFormWithAlpha value for the specified alpha multiplier. */ public static CXFormWithAlpha cxFormWithAlpha(double alphaMultiplier) { CXFormWithAlpha c = new CXFormWithAlpha(); c.setMultTerm(fixed8(1.0), fixed8(1.0), fixed8(1.0), fixed8(alphaMultiplier)); return c; }
private CXFormWithAlpha readColorTransformWithAlpha() { bitStream.byteAlign(); final CXFormWithAlpha cxFormWithAlpha = new CXFormWithAlpha(); final boolean hasAddTerms = bitStream.readBit(); final boolean hasMultTerms = bitStream.readBit(); final int nbits = bitStream.readUB(4); if (hasMultTerms) { cxFormWithAlpha.setMultTerm( bitStream.readSB(nbits), bitStream.readSB(nbits), bitStream.readSB(nbits), bitStream.readSB(nbits)); } if (hasAddTerms) { cxFormWithAlpha.setAddTerm( bitStream.readSB(nbits), bitStream.readSB(nbits), bitStream.readSB(nbits), bitStream.readSB(nbits)); } return cxFormWithAlpha; }