FontSetStack.java 1.48 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  com.adobe.internal.util.ArrayListStack
 */
package com.adobe.fontengine.fontmanagement;

import com.adobe.fontengine.fontmanagement.FontProxy;
import com.adobe.fontengine.inlineformatting.css20.CSS20FontDatabase;
import com.adobe.internal.util.ArrayListStack;
import java.util.ArrayList;

public abstract class FontSetStack {
    private ArrayListStack fontStack = new ArrayListStack();

    public FontSetStack() {
    }

    public FontSetStack(CSS20FontDatabase original) {
    }

    public void pushFontSet() {
        ArrayList fontList = new ArrayList();
        this.fontStack.push(fontList);
    }

    public void popFontSet() {
        ArrayList fontList = (ArrayList)this.fontStack.pop();
        if (fontList == null) {
            return;
        }
        for (FontProxy fontProxy : fontList) {
            this.removeFontProxy(fontProxy);
        }
    }

    public void restoreOriginalFontSet() {
        while (this.fontStack.size() > 0) {
            this.popFontSet();
        }
    }

    public void flattenFontSet() {
        this.fontStack.clear();
    }

    protected void fontAdded(FontProxy fontProxy) {
        if (this.fontStack.empty()) {
            return;
        }
        ArrayList fontList = (ArrayList)this.fontStack.peek();
        if (fontList == null) {
            return;
        }
        fontList.add(fontProxy);
    }

    protected abstract void removeFontProxy(FontProxy var1);
}