@@ -169,6 +169,55 @@ setLineCap Round = setLineCapImpl "round"
169
169
setLineCap Square = setLineCapImpl " square"
170
170
setLineCap Butt = setLineCapImpl " butt"
171
171
172
+ data Composite
173
+ = SourceOver
174
+ | SourceIn
175
+ | SourceOut
176
+ | SourceAtop
177
+ | DestinationOver
178
+ | DestinationIn
179
+ | DestinationOut
180
+ | DestinationAtop
181
+ | Lighter
182
+ | Copy
183
+ | Xor
184
+
185
+ instance showComposite :: Show Composite where
186
+ show SourceOver = " source-over"
187
+ show SourceIn = " source-in"
188
+ show SourceOut = " source-out"
189
+ show SourceAtop = " source-atop"
190
+ show DestinationOver = " destination-over"
191
+ show DestinationIn = " destination-in"
192
+ show DestinationOut = " destination-out"
193
+ show DestinationAtop = " destination-atop"
194
+ show Lighter = " lighter"
195
+ show Copy = " copy"
196
+ show Xor = " xor"
197
+
198
+ foreign import setGlobalCompositeOperationImpl
199
+ " function setGlobalCompositeOperationImpl(ctx) {\
200
+ \ return function(op) {\
201
+ \ return function() {\
202
+ \ ctx.globalCompositeOperation = op;\
203
+ \ return ctx;\
204
+ \ };\
205
+ \ };\
206
+ \}" :: forall eff . Context2D -> String -> Eff (canvas :: Canvas | eff ) Context2D
207
+
208
+ setGlobalCompositeOperation :: forall eff . Context2D -> Composite -> Eff (canvas :: Canvas | eff ) Context2D
209
+ setGlobalCompositeOperation ctx composite = setGlobalCompositeOperationImpl ctx (show composite)
210
+
211
+ foreign import setGlobalAlpha
212
+ " function setGlobalAlpha(ctx) {\
213
+ \ return function(alpha) {\
214
+ \ return function() {\
215
+ \ ctx.setGlobalAlpha = alpha;\
216
+ \ return ctx;\
217
+ \ };\
218
+ \ };\
219
+ \}" :: forall eff . Context2D -> Number -> Eff (canvas :: Canvas | eff ) Context2D
220
+
172
221
-- |
173
222
-- Paths
174
223
--
0 commit comments