@@ -6,12 +6,12 @@ open Cairo
6
6
7
7
let diagram_draw_source cr =
8
8
Cairo. set_source_rgb cr 0. 0. 0. ;
9
- Cairo. rectangle cr 0. 0. 1. 1. ;
9
+ Cairo. rectangle cr 0. 0. ~w: 1. ~h: 1. ;
10
10
Cairo. fill cr
11
11
12
12
let diagram_draw_mask cr =
13
13
Cairo. set_source_rgb cr 1. 0.9 0.6 ;
14
- Cairo. rectangle cr 0. 0. 1. 1. ;
14
+ Cairo. rectangle cr 0. 0. ~w: 1. ~h: 1. ;
15
15
Cairo. fill cr
16
16
17
17
let diagram_draw_mask_pattern cr pat =
@@ -20,21 +20,21 @@ let diagram_draw_mask_pattern cr pat =
20
20
21
21
let diagram_draw_dest cr =
22
22
Cairo. set_source_rgb cr 1. 1. 1. ;
23
- Cairo. rectangle cr 0. 0. 1. 1. ;
23
+ Cairo. rectangle cr 0. 0. ~w: 1. ~h: 1. ;
24
24
Cairo. fill cr
25
25
26
26
let stroke_draw_mask cr =
27
27
Cairo.Group. push cr;
28
- Cairo. rectangle cr 0. 0. 1. 1. ;
29
- Cairo. rectangle cr 0.20 0.20 0.6 0.6 ;
30
- Cairo. rectangle cr 0.30 0.30 0.4 0.4 ;
28
+ Cairo. rectangle cr 0. 0. ~w: 1. ~h: 1. ;
29
+ Cairo. rectangle cr 0.20 0.20 ~w: 0.6 ~h: 0.6 ;
30
+ Cairo. rectangle cr 0.30 0.30 ~w: 0.4 ~h: 0.4 ;
31
31
Cairo. set_fill_rule cr EVEN_ODD ;
32
32
Cairo. fill cr;
33
33
Cairo. set_fill_rule cr WINDING ;
34
34
35
35
diagram_draw_mask_pattern cr (Cairo.Group. pop cr);
36
36
37
- Cairo. rectangle cr 0.25 0.25 0.5 0.5 ;
37
+ Cairo. rectangle cr 0.25 0.25 ~w: 0.5 ~h: 0.5 ;
38
38
Cairo. set_source_rgb cr 0. 0.6 0. ;
39
39
40
40
let px, py = Cairo. device_to_user_distance cr 1. 1. in
@@ -45,20 +45,20 @@ let stroke_draw_dest cr =
45
45
diagram_draw_dest cr;
46
46
Cairo. set_line_width cr 0.1 ;
47
47
Cairo. set_source_rgb cr 0. 0. 0. ;
48
- Cairo. rectangle cr 0.25 0.25 0.5 0.5 ;
48
+ Cairo. rectangle cr 0.25 0.25 ~w: 0.5 ~h: 0.5 ;
49
49
Cairo. stroke cr
50
50
51
51
let fill_draw_mask cr =
52
52
Cairo.Group. push cr;
53
- Cairo. rectangle cr 0. 0. 1. 1. ;
54
- Cairo. rectangle cr 0.25 0.25 0.5 0.5 ;
53
+ Cairo. rectangle cr 0. 0. ~w: 1. ~h: 1. ;
54
+ Cairo. rectangle cr 0.25 0.25 ~w: 0.5 ~h: 0.5 ;
55
55
Cairo. set_fill_rule cr EVEN_ODD ;
56
56
Cairo. fill cr;
57
57
Cairo. set_fill_rule cr WINDING ;
58
58
59
59
diagram_draw_mask_pattern cr (Cairo.Group. pop cr);
60
60
61
- Cairo. rectangle cr 0.25 0.25 0.5 0.5 ;
61
+ Cairo. rectangle cr 0.25 0.25 ~w: 0.5 ~h: 0.5 ;
62
62
Cairo. set_source_rgb cr 0. 0.6 0. ;
63
63
let px, py = Cairo. device_to_user_distance cr 1. 1. in
64
64
Cairo. set_line_width cr (max px py);
@@ -67,7 +67,7 @@ let fill_draw_mask cr =
67
67
let fill_draw_dest cr =
68
68
diagram_draw_dest cr;
69
69
Cairo. set_source_rgb cr 0. 0. 0. ;
70
- Cairo. rectangle cr 0.25 0.25 0.5 0.5 ;
70
+ Cairo. rectangle cr 0.25 0.25 ~w: 0.5 ~h: 0.5 ;
71
71
Cairo. fill cr
72
72
73
73
let showtext_draw_mask cr =
@@ -79,7 +79,7 @@ let showtext_draw_mask cr =
79
79
Cairo. set_font_size cr 1.2 ;
80
80
let te = Cairo. text_extents cr " a" in
81
81
Cairo.Group. push cr;
82
- Cairo. rectangle cr 0. 0. 1. 1. ;
82
+ Cairo. rectangle cr 0. 0. ~w: 1. ~h: 1. ;
83
83
Cairo. move_to cr (0.5 -. te.width /. 2. -. te.x_bearing)
84
84
(0.5 -. te.height /. 2. -. te.y_bearing);
85
85
Cairo.Path. text cr " a" ;
@@ -102,7 +102,7 @@ let showtext_draw_mask cr =
102
102
let showtext_draw_dest cr =
103
103
(* white background *)
104
104
Cairo. set_source_rgb cr 1. 1. 1. ;
105
- Cairo. rectangle cr 0. 0. 1. 1. ;
105
+ Cairo. rectangle cr 0. 0. ~w: 1. ~h: 1. ;
106
106
Cairo. fill cr;
107
107
108
108
(* black letter "a" *)
@@ -116,7 +116,7 @@ let showtext_draw_dest cr =
116
116
117
117
let paint_draw_source cr =
118
118
Cairo. set_source_rgb cr 0. 0. 0. ;
119
- Cairo. rectangle cr 0. 0. 1. 1. ;
119
+ Cairo. rectangle cr 0. 0. ~w: 1. ~h: 1. ;
120
120
Cairo. fill cr
121
121
122
122
let paint_draw_dest cr =
@@ -125,35 +125,37 @@ let paint_draw_dest cr =
125
125
Cairo. paint cr ~alpha: 0.5
126
126
127
127
let mask_draw_source cr =
128
- let linpat = Cairo.Pattern. create_linear 0. 0. 1. 1. in
128
+ let linpat = Cairo.Pattern. create_linear ~x0: 0. ~y0: 0. ~x1: 1. ~y1: 1. in
129
129
Cairo.Pattern. add_color_stop_rgb linpat 0. 0.3 0.8 ;
130
130
Cairo.Pattern. add_color_stop_rgb linpat 0. 0.8 0.3 ~ofs: 1. ;
131
131
Cairo. set_source cr linpat;
132
- Cairo. rectangle cr 0. 0. 1. 1. ;
132
+ Cairo. rectangle cr 0. 0. ~w: 1. ~h: 1. ;
133
133
Cairo. fill cr
134
134
135
135
let mask_draw_mask cr =
136
- let radialinv = Cairo.Pattern. create_radial 0.5 0.5 0.25 0.5 0.5 0.75 in
136
+ let radialinv = Cairo.Pattern. create_radial ~x0: 0.5 ~y0: 0.5 ~r0: 0.25
137
+ ~x1: 0.5 ~y1: 0.5 ~r1: 0.75 in
137
138
Cairo.Pattern. add_color_stop_rgba radialinv 0. 0. 0. 0. ;
138
139
Cairo.Pattern. add_color_stop_rgba radialinv ~ofs: 0.5 0. 0. 0. 1. ;
139
140
Cairo. save cr;
140
- Cairo. rectangle cr 0. 0. 1. 1. ;
141
+ Cairo. rectangle cr 0. 0. ~w: 1. ~h: 1. ;
141
142
Cairo. clip cr;
142
143
diagram_draw_mask_pattern cr radialinv;
143
144
Cairo. restore cr
144
145
145
146
let mask_draw_dest cr =
146
- let linpat = Cairo.Pattern. create_linear 0. 0. 1. 1. in
147
+ let linpat = Cairo.Pattern. create_linear ~x0: 0. ~y0: 0. ~x1: 1. ~y1: 1. in
147
148
Cairo.Pattern. add_color_stop_rgb linpat 0. 0.3 0.8 ;
148
149
Cairo.Pattern. add_color_stop_rgb linpat ~ofs: 1. 0. 0.8 0.3 ;
149
150
150
- let radpat = Cairo.Pattern. create_radial 0.5 0.5 0.25 0.5 0.5 0.75 in
151
+ let radpat = Cairo.Pattern. create_radial ~x0: 0.5 ~y0: 0.5 ~r0: 0.25
152
+ ~x1: 0.5 ~y1: 0.5 ~r1: 0.75 in
151
153
Cairo.Pattern. add_color_stop_rgba radpat 0. 0. 0. 1. ;
152
154
Cairo.Pattern. add_color_stop_rgba radpat ~ofs: 0.5 0. 0. 0. 0. ;
153
155
154
156
diagram_draw_dest cr;
155
157
Cairo. save cr;
156
- Cairo. rectangle cr 0. 0. 1. 1. ;
158
+ Cairo. rectangle cr 0. 0. ~w: 1. ~h: 1. ;
157
159
Cairo. clip cr;
158
160
Cairo. set_source cr linpat;
159
161
Cairo. mask cr radpat;
@@ -188,7 +190,7 @@ let diagram fname alpha0 alpha1 alpha2 =
188
190
let width= 160. and height= 120. in
189
191
let svg_filename = fname ^ " .svg"
190
192
and png_filename = fname ^ " .png" in
191
- let surf = Cairo.SVG. create svg_filename width height in
193
+ let surf = Cairo.SVG. create svg_filename ~w: width ~h: height in
192
194
let cr = Cairo. create surf in
193
195
194
196
(*
@@ -197,7 +199,7 @@ let diagram fname alpha0 alpha1 alpha2 =
197
199
let layer draw =
198
200
Cairo. save cr;
199
201
Cairo.Group. push cr;
200
- Cairo. rectangle cr 0. 0. 1. 1. ;
202
+ Cairo. rectangle cr 0. 0. ~w: 1. ~h: 1. ;
201
203
Cairo. clip cr;
202
204
draw fname cr;
203
205
Cairo.Group. pop_to_source cr;
@@ -223,10 +225,10 @@ let diagram fname alpha0 alpha1 alpha2 =
223
225
Cairo. translate cr (3. *. width /. height -. 1. ) 0. ;
224
226
let ux, uy = Cairo. device_to_user_distance cr 2. 2. in
225
227
Cairo. set_line_width cr (max ux uy);
226
- Cairo. rectangle cr 0. 0. 1. 3. ;
228
+ Cairo. rectangle cr 0. 0. ~w: 1. ~h: 3. ;
227
229
Cairo. clip_preserve cr;
228
230
Cairo. stroke cr;
229
- Cairo. rectangle cr 0. 1. 1. 1. ;
231
+ Cairo. rectangle cr 0. 1. ~w: 1. ~h: 1. ;
230
232
Cairo. stroke cr;
231
233
Cairo. restore cr;
232
234
@@ -238,7 +240,7 @@ let diagram fname alpha0 alpha1 alpha2 =
238
240
Cairo. scale cr (width -. height /. 3. ) height;
239
241
Cairo. transform cr { xx= 0.6 ; yx= 0. ; xy= 1. /. 3. ; yy= 0.5 ; x0= tx; y0= ty };
240
242
Cairo.Group. push cr;
241
- Cairo. rectangle cr 0. 0. 1. 1. ;
243
+ Cairo. rectangle cr 0. 0. ~w: 1. ~h: 1. ;
242
244
Cairo. clip cr;
243
245
draw fname cr;
244
246
Cairo.Group. pop_to_source cr;
@@ -252,7 +254,7 @@ let diagram fname alpha0 alpha1 alpha2 =
252
254
Cairo. set_source_rgb cr 0. 0. 0. ;
253
255
let ux, uy = Cairo. device_to_user_distance cr 2. 2. in
254
256
Cairo. set_line_width cr (max ux uy);
255
- Cairo. rectangle cr 0. 0. 1. 1. ;
257
+ Cairo. rectangle cr 0. 0. ~w: 1. ~h: 1. ;
256
258
Cairo. stroke cr
257
259
end;
258
260
(* mask layer *)
0 commit comments