Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
/viewport-create {                 % => Box
2
  <<
3
    /left   0
4
    /width  0
5
    /height 0
6
    /top    0
7
    /offset 0
8
    /page-offset 0
9
    /current-page 1
10
    /anchors << >>
11
  >>                               % => Box Viewport
12
 
13
  1 index get-left
14
  1 index exch
15
  /left exch put
16
 
17
  1 index get-top
18
  1 index exch
19
  /top exch put
20
 
21
  1 index /get-width call-method
22
  1 index exch
23
  /width exch put
24
 
25
  1 index get-height
26
  1 index exch
27
  /height exch put
28
 
29
  exch pop
30
} def                              % => Viewport
31
 
32
/viewport-draw-page-border {       % => Viewport
33
  newpath
34
  1 setlinewidth
35
 
36
 
37
  dup viewport-get-left
38
  1 index viewport-get-bottom
39
  moveto
40
 
41
  dup viewport-get-left
42
  1 index viewport-get-top
43
  lineto
44
 
45
  dup viewport-get-right
46
  1 index viewport-get-top
47
  lineto
48
 
49
  dup viewport-get-right
50
  1 index viewport-get-bottom
51
  lineto
52
 
53
  closepath
54
 
55
  stroke
56
  pop
57
} def
58
 
59
/viewport-get-anchor {             % => Viewport Name
60
  1 index /anchors get             % => Viewport Name Anchors
61
  dup 2 index known {              % => Viewport Name Anchors
62
    1 index get                    % => Viewport Name AnchorData
63
  } {
64
    pop /null
65
  } ifelse                         % => Viewport Name AnchorData
66
 
67
  exch pop
68
  exch pop
69
} def
70
 
71
/viewport-get-bottom {             % => Viewport
72
  dup /top get
73
  1 index /height get
74
  sub
75
  exch pop
76
} def
77
 
78
/viewport-get-height {
79
  /height get
80
} def
81
 
82
/viewport-get-left {
83
  /left get
84
} def
85
 
86
/viewport-get-offset-delta {       % => Viewport
87
  /offset get
88
} def
89
 
90
/viewport-get-page-offset {
91
  /page-offset get
92
} def
93
 
94
/viewport-get-right {              % => Viewport
95
  dup /left get
96
  1 index /width get
97
  add
98
  exch pop
99
} def
100
 
101
/viewport-get-top {                % => Viewport
102
  dup /top get
103
  exch pop
104
} def
105
 
106
/viewport-init-page {              % => Viewport
107
 
108
  translate
109
 
110
 
111
  translate
112
 
113
  pop
114
} def
115
 
116
/viewport-next-page {              % => Viewport
117
  dup /page-offset get neg         % => Viewport Offset
118
  real-page-height sub             % => Viewport Offset1
119
  1 index /offset get add          % => Viewport Offset2
120
  neg
121
 
122
  1 index exch                     % => Viewport Viewport Offset2
123
  /page-offset exch put            % => Viewport
124
 
125
  dup /top get
126
  real-page-height sub             % => Viewport Top'
127
  1 index /offset get add
128
  1 index exch
129
  /top exch put
130
 
131
  dup /offset 0 put                % => Viewport
132
 
133
% Increase current page number
134
  dup /current-page get 1 add
135
  1 index exch
136
  /current-page exch put           % => Viewport
137
 
138
  pop
139
} def
140
 
141
/viewport-put-anchors {            % => Data Viewport
142
  exch /anchors exch put
143
} def
144
 
145
/viewport-put-offset-delta {       % => Delta Viewport
146
  exch /offset exch put
147
} def
148
 
149
/viewport-setup-clip {
150
  dup viewport-get-left
151
  1 index viewport-get-bottom
152
  moveto
153
 
154
  dup viewport-get-left
155
  1 index viewport-get-top
156
  lineto
157
 
158
  dup viewport-get-right
159
  1 index viewport-get-top
160
  lineto
161
 
162
  dup viewport-get-right
163
  1 index viewport-get-bottom
164
  lineto
165
 
166
  closepath
167
  clip
168
 
169
  pop
170
} def
171