1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
//
// 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<Typeface> 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<Float> xpos = new ArrayList<Float>();
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);
}
}}
}}
}
|