ReqTextAteExtents.java 7.08 KB
/*
 * Decompiled with CFR 0_118.
 */
package com.scene7.is.ipp.messages;

import com.scene7.is.ipp.messages.Ipp;
import com.scene7.is.ipp.messages.IppAteTextFrame;
import com.scene7.is.ipp.messages.IppColorModelType;
import com.scene7.is.ipp.messages.IppDouble;
import com.scene7.is.ipp.messages.IppFont;
import com.scene7.is.ipp.messages.IppInt;
import com.scene7.is.ipp.messages.IppLongString;
import com.scene7.is.ipp.messages.IppProp;
import com.scene7.is.ipp.messages.Offset;
import com.scene7.is.ipp.messages.OutMessage;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.io.Writer;

public class ReqTextAteExtents
extends OutMessage {
    static int MessageNumber = 4194820;
    private int width_;
    private int height_;
    private double scale_;
    private int colorModel_;
    private String text_;
    private String defaultFont_;
    private IppFont[] fonts_;
    private IppProp[] attributes_;
    private IppAteTextFrame frame_;

    public ReqTextAteExtents(int tag, int width, int height, double scale, int colorModel, String text, String defaultFont, IppFont[] fonts, IppProp[] attributes, IppAteTextFrame frame, int headClientId) {
        int i;
        this.tag_ = tag;
        this.headerClientId_ = headClientId;
        this.width_ = width;
        this.height_ = height;
        this.scale_ = scale;
        this.colorModel_ = colorModel;
        this.text_ = text;
        this.defaultFont_ = defaultFont;
        this.fonts_ = fonts;
        this.attributes_ = attributes;
        this.frame_ = frame;
        int fixedLength = 144;
        Offset varPos = new Offset(fixedLength);
        try {
            varPos.val += text.getBytes("UTF-8").length + 1;
        }
        catch (UnsupportedEncodingException e) {
            throw new AssertionError(e);
        }
        try {
            varPos.val += defaultFont.getBytes("UTF-8").length + 1;
        }
        catch (UnsupportedEncodingException e) {
            throw new AssertionError(e);
        }
        if (fonts != null) {
            varPos.val = varPos.val + 3 & -4;
            varPos.val += fonts.length * 28;
            for (i = 0; i < fonts.length; ++i) {
                fonts[i].adjustVarPos(varPos);
            }
        }
        if (attributes != null) {
            varPos.val = varPos.val + 7 & -8;
            varPos.val += attributes.length * 48;
            for (i = 0; i < attributes.length; ++i) {
                attributes[i].adjustVarPos(varPos);
            }
        }
        frame.adjustVarPos(varPos);
        this.messageLength_ = varPos.val;
        varPos.val = fixedLength;
        Offset pos = new Offset(0);
        this.headBuffer_ = new byte[32];
        this.bodyBuffer_ = new byte[this.messageLength_];
        Ipp.StuffHeader(this.headBuffer_, this.headerClientId_, tag, MessageNumber, this.messageLength_);
        IppInt.Stuff(this.bodyBuffer_, pos, null, this.width_);
        IppInt.Stuff(this.bodyBuffer_, pos, null, this.height_);
        IppDouble.Stuff(this.bodyBuffer_, pos, null, this.scale_);
        IppInt.Stuff(this.bodyBuffer_, pos, null, this.colorModel_);
        IppLongString.Stuff(this.bodyBuffer_, pos, varPos, this.text_);
        IppLongString.Stuff(this.bodyBuffer_, pos, varPos, this.defaultFont_);
        IppFont.StuffArray(this.bodyBuffer_, pos, varPos, this.fonts_);
        IppProp.StuffArray(this.bodyBuffer_, pos, varPos, this.attributes_);
        Ipp.StuffNullBytes(this.bodyBuffer_, pos, 4);
        IppAteTextFrame.Stuff(this.bodyBuffer_, pos, varPos, this.frame_);
        Ipp.Assert(pos.val == fixedLength, "IppWatermarkType length");
    }

    public ReqTextAteExtents() {
    }

    public void process(int headClientId, int tg, byte[] bf) {
        this.headerClientId_ = headClientId;
        this.tag_ = tg;
        this.messageLength_ = bf.length;
        this.headBuffer_ = new byte[32];
        Ipp.StuffHeader(this.headBuffer_, this.headerClientId_, this.tag_, MessageNumber, this.messageLength_);
        this.bodyBuffer_ = bf;
        Offset pos = new Offset(0);
        this.width_ = IppInt.Unstuff(this.bodyBuffer_, pos);
        this.height_ = IppInt.Unstuff(this.bodyBuffer_, pos);
        this.scale_ = IppDouble.Unstuff(this.bodyBuffer_, pos);
        this.colorModel_ = IppInt.Unstuff(this.bodyBuffer_, pos);
        this.text_ = IppLongString.Unstuff(this.bodyBuffer_, pos);
        this.defaultFont_ = IppLongString.Unstuff(this.bodyBuffer_, pos);
        this.fonts_ = IppFont.UnstuffArray(this.bodyBuffer_, pos);
        this.attributes_ = IppProp.UnstuffArray(this.bodyBuffer_, pos);
        pos.val += 4;
        this.frame_ = IppAteTextFrame.Unstuff(this.bodyBuffer_, pos);
    }

    public int classification() {
        return 1;
    }

    public int id() {
        return MessageNumber;
    }

    public void print(Writer tf, String heading) throws IOException {
        tf.write("\n");
        tf.write(heading);
        tf.write(": ReqTextAteExtents ");
        Ipp.PrintHex(tf, MessageNumber);
        tf.write("\n");
        tf.write("headClientId: " + this.headerClientId() + "\n");
        Ipp.PrintTag(tf, "tag: ", this.tag());
        tf.write("length: " + this.length());
        tf.write("\n");
        IppInt.Print(tf, "width: ", this.width_);
        IppInt.Print(tf, "height: ", this.height_);
        IppDouble.Print(tf, "scale: ", this.scale_);
        IppColorModelType.Print(tf, "colorModel: ", this.colorModel_);
        IppLongString.Print(tf, "text: ", this.text_);
        IppLongString.Print(tf, "defaultFont: ", this.defaultFont_);
        IppFont.PrintArray(tf, "fonts: ", this.fonts_);
        IppProp.PrintArray(tf, "attributes: ", this.attributes_);
        IppAteTextFrame.Print(tf, "frame: ", this.frame_);
    }

    public String toString() {
        StringBuffer buffer = new StringBuffer();
        buffer.append("ReqTextAteExtents             ");
        buffer.append("[width: " + String.valueOf(this.width_) + "],");
        buffer.append("[height: " + String.valueOf(this.height_) + "],");
        buffer.append("[scale: " + String.valueOf(this.scale_) + "],");
        buffer.append("[colorModel: " + String.valueOf(this.colorModel_) + "],");
        buffer.append("[text: " + String.valueOf(this.text_) + "],");
        buffer.append("[defaultFont: " + String.valueOf(this.defaultFont_) + "],");
        buffer.append("[fonts: " + String.valueOf(this.fonts_) + "],");
        buffer.append("[attributes: " + String.valueOf(this.attributes_) + "],");
        buffer.append("[frame: " + String.valueOf(this.frame_) + "],");
        return buffer.toString();
    }

    public int width() {
        return this.width_;
    }

    public int height() {
        return this.height_;
    }

    public double scale() {
        return this.scale_;
    }

    public int colorModel() {
        return this.colorModel_;
    }

    public String text() {
        return this.text_;
    }

    public String defaultFont() {
        return this.defaultFont_;
    }

    public IppFont[] fonts() {
        return this.fonts_;
    }

    public IppProp[] attributes() {
        return this.attributes_;
    }

    public IppAteTextFrame frame() {
        return this.frame_;
    }
}