diff options
author | Marius <mariausol@gmail.com> | 2011-10-17 13:20:14 +0300 |
---|---|---|
committer | Marius <mariausol@gmail.com> | 2011-10-17 13:20:14 +0300 |
commit | fbaf4b2bb7fec1ba72bf646ff65bbb1398478c2a (patch) | |
tree | 3b6a1247a91f2d75b134dee5f6d3156980d3c75d /metapost/context/base/mp-page.mpiv | |
parent | 04d3fbe4239ed7d4ce05bcac837ecc4078f18347 (diff) | |
download | context-fbaf4b2bb7fec1ba72bf646ff65bbb1398478c2a.tar.gz |
beta 2011.10.17 10:36
Diffstat (limited to 'metapost/context/base/mp-page.mpiv')
-rw-r--r-- | metapost/context/base/mp-page.mpiv | 66 |
1 files changed, 55 insertions, 11 deletions
diff --git a/metapost/context/base/mp-page.mpiv b/metapost/context/base/mp-page.mpiv index e9e0be5b0..e33324b0e 100644 --- a/metapost/context/base/mp-page.mpiv +++ b/metapost/context/base/mp-page.mpiv @@ -401,31 +401,77 @@ def SetPageAreas = enddef ; def BoundPageAreas = - - % pickup pencircle scaled 0pt ; - - bboxmargin := 0 ; setbounds currentpicture to Page ; - + % pickup pencircle scaled 0pt ; + bboxmargin := 0 ; setbounds currentpicture to Page ; enddef ; def StartPage = - + begingroup ; if PageStateAvailable : LoadPageState ; SwapPageState ; fi ; - SetPageAreas ; BoundPageAreas ; - enddef ; def StopPage = - BoundPageAreas ; + endgroup ; +enddef ; + +% cover pages + +def BoundCoverAreas = + % todo: add cropmarks + bboxmargin := 0 ; setbounds currentpicture to Paper enlarged PaperBleed ; +enddef ; + +def SetCoverAreas = + + if unknown SpineWidth : + SpineWidth := 8mm ; + fi ; + + if unknown PaperBleed : + PaperBleed := 0 ; + fi ; + + FrontPageWidth := PaperWidth ; + BackPageWidth := PaperWidth ; + PaperWidth := 2 * PaperWidth + SpineWidth ; + + FrontPageHeight := PaperHeight ; + BackPageHeight := PaperHeight ; + PaperHeight := PaperHeight ; + SpineHeight := PaperHeight ; + + path Paper ; Paper := unitsquare xscaled PaperWidth yscaled PaperHeight ; + path Spine ; Spine := unitsquare xscaled SpineWidth yscaled PaperHeight shifted (BackPageWidth,0); + path BackPage ; BackPage := unitsquare xscaled BackPageWidth yscaled PaperHeight ; + path FrontPage ; FrontPage := unitsquare xscaled FrontPageWidth yscaled PaperHeight shifted (BackPageWidth+SpineWidth,0) ; enddef ; + +def StartCover = + begingroup ; + if PageStateAvailable : + LoadPageState ; + % SwapPageState ; + fi ; + SetPageAreas ; + SetCoverAreas ; + BoundCoverAreas ; +enddef ; + +def StopCover = + BoundCoverAreas ; + endgroup ; +enddef ; + +% overlays: + def OverlayBox = (unitsquare xyscaled (OverlayWidth,OverlayHeight)) enddef ; @@ -662,5 +708,3 @@ def page_marks_add_number(expr width, height, length, offset, n) = % todo: names setbounds currentpicture to page ; enddef ; - -endinput ; |