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