TextLayout.java 1.83 KB
/*
 * Decompiled with CFR 0_118.
 */
package com.adobe.xfa.text;

import com.adobe.xfa.gfx.GFXEnv;
import com.adobe.xfa.text.TextDispStr;
import com.adobe.xfa.text.TextDisplay;
import com.adobe.xfa.text.TextLayoutLine;
import com.adobe.xfa.ut.Storage;

public class TextLayout {
    private final Storage<TextLayoutLine> moLines = new Storage();
    private boolean mbIsSuspect;

    public TextLayout() {
    }

    public TextLayout(TextLayout oSource) {
        this.copyFrom(oSource);
    }

    public void reset() {
        this.moLines.setSize(0);
    }

    public TextLayoutLine addLine(TextLayoutLine poLine) {
        TextLayoutLine poCopy = new TextLayoutLine(poLine);
        this.moLines.add(poCopy);
        return poCopy;
    }

    public void addLineRef(TextLayoutLine poLine) {
        this.moLines.add(poLine);
    }

    public int getLineCount() {
        return this.moLines.size();
    }

    public TextLayoutLine getLine(int nIndex) {
        return this.moLines.get(nIndex);
    }

    public TextDisplay generateStream(TextDispStr oTarget, GFXEnv poGfxEnv) {
        return null;
    }

    public void format(TextDispStr oSource, boolean bAllowCharGlyphs, GFXEnv poGfxEnv) {
        this.reset();
    }

    public boolean isSuspect() {
        return this.mbIsSuspect;
    }

    public void setIsSuspect(boolean bIsSuspect) {
        this.mbIsSuspect = bIsSuspect;
    }

    public void copyFrom(TextLayout oSource) {
        if (this != oSource) {
            this.reset();
            int nLines = oSource.moLines.size();
            this.moLines.setSize(nLines);
            for (int i = 0; i < nLines; ++i) {
                this.moLines.set(i, oSource.getLine(i));
            }
            this.mbIsSuspect = oSource.mbIsSuspect;
        }
    }

    public TextLayout cloneLayout() {
        return new TextLayout(this);
    }
}