summaryrefslogtreecommitdiff
path: root/metapost/context/base/mp-page.mpiv
diff options
context:
space:
mode:
authorMarius <mariausol@gmail.com>2012-02-21 02:20:25 +0200
committerMarius <mariausol@gmail.com>2012-02-21 02:20:25 +0200
commit183dc1310ce5237533807ce07b2d3cd2d40962a1 (patch)
treeb6607e33b02a8ff22cd64b2b647625354e6a1849 /metapost/context/base/mp-page.mpiv
parent804ec91e98cd955dc41da3ea7f2a438f485d9b40 (diff)
downloadcontext-183dc1310ce5237533807ce07b2d3cd2d40962a1.tar.gz
beta 2012.02.21 00:51
Diffstat (limited to 'metapost/context/base/mp-page.mpiv')
-rw-r--r--metapost/context/base/mp-page.mpiv397
1 files changed, 0 insertions, 397 deletions
diff --git a/metapost/context/base/mp-page.mpiv b/metapost/context/base/mp-page.mpiv
index ba6dcd6a5..bb8218be5 100644
--- a/metapost/context/base/mp-page.mpiv
+++ b/metapost/context/base/mp-page.mpiv
@@ -38,196 +38,6 @@ if unknown InPageBody :
InPageBody := false ;
fi ;
-def SaveTextAreas =
- path SavedTextAreas [] ;
- path SavedTextColumns[] ;
- numeric NOfSavedTextAreas ;
- numeric NOfSavedTextColumns ;
- for i=1 upto NOfTextAreas :
- SavedTextAreas[i] := TextAreas[i] ;
- endfor ;
- for i=1 upto NOfTextColumns :
- SavedTextColumns[i] := TextColumns[i] ;
- endfor ;
- NOfSavedTextAreas := NOfTextAreas ;
- NOfSavedTextColumns := NOfTextColumns ;
-enddef ;
-
-def ResetTextAreas =
- path TextAreas[], TextColumns[], PlainTextArea, RegionTextArea ;
- numeric NOfTextAreas ; NOfTextAreas := 0 ;
- numeric NOfTextColumns ; NOfTextColumns := 0 ;
- numeric nofmultipars ; nofmultipars := 0 ;
- TextAreas[0] := TextColumns[0] := origin -- cycle ;
-enddef ;
-
-ResetTextAreas ; SaveTextAreas ; ;
-
-def RegisterTextArea (expr x, y, w, h, d) =
- begingroup ;
- save p ; path p ;
- p := unitsquare xyscaled(w,h+d) shifted (x,y-d) ;
- if NOfTextAreas>0 :
- % if needed, concatenate areas
- if (round(llcorner TextAreas[NOfTextAreas]) = round(ulcorner p)) and
- (round(lrcorner TextAreas[NOfTextAreas]) = round(urcorner p)) :
- p :=
- ulcorner TextAreas[NOfTextAreas] --
- urcorner TextAreas[NOfTextAreas] --
- lrcorner p --
- llcorner p -- cycle ;
- else :
- NOfTextAreas := NOfTextAreas + 1 ;
- fi ;
- else :
- NOfTextAreas := NOfTextAreas + 1 ;
- fi ;
- TextAreas[NOfTextAreas] := p ;
- if NOfTextColumns>0 :
- if (round(xpart llcorner TextColumns[NOfTextColumns]) = round(xpart ulcorner p)) and
- (round(xpart lrcorner TextColumns[NOfTextColumns]) = round(xpart urcorner p)) :
- p :=
- ulcorner TextColumns[NOfTextColumns] --
- urcorner TextColumns[NOfTextColumns] --
- lrcorner p --
- llcorner p -- cycle ;
- else :
- NOfTextColumns := NOfTextColumns + 1 ;
- fi ;
- else :
- NOfTextColumns := NOfTextColumns + 1 ;
- fi ;
- TextColumns[NOfTextColumns] := p ;
- endgroup ;
-enddef ;
-
-%D We store a local area in slot zero.
-
-def RegisterPlainTextArea(expr x,y,w,h,d) =
- PlainTextArea := unitsquare xyscaled(w,h+d) shifted (x,y-d) ;
-enddef ;
-
-def RegisterRegionTextArea(expr x,y,w,h,d) =
- RegionTextArea := unitsquare xyscaled(w,h+d) shifted (x,y-d) ;
-% RegionTextArea := RegionTextArea enlarged 2mm ;
-enddef ;
-
-def RegisterLocalTextArea (expr x, y, w, h, d) =
- TextAreas[0] := TextColumns[0] := unitsquare xyscaled(w,h+d) shifted (x,y-d) ;
-enddef ;
-
-def ResetLocalTextArea =
- TextAreas[0] := TextColumns[0] := origin -- cycle ;
-enddef ;
-
-ResetLocalTextArea ;
-
-vardef InsideTextArea (expr _i_, _xy_) =
- (round(xpart _xy_) >= round(xpart llcorner TextAreas[_i_])) and
- (round(xpart _xy_) <= round(xpart lrcorner TextAreas[_i_])) and
- (round(ypart _xy_) >= round(ypart llcorner TextAreas[_i_])) and
- (round(ypart _xy_) <= round(ypart urcorner TextAreas[_i_]))
-enddef ;
-
-vardef InsideSavedTextArea (expr _i_, _xy_) =
- (round(xpart _xy_) >= round(xpart llcorner SavedTextAreas[_i_])) and
- (round(xpart _xy_) <= round(xpart lrcorner SavedTextAreas[_i_])) and
- (round(ypart _xy_) >= round(ypart llcorner SavedTextAreas[_i_])) and
- (round(ypart _xy_) <= round(ypart urcorner SavedTextAreas[_i_]))
-enddef ;
-
-vardef InsideSomeTextArea (expr _xy_) =
- save ok ; boolean ok ; ok := false ;
- for i := 1 upto NOfTextAreas :
- if InsideTextArea(i,_xy_) :
- ok := true ; % we can move the exit here
- fi ;
- exitif ok ;
- endfor ;
- ok
-enddef ;
-
-vardef InsideSomeSavedTextArea (expr _xy_) =
- save ok ; boolean ok ; ok := false ;
- for i := 1 upto NOfSavedTextAreas :
- if InsideSavedTextArea(i,_xy_) :
- ok := true ;
- fi ;
- exitif ok ;
- endfor ;
- ok
-enddef ;
-
-vardef TextAreaX (expr x) =
- numeric _TextAreaX_ ; _TextAreaX_ := 0 ;
- for i := 1 upto NOfTextAreas :
- if (round(x) >= round(xpart llcorner TextAreas[i])) and
- (round(x) <= round(xpart lrcorner TextAreas[i])) :
- _TextAreaX_ := xpart llcorner TextAreas[i] ;
- fi ;
- endfor ;
- _TextAreaX_
-enddef ;
-
-vardef TextAreaY (expr y) =
- numeric _TextAreaY_ ; _TextAreaY_ := 0 ;
- for i := 1 upto NOfTextAreas :
- if (round(y) >= round(ypart llcorner TextAreas[NOfTextAreas])) and
- (round(y) <= round(ypart ulcorner TextAreas[NOfTextAreas])) :
- _TextAreaY_ := ypart llcorner TextAreas[NOfTextAreas] ;
- fi ;
- endfor ;
- _TextAreaY_
-enddef ;
-
-vardef TextAreaXY (expr x, y) =
- pair _TextAreaXY_ ; _TextAreaXY_ := origin ;
- for i := 1 upto NOfTextAreas :
- if (round(x) >= round(xpart llcorner TextAreas[i])) and
- (round(x) <= round(xpart lrcorner TextAreas[i])) and
- (round(y) >= round(ypart llcorner TextAreas[i])) and
- (round(y) <= round(ypart ulcorner TextAreas[i])) :
- _TextAreaXY_ := llconer TextAreas[i] ;
- fi ;
- endfor ;
- _TextAreaXY_
-enddef ;
-
-vardef TextAreaW (expr x) =
- numeric _TextAreaW_ ; _TextAreaW_ := 0 ;
- for i := 1 upto NOfTextAreas :
- if (round(x) >= round(xpart llcorner TextAreas[i])) and
- (round(x) <= round(xpart lrcorner TextAreas[i])) :
- _TextAreaW_ := bbwidth(TextAreas[i]) ;
- fi ;
- endfor ;
- _TextAreaW_
-enddef ;
-
-vardef TextAreaH (expr y) =
- numeric _TextAreaH_ ; _TextAreaH_ := 0 ;
- for i := 1 upto NOfTextAreas :
- if (round(y) >= round(ypart llcorner TextAreas[i])) and
- (round(y) <= round(ypart ulcorner TextAreas[i])) :
- _TextAreaH_ := bbheight(TextAreas[i]) ;
- fi ;
- endfor ;
- _TextAreaH_
-enddef ;
-
-vardef TextAreaWH (expr x, y) =
- pair _TextAreaWH_ ; _TextAreaWH_ := origin ;
- for i := 1 upto NOfTextAreas :
- if (round(x) >= round(xpart llcorner TextAreas[i])) and
- (round(x) <= round(xpart lrcorner TextAreas[i])) and
- (round(y) >= round(ypart llcorner TextAreas[i])) and
- (round(y) <= round(ypart ulcorner TextAreas[i])) :
- _TextAreaWH_ := (bbwidth(TextAreas[i]),bbheight(TextAreas[i])) ;
- fi ;
- endfor ;
- _TextAreaWH_
-enddef ;
-
string CurrentLayout ;
CurrentLayout := "default" ;
@@ -510,210 +320,3 @@ def Enlarged (expr p, d) =
urEnlarged (p,d) --
ulEnlarged (p,d) -- cycle)
enddef ;
-
-% New:
-
-def position_anchor_bar(expr p_b_self, p_e_self, y_b_self, y_e_self, h_b_self, d_e_self,
- distance, linewidth, linecolor) =
- StartPage ;
- path p ; p :=
- if p_b_self=p_e_self :
- (xpart ulcorner Field[Text][Text],y_b_self+h_b_self) --
- (xpart llcorner Field[Text][Text],y_e_self-d_e_self) ;
- elseif RealPageNumber=p_b_self :
- (xpart ulcorner Field[Text][Text],y_b_self+h_b_self) --
- (llcorner Field[Text][Text]) ;
- elseif RealPageNumber=p_e_self :
- (ulcorner Field[Text][Text]) --
- (xpart llcorner Field[Text][Text],y_e_self-d_e_self) ;
- else :
- (ulcorner Field[Text][Text]) --
- (llcorner Field[Text][Text]) ;
- fi ;
- p := p shifted (-llcorner Field[Text][Text]-(distance,0)) ;
- interim linecap := butt ;
- draw p
- withpen pencircle scaled linewidth
- withcolor linecolor ;
- StopPage ;
-enddef ;
-
-% Crop stuff
-
-vardef crop_marks_lines (expr box, length, offset, nx, ny) =
- save p ; picture p ; save w, h, x, y ; numeric w, h, x, y ;
- p := image (
- x := if nx = 0 : 1 else : nx - 1 fi ;
- y := if ny = 0 : 1 else : ny - 1 fi ;
- w := bbwidth (box) / x ;
- h := bbheight(box) / y ;
- for i=0 upto y :
- draw ((llcorner box) -- (llcorner box) shifted (-length,0)) shifted (-offset,i*h) ;
- draw ((lrcorner box) -- (lrcorner box) shifted ( length,0)) shifted ( offset,i*h) ;
- endfor ;
- for i=0 upto x :
- draw ((llcorner box) -- (llcorner box) shifted (0,-length)) shifted (i*w,-offset) ;
- draw ((ulcorner box) -- (ulcorner box) shifted (0, length)) shifted (i*w, offset) ;
- endfor ;
- ) ;
- setbounds p to box ;
- p
-enddef ;
-
-vardef crop_marks_cmyk =
- save p ; picture p ; p := image (
- fill ulcircle scaled 12.5 withcolor (1,0,0,0) ;
- fill urcircle scaled 12.5 withcolor (0,1,0,0) ;
- fill lrcircle scaled 12.5 withcolor (0,0,1,0) ;
- fill llcircle scaled 12.5 withcolor (0,0,0,1) ;
- draw (-10,0) -- (10,0) ;
- draw (0,-10) -- (0,10) ;
- draw fullcircle scaled 12.5 ;
- ) ;
- setbounds p to fullsquare scaled 20 ;
- p
-enddef ;
-
-vardef crop_marks_gray =
- save p ; picture p ; p := image (
- fill ulcircle scaled 12.5 withcolor (0.00) ;
- fill urcircle scaled 12.5 withcolor (0.25) ;
- fill lrcircle scaled 12.5 withcolor (0.50) ;
- fill llcircle scaled 12.5 withcolor (0.75) ;
- draw (-10,0) -- (10,0) ;
- draw (0,-10) -- (0,10) ;
- draw (-6,0) -- (6,0) withcolor white ;
- draw (0,-6) -- (0,6) withcolor white ;
- draw fullcircle scaled 12.5 ;
- ) ;
- setbounds p to fullsquare scaled 20 ;
- p
-enddef ;
-
-vardef crop_marks_cmykrgb =
- save p ; picture p ; p := image (
- fill ulcircle scaled 15 withcolor (1,0,0) ;
- fill urcircle scaled 15 withcolor (0,1,0) ;
- fill lrcircle scaled 15 withcolor (0,0,1) ;
- fill llcircle scaled 15 withcolor (.5,.5,.5) ;
- fill ulcircle scaled 10 withcolor (1,0,0,0) ;
- fill urcircle scaled 10 withcolor (0,1,0,0) ;
- fill lrcircle scaled 10 withcolor (0,0,1,0) ;
- fill llcircle scaled 10 withcolor (0,0,0,1) ;
- draw (-10,0) -- (10,0) ;
- draw (0,-10) -- (0,10) ;
- draw fullcircle scaled 10 ;
- draw fullcircle scaled 15 ;
- ) ;
- setbounds p to fullsquare scaled 20 ;
- p
-enddef ;
-
-vardef crop_color(expr c, h, w, dx, dy, ts) =
- image (
- save p ; path p ;
- for i=1 upto 6 :
- p := fullsquare
- xscaled w
- yscaled h
- shifted (dx,dy-i*h) ;
- fill p
- withcolor (crop_colors[i]*c) ;
- draw textext("\format{'@0.2f'," & decimal crop_colors[i] & "}")
- scaled ts
- shifted center p withcolor white ;
- endfor ;
- )
-enddef ;
-
-vardef crop_gray(expr c, h, w, dx, dy, ts) =
- image (
- save p ; path p ;
- for i=.05 step .05 until 1 :
- p := fullsquare
- xscaled w
- yscaled h
- shifted (20*(i-1)*w+dx,dy) ;
- fill p
- withcolor (i*c) ;
- draw textext("\format{'@0.2f'," & decimal i & "}")
- scaled ts
- shifted center p withcolor white ;
- endfor ;
- )
-enddef ;
-
-% draw crop_marks_cmyk shifted llcorner more ;
-% draw crop_marks_cmyk shifted lrcorner more ;
-% draw crop_marks_cmyk shifted ulcorner more ;
-% draw crop_marks_cmyk shifted urcorner more ;
-
-def page_marks_add_color(expr width, height, length, offset) = % todo: namespace
-
- path page ; page := fullsquare xscaled width yscaled height ;
- path more ; more := page enlarged (offset+length/2,offset+length/2) ;
-
- numeric crop_colors[] ;
- crop_colors[1] := 1 ;
- crop_colors[2] := 0.95 ;
- crop_colors[3] := 0.75 ;
- crop_colors[4] := 0.50 ;
- crop_colors[5] := 0.25 ;
- crop_colors[6] := 0.05 ;
-
- numeric h ; h := height / 20 ;
- numeric w ; w := width / 20 ;
- numeric d ; d := offset + length/2 ;
-
- draw crop_color((1,0,0,0),h,length,xpart ulcorner page - d, 10h,length/20) ;
- draw crop_color((0,1,0,0),h,length,xpart ulcorner page - d,3.5h,length/20) ;
- draw crop_color((0,0,1,0),h,length,xpart ulcorner page - d, -3h,length/20) ;
-
- draw crop_color((0,1,1,0),h,length,xpart urcorner page + d, 10h,length/20) ;
- draw crop_color((1,0,1,0),h,length,xpart urcorner page + d,3.5h,length/20) ;
- draw crop_color((1,1,0,0),h,length,xpart urcorner page + d, -3h,length/20) ;
-
- draw crop_gray((0,0,0,1),length, w,-xpart llcorner page,-ypart llcorner page + d ,w/20) ;
- draw crop_gray((1,0,0,0),length/3,w,-xpart llcorner page, ypart llcorner page - d + 1length/3,w/20) ;
- draw crop_gray((0,1,0,0),length/3,w,-xpart llcorner page, ypart llcorner page - d - 0length/3,w/20) ;
- draw crop_gray((0,0,1,0),length/3,w,-xpart llcorner page, ypart llcorner page - d - 1length/3,w/20) ;
-
- setbounds currentpicture to page ;
-
-enddef ;
-
-def page_marks_add_marking(expr width, height, length, offset) = % todo: namespace
-
- path page ; page := fullsquare xscaled width yscaled height ;
- path more ; more := page enlarged (offset+length/2,offset+length/2) ;
-
- draw crop_marks_gray shifted center(topboundary more) shifted (0, offset+length);
- draw crop_marks_cmyk shifted center(bottomboundary more) shifted (0,-offset-length);
-
- setbounds currentpicture to page ;
-
-enddef ;
-
-def page_marks_add_lines(expr width, height, length, offset, nx, ny) = % todo: namespace
-
- path page ; page := fullsquare xscaled width yscaled height ;
- path more ; more := page enlarged (offset+length/2,offset+length/2) ;
-
- draw crop_marks_lines(page,length,offset,nx,ny) ;
-
- setbounds currentpicture to page ;
-
-enddef ;
-
-def page_marks_add_number(expr width, height, length, offset, n) = % todo: namespace
-
- path page ; page := fullsquare xscaled width yscaled height ;
- path more ; more := page enlarged (offset+length/2,offset+length/2) ;
-
- for s=llcorner more, lrcorner more, ulcorner more, urcorner more :
- draw textext(decimal n) shifted s ;
- endfor ;
-
- setbounds currentpicture to page ;
-
-enddef ;