Lines Matching refs:page

4 //page.js-module to generate pages
5 abc2svg.page={img_out:function(page,p){var cur_img_out=user.img_out;page.user_out(p)
6 if(user.img_out!=cur_img_out){page.user_out=user.img_out
7 user.img_out=cur_img_out}},abc_end:function(of){var page=this.page
8 if(page&&page.in_page){abc2svg.page.close_page(page)
9 if(user.img_out==page.img_out_sav)
10 user.img_out=page.user_out}
11 of()},gen_hf:function(page,ty){var a,i,j,k,x,y,y0,s,font=page.abc.get_font(ty),str=page[ty],cfmt=page.abc.cfmt(),fh=font.size*1.1,pos=['">','" text-anchor="middle">','" text-anchor="end">']
39 t=abc2svg.get_mtime(page.abc.parse.fname)
46 case'F':r[j]+=page.abc.parse.fname
49 case'T':t=page.abc.info()[c]
53 case'P':case'Q':t=c=='P'?page.pn:page.pna
70 n_font=page.abc.get_font("u"+c)
88 if(str[0]=='-'){if(page.pn==1)
110 page.hf+='<text class="'+
118 return fh*a[4]},open_page:function(page,ht){var h,l,abc=page.abc,cfmt=abc.cfmt(),sty='<div style="line-height:0'
119 page.pn++
120 page.pna++
121 if(page.first)
122 page.first=false
124 sty+=";page-break-before:always"
125 if(page.gutter)
127 ((page.pn&1)?page.gutter:-page.gutter).toFixed(1)+"px"
128 abc2svg.page.img_out(page,sty+'">')
129 page.in_page=true
130 ht+=page.topmargin
131 page.hmax=cfmt.pageheight-page.botmargin-ht
132 page.hf=''
133 if(page.header){l=abc.get_font_style().length
134 h=abc2svg.page.gen_hf(page,"header")
136 if(cfmt.fullsvg||sty!=page.hsty){page.hsty=sty
138 abc2svg.page.img_out(page,'<svg xmlns="http://www.w3.org/2000/svg" version="1.1"\n\
141 page.topmargin.toFixed(1)+')">'+
142 page.hf+'</g>\n</svg>')
143 page.hmax-=h;page.hf=''}else{abc2svg.page.img_out(page,'<svg xmlns="http://www.w3.org/2000/svg" version="1.1"\n\
146 if(page.footer){l=abc.get_font_style().length
147 page.fh=abc2svg.page.gen_hf(page,"footer")
149 if(cfmt.fullsvg||sty!=page.fsty){page.fsty=sty
150 page.ffsty='<style>'+sty+'\n</style>\n'}else{page.ffsty=''}
151 page.hmax-=page.fh}
152 page.h=0},close_page:function(page){var h,cfmt=page.abc.cfmt()
153 page.in_page=false
154 if(page.footer){h=page.hmax+page.fh-page.h
155 abc2svg.page.img_out(page,'<svg xmlns="http://www.w3.org/2000/svg" version="1.1"\n\
157 width="'+cfmt.pagewidth.toFixed(0)+'px" height="'+h.toFixed(0)+'px">\n'+page.ffsty+'<g transform="translate(0,'+
158 (h-page.fh).toFixed(1)+')">'+
159 page.hf+'</g>\n</svg>')}
160 abc2svg.page.img_out(page,'</div>')
161 page.h=0},img_in:function(p){var h,ht,nh,page=this.page
162 function blkcpy(page){while(page.blk.length)
163 abc2svg.page.img_out(page,page.blk.shift())
164 page.blk=null}
165 switch(p.slice(0,4)){case"<div":if(p.indexOf('newpage')>0||(page.oneperpage&&this.info().X)||!page.h){if(page.in_page)
166 abc2svg.page.close_page(page)
167 abc2svg.page.open_page(page,0)}
168 page.blk=[]
169 page.hb=page.h
172 while(h+page.h>=page.hmax){ht=page.blk?0:this.cfmt().topspace
173 if(page.blk){if(!page.hb){blkcpy(page)
174 nh=0}else{nh=page.h-page.hb
175 page.h=page.hb}}
176 abc2svg.page.close_page(page)
177 abc2svg.page.open_page(page,ht)
178 if(page.blk){blkcpy(page)
179 page.h=nh}
180 if(h>page.hmax)
182 if(page.blk)
183 page.blk.push(p)
185 abc2svg.page.img_out(page,p)
186 page.h+=h
188 case"</di":if(page.blk)
189 blkcpy(page)
190 break}},set_fmt:function(of,cmd,parm){var v,cfmt=this.cfmt(),page=this.page
195 if(!page&&user.img_out&&abc2svg.abc_end){this.page=page={abc:this,topmargin:38,botmargin:38,h:0,pn:0,pna:0,first:true,user_out:user.img_out}
196 if(cfmt.header){page.header=cfmt.header;cfmt.header=null}
197 if(cfmt.footer){page.footer=cfmt.footer;cfmt.footer=null}
200 page.botmargin=v}
203 page.topmargin=v}
206 page.gutter=v}
208 page.oneperpage=this.get_bool(cfmt.oneperpage)
211 user.img_out=abc2svg.page.img_in.bind(this);page.img_out_sav=user.img_out;abc2svg.abc_end=abc2svg.page.abc_end.bind(this,abc2svg.abc_end)}
213 if(page){switch(cmd){case"header":case"footer":page[cmd]=parm
220 page.pn=v-1
225 page[cmd]=v
227 case"oneperpage":page[cmd]=this.get_bool(parm)
229 of(cmd,parm)},set_hooks:function(abc){abc.set_format=abc2svg.page.set_fmt.bind(abc,abc.set_format)
232 abc2svg.modules.hooks.push(abc2svg.page.set_hooks);abc2svg.modules.pageheight.loaded=true