File: callbacks.ps

package info (click to toggle)
ruby-rghost 0.9.9-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,188 kB
  • sloc: ruby: 3,374; makefile: 6; sh: 1
file content (175 lines) | stat: -rwxr-xr-x 3,430 bytes parent folder | download
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
%static callbacks
/before_document_create {} bind def
/first_page  {} bind def
/last_page  {} bind def
/after_document_create {} bind def

%%dynamic callbacks
/before_page_create 3 dict def
	before_page_create begin 
 		/proc {} bind def
 		/except [ ] def
 		/only [  ] def
end
/after_page_create 3 dict def
	after_page_create begin
 		/proc {} bind def
 		/except [ ] def
 		/only [ ] def
end
/odd_pages 3 dict def
	odd_pages begin
 		/proc { } bind def
 		/except [] def
 		/only [] def
end
/even_pages 3 dict def
	even_pages begin
 		/proc {} bind def
 		/except [ ] def
 		/only [ ] def
end


%execute callbacks
/callback{
	dup dup
 /except get length 0 ne { /except get current_page include? not}{
     dup /only get length 0 ne { /only get current_page include?}{
				pop true
     }ifelse
 }ifelse
 { /proc get exec  }{
   pop 
 }ifelse
} bind def
%execute virtual page callbacks
/vp_callback{
	dup dup
 /except get length 0 ne { /except get current_vp include? not}{
     dup /only get length 0 ne { /only get current_vp include?}{
				pop true
     }ifelse
 }ifelse
 { /proc get exec  }{
   pop 
 }ifelse
} bind def

/odd? { 2 mod 0 eq {true}{false} ifelse } bind def
/odd_or_even { current_page odd? {odd_pages}{even_pages}ifelse }def

%TABLE
/before_table_create {} def
/after_table_create {} def

%TABLE ROW
/row_odd_or_even {
	current_table_row odd? {odd_row}{even_row} ifelse
}def
/before_row 3 dict def before_row begin
 		/proc { } bind def
 		/except [ ] def
 		/only [  ] def
end
/after_row 3 dict def after_row begin
 		/proc { } bind def
 		/except [ ] def
 		/only [  ] def
end

/odd_row 3 dict def odd_row begin
 		/proc {  } bind def
 		/except [  ] def
 		/only [   ] def
end

/even_row 3 dict def even_row begin
 		/proc { } bind def
 		/except [ ] def
 		/only [ ] def
end

%column
/col_odd_or_even {
	col odd? {odd_column}{even_column} ifelse
}def

/before_column 3 dict def before_column begin
 		/proc {  } bind def
 		/except [ ] def
 		/only [  ] def
end

/after_column 3 dict def 	after_column begin
 		/proc { } bind def
 		/except [  ] def
 		/only [ ] def
end

/odd_column 3 dict def 	odd_column begin
 		/proc {   } bind def
 		/except [  ] def
 		/only [ ] def
end

/even_column 3 dict def even_column begin
 		/proc {  } bind def
 		/except [ ] def
 		/only [ ] def
end

%%HEADER----------------------
/before_header_create {} def
/after_header_create {} def

/before_column_header 3 dict def before_column_header begin
 		/proc { } bind def
 		/except [ ] def
 		/only [  ] def
end

/after_column_header 3 dict def 	after_column_header begin
 		/proc {  } bind def
 		/except [  ] def
 		/only [ ] def
end

%%ROW CALLBACKS
/callback_row{
dup dup
 /except get length 0 ne { /except get current_table_row include? not}{
     dup /only get length 0 ne { /only get current_table_row include?}{
				pop true
     }ifelse
 }ifelse
 { /proc get exec  }{
   pop 
 }ifelse
} bind def

%%COLUMN CALLBACKS
/callback_col{
dup dup
 /except get length 0 ne { /except get col include? not}{
     dup /only get length 0 ne { /only get col include?}{
				pop true
     }ifelse
 }ifelse
 { /proc get exec  }{
   pop 
 }ifelse
} bind def

/before_virtual_page_create 3 dict def
	before_virtual_page_create begin 
 		/proc {} bind def
 		/except [ ] def
 		/only [  ] def
end
/after_virtual_page_create 3 dict def
	after_virtual_page_create begin 
 		/proc {} bind def
 		/except [ ] def
 		/only [  ] def
end