// // Latex Project Public Licence (lppl1.3) applies // Originally written by Kwanleung Tse // First Release : 1st July, 2014 // Last Update : 27th September, 2014 // // package worker4math.hktex2; import android.graphics.Typeface; import android.graphics.Canvas; import java.util.ArrayList; public class Drawdocument { public static int ii=0; public static int showpagenumber=0; SuperBlock superblock = new SuperBlock(); Parsedocument parsedocument = new Parsedocument(); public static float containerwidth2; public static float containerheight2; public static float height=0; public void drawinit(float containerwidth,float containerheight){ containerwidth2=containerwidth; containerheight2=containerheight; Initdraw initdraw = new Initdraw(); initdraw.initdraw(containerwidth, containerheight); return; } public void drawdocument(Canvas canvas, ArrayList tf, Integer containerwidth){ Drawblock draw = new Drawblock(); int tid=0; int showpagenumber2; if ((Header.tablet && Header.tablet_twocolumns) || (!Header.tablet && Header.phone_twocolumns)){ showpagenumber2=showpagenumber*2;} else { showpagenumber2=showpagenumber; } if (Initdraw.pageline.indexOfKey(showpagenumber2)>=0){ int index=SuperBlock.superblocklinenumber.get(0)+1; int index2=0; for (int ii=0;ii<=Initdraw.pageline.get(showpagenumber2).size()-1;ii++){ int i=Initdraw.pageline.get(showpagenumber2).get(ii); while(i>=index){ tid++;index2=index;index=index+SuperBlock.superblocklinenumber.get(tid)+1;} int tid2=tid*1000+(i-index2); // add page number if(Header.showpagenumber && i==Initdraw.pageline.get(showpagenumber2).get(Initdraw.pageline.get(showpagenumber2).size()-1)){ SuperBlock.blockatom.get(tid2).add(Integer.toString(showpagenumber+Header.firstpage)); SuperBlock.blockxpos.get(tid2).add(containerwidth2/2); SuperBlock.blockypos.get(tid2).add(containerheight2-Header.bottomsidemargin+10.0f); SuperBlock.blockattribute.get(tid2).add(Header.defaultattribute); } if (SuperBlock.blockatom.get(tid2).size()>0){ draw.drawblock(canvas, SuperBlock.blockatom.get(tid2), SuperBlock.blockxpos.get(tid2),SuperBlock.blockypos.get(tid2), SuperBlock.blockattribute.get(tid2), Symbol.symbolunicode, Symbol.symboltype, Symbol.matchsymbol, tf); } }} if ((Header.tablet && Header.tablet_twocolumns) || (!Header.tablet && Header.phone_twocolumns) ){ tid=0; showpagenumber2=showpagenumber*2+1; if (Initdraw.pageline.indexOfKey(showpagenumber2)>=0){ int index=SuperBlock.superblocklinenumber.get(0)+1; int index2=0; for (int ii=0;ii<=Initdraw.pageline.get(showpagenumber2).size()-1;ii++){ int i=Initdraw.pageline.get(showpagenumber2).get(ii); while(i>=index){ tid++;index2=index;index=index+SuperBlock.superblocklinenumber.get(tid)+1;} int tid2=tid*1000+(i-index2); float t=containerwidth/2-Header.leftsidemargin+Header.rightsidemargin/2; ArrayList xpos = new ArrayList(); for (int iii=0;iii<=SuperBlock.blockxpos.get(tid2).size()-1;iii++){ xpos.add(SuperBlock.blockxpos.get(tid2).get(iii)+t); } if (SuperBlock.blockatom.get(tid2).size()>0){ draw.drawblock(canvas, SuperBlock.blockatom.get(tid2), xpos,SuperBlock.blockypos.get(tid2), SuperBlock.blockattribute.get(tid2), Symbol.symbolunicode, Symbol.symboltype, Symbol.matchsymbol, tf); } }} }} }