@@ -376,6 +376,66 @@ foreign import transform
376
376
\ };\
377
377
\}" :: forall eff . Transform -> Context2D -> Eff (canvas :: Canvas | eff ) Context2D
378
378
379
+ -- |
380
+ -- Text
381
+ --
382
+
383
+ type TextMetrics = { width :: Number }
384
+
385
+ foreign import font
386
+ " function font(ctx) {\
387
+ \ return function() {\
388
+ \ return ctx.font;\
389
+ \ };\
390
+ \}" :: forall eff . Context2D -> Eff (canvas :: Canvas | eff ) String
391
+
392
+ foreign import setFont
393
+ " function setFont(fontspec) {\
394
+ \ return function(ctx) {\
395
+ \ return function() {\
396
+ \ ctx.font = fontspec;\
397
+ \ return ctx;\
398
+ \ };\
399
+ \ };\
400
+ \}" :: forall eff . String -> Context2D -> Eff (canvas :: Canvas | eff ) Context2D
401
+
402
+ foreign import fillText
403
+ " function fillText(ctx) {\
404
+ \ return function(text) {\
405
+ \ return function(x) {\
406
+ \ return function(y) {\
407
+ \ return function() {\
408
+ \ ctx.fillText(text, x, y);\
409
+ \ return ctx;\
410
+ \ };\
411
+ \ };\
412
+ \ };\
413
+ \ };\
414
+ \}" :: forall eff . Context2D -> String -> Number -> Number -> Eff (canvas :: Canvas | eff ) Context2D
415
+
416
+ foreign import strokeText
417
+ " function strokeText(ctx) {\
418
+ \ return function(text) {\
419
+ \ return function(x) {\
420
+ \ return function(y) {\
421
+ \ return function() {\
422
+ \ ctx.fillText(text, x, y);\
423
+ \ return ctx;\
424
+ \ };\
425
+ \ };\
426
+ \ };\
427
+ \ };\
428
+ \}" :: forall eff . Context2D -> String -> Number -> Number -> Eff (canvas :: Canvas | eff ) Context2D
429
+
430
+ foreign import measureText
431
+ " function measureText(ctx) {\
432
+ \ return function(text) {\
433
+ \ return function() {\
434
+ \ return ctx.measureText(text);\
435
+ \ };\
436
+ \ };\
437
+ \}" :: forall eff . Context2D -> String -> Eff (canvas :: Canvas | eff ) TextMetrics
438
+
379
439
-- |
380
440
-- Context
381
441
--
0 commit comments