//
// Android PDF Writer
// http://coderesearchlabs.com/androidpdfwriter
//
// by Javier Santo Domingo (j-a-s-d@coderesearchlabs.com)
//
package totalcross.util.pdf;
import java.util.ArrayList;
public class Pages
{
private PDFDocument mDocument;
private ArrayList<Page> mPageList;
private IndirectObject mIndirectObject;
private Array mMediaBox;
private Array mKids;
public Pages(PDFDocument document, int pageWidth, int pageHeight)
{
mDocument = document;
mIndirectObject = mDocument.newIndirectObject();
mPageList = new ArrayList<Page>();
mMediaBox = new Array();
String content[] = { "0", "0", Integer.toString(pageWidth), Integer.toString(pageHeight) };
mMediaBox.addItemsFromStringArray(content);
mKids = new Array();
}
public IndirectObject getIndirectObject()
{
return mIndirectObject;
}
public Page newPage()
{
Page lPage = new Page(mDocument);
mPageList.add(lPage);
mKids.addItem(lPage.getIndirectObject().getIndirectReference());
return lPage;
}
public Page getPageAt(int position)
{
return mPageList.get(position);
}
public int getCount()
{
return mPageList.size();
}
public void render()
{
mIndirectObject.setDictionaryContent(" /Type /Pages\n" + " /MediaBox " + mMediaBox.toPDFString() + "\n" + " /Count "
+ Integer.toString(mPageList.size()) + "\n" + " /Kids " + mKids.toPDFString() + "\n");
for (Page lPage : mPageList)
{
lPage.render(mIndirectObject.getIndirectReference());
}
}
}