@@ -8,6 +8,13 @@ pub mut:
8
8
will_read_frequently bool
9
9
}
10
10
11
+ pub fn (settings CanvasRenderingContext2DSettings) to_js () JS.Any {
12
+ mut object := JS.Any{}
13
+ #object = { alpha: settings.alpha, colorSpace: settings.color_space.str, desynchronized: settings.desynchronized.val, willReadFrequently: settings.will_read_frequently.val };
14
+
15
+ return object
16
+ }
17
+
11
18
pub interface JS .DOMMatrix2 DInit {
12
19
mut :
13
20
a JS.Number
@@ -168,9 +175,9 @@ pub struct JS.EventListenerOptions {
168
175
}
169
176
170
177
pub interface JS .EventTarget {
171
- addEventListener (cb EventCallback, options JS.EventListenerOptions)
178
+ addEventListener (event JS.String, cb EventCallback, options JS.EventListenerOptions)
172
179
dispatchEvent (event JS.Event) JS.Boolean
173
- removeEventListener (cb EventCallback, options JS.EventListenerOptions)
180
+ removeEventListener (event JS.String, cb EventCallback, options JS.EventListenerOptions)
174
181
}
175
182
176
183
// Event is an event which takes place in the DOM.
@@ -320,6 +327,7 @@ pub interface JS.Document {
320
327
lastModified JS.String
321
328
inputEncoding JS.String
322
329
implementation JS.DOMImplementation
330
+ getElementById (id JS.String) ? JS.HTMLElement
323
331
mut :
324
332
bgColor JS.String
325
333
body JS.HTMLElement
@@ -368,6 +376,14 @@ pub interface JS.Element {
368
376
scroll (x JS.Number, y JS.Number)
369
377
scrollBy (x JS.Number, y JS.Number)
370
378
toggleAttribute (qualifiedName JS.String, force JS.Boolean) JS.Boolean
379
+ getElementsByClassName (className JS.String) JS.HTMLCollection
380
+ getElementsByTagName (qualifiedName JS.String) JS.HTMLCollection
381
+ getEelementsByTagNameNS (namespaecURI JS.String, localName JS.String) JS.HTMLCollection
382
+ hasAttribute (qualifiedName JS.String) JS.Boolean
383
+ hasAttributeNS (namespace JS.String, localName JS.String) JS.Boolean
384
+ hasAttributes () JS.Boolean
385
+ hasPointerCapture (pointerId JS.Number) JS.Boolean
386
+ matches (selectors JS.String) JS.Boolean
371
387
mut :
372
388
className JS.String
373
389
id JS.String
@@ -383,6 +399,13 @@ pub const (
383
399
document = JS.Document{}
384
400
)
385
401
402
+ pub fn window () JS.Window {
403
+ mut x := JS.Any (voidptr (0 ))
404
+ #x = window;
405
+
406
+ return x
407
+ }
408
+
386
409
fn init () {
387
410
#jsdom__document = document;
388
411
}
@@ -398,3 +421,143 @@ pub fn event_listener(callback fn (JS.EventTarget, JS.Event)) EventCallback {
398
421
callback (target, event)
399
422
}
400
423
}
424
+
425
+ pub interface JS .HTMLCollection {
426
+ length JS.Number
427
+ item (idx JS.Number) ? JS.Any
428
+ namedItem (name JS.String) ? JS.Any
429
+ }
430
+
431
+ pub interface JS .HTMLElement {
432
+ JS.Element
433
+ accessKeyLabel JS.String
434
+ offsetHeight JS.Number
435
+ offsetLeft JS.Number
436
+ offsetParent JS.Any
437
+ offsetTop JS.Number
438
+ offsetWidth JS.Number
439
+ click ()
440
+ mut :
441
+ accessKey JS.String
442
+ autocapitalize JS.String
443
+ dir JS.String
444
+ draggable JS.Boolean
445
+ hidden JS.Boolean
446
+ innerText JS.String
447
+ lang JS.String
448
+ outerText JS.String
449
+ spellcheck JS.Boolean
450
+ title JS.String
451
+ translate JS.Boolean
452
+ }
453
+
454
+ pub fn JS .HTMLElement.prototype.constructor () JS.HTMLElement
455
+
456
+ pub interface JS .HTMLEmbedElement {
457
+ getSVGDocument () ? JS.Document
458
+ mut :
459
+ align JS.String
460
+ height JS.String
461
+ src JS.String
462
+ width JS.String
463
+ }
464
+
465
+ pub fn html_embed_type (embed JS.HTMLEmbedElement) JS.String {
466
+ mut str := JS.String{}
467
+ #str = embed.type
468
+
469
+ return str
470
+ }
471
+
472
+ pub fn JS .HTMLEmbedElement.prototype.constructor () JS.HTMLEmbedElement
473
+
474
+ pub type CanvasContext = JS.CanvasRenderingContext2 D
475
+ | JS.WebGL2 RenderingContext
476
+ | JS.WebGLRenderingContext
477
+
478
+ pub interface JS .HTMLCanvasElement {
479
+ JS.HTMLElement
480
+ getContext (contextId JS.String, options JS.Any) ? CanvasContext
481
+ mut :
482
+ height JS.Number
483
+ width JS.Number
484
+ }
485
+
486
+ pub type FillStyle = JS.CanvasGradient | JS.CanvasPattern | JS.String
487
+
488
+ pub interface JS .CanvasRenderingContext2 D {
489
+ canvas JS.HTMLCanvasElement
490
+ beginPath ()
491
+ clip (path JS.Path2 D, fillRule JS.String)
492
+ fill (path JS.Path2 D, fillRule JS.String)
493
+ isPointInPath (path JS.Path2 D, x JS.Number, y JS.Number, fillRule JS.String) JS.Boolean
494
+ isPointInStroke (path JS.Path2 D, x JS.Number, y JS.Number) JS.Boolean
495
+ stoke (path JS.Path2 D)
496
+ createLinearGradient (x0 JS.Number, y0 JS.Number, x1 JS.Number, y1 JS.Number) JS.CanvasGradient
497
+ createRadialGradient (x0 JS.Number, y0 JS.Number, r0 JS.Number, x1 JS.Number, y1 JS.Number, r1 JS.Number) JS.CanvasGradient
498
+ createPattern (image JS.CanvasImageSource, repetition JS.String) ? JS.CanvasPattern
499
+ arc (x JS.Number, y JS.Number, radius JS.Number, startAngle JS.Number, endAngle JS.Number, counterclockwise JS.Boolean)
500
+ arcTo (x1 JS.Number, y1 JS.Number, x2 JS.Number, y2 JS.Number, radius JS.Number)
501
+ bezierCurveTo (cp1 x JS.Number, cp1 y JS.Number, cp2 x JS.Number, cp2 y JS.Number, x JS.Number, y JS.Number)
502
+ closePath ()
503
+ ellipse (x JS.Number, y JS.Number, radiusX JS.Number, radiusY JS.Number, rotation JS.Number, startAngle JS.Number, endAngle JS.Number, counterclockwise JS.Boolean)
504
+ lineTo (x JS.Number, y JS.Number)
505
+ moveTo (x JS.Number, y JS.Number)
506
+ quadraticCurveTo (cpx JS.Number, cpy JS.Number, x JS.Number, y JS.Number)
507
+ rect (x JS.Number, y JS.Number, w JS.Number, h JS.Number)
508
+ getLineDash () JS.Array
509
+ setLineDash (segments JS.Array)
510
+ clearRect (x JS.Number, y JS.Number, w JS.Number, h JS.Number)
511
+ fillRect (x JS.Number, y JS.Number, w JS.null, h JS.Number)
512
+ strokeRect (x JS.Number, y JS.Number, w JS.Number, h JS.Number)
513
+ getTransformt () JS.DOMMatrix
514
+ resetTransform ()
515
+ rotate (angle JS.Number)
516
+ scale (x JS.Number, y JS.Number)
517
+ setTransform (matrix JS.DOMMatrix)
518
+ transform (a JS.Number, b JS.Number, c JS.Number, d JS.Number, e JS.Number, f JS.Number)
519
+ translate (x JS.Number, y JS.Number)
520
+ drawFocusIfNeeded (path JS.Path2 D, element JS.Element)
521
+ stroke ()
522
+ mut :
523
+ lineCap JS.String
524
+ lineDashOffset JS.Number
525
+ lineJoin JS.String
526
+ lineWidth JS.Number
527
+ miterLimit JS.Number
528
+ fillStyle FillStyle
529
+ strokeStyle FillStyle
530
+ globalAlpha JS.Number
531
+ globalCompositeOperation JS.String
532
+ }
533
+
534
+ pub interface JS .CanvasGradient {
535
+ addColorStop (offset JS.Number, color JS.String)
536
+ }
537
+
538
+ pub interface JS .CanvasPattern {
539
+ setTransform (transform JS.DOMMatrix)
540
+ }
541
+
542
+ pub interface JS .WebGLRenderingContext {
543
+ canvas JS.HTMLCanvasElement
544
+ drawingBufferHeight JS.Number
545
+ drawingBufferWidth JS.Number
546
+ }
547
+
548
+ pub interface JS .WebGL2 RenderingContext {
549
+ JS.WebGLRenderingContext
550
+ }
551
+
552
+ pub interface JS .Window {
553
+ JS.EventTarget
554
+ closed JS.Boolean
555
+ devicePixelRatio JS.Number
556
+ document JS.Document
557
+ frameElement JS.Element
558
+ innerHeight JS.Number
559
+ innerWidth JS.Number
560
+ length JS.Number
561
+ }
562
+
563
+ pub interface JS .Path2 D {}
0 commit comments