Skip to content

Commit fc38b75

Browse files
committed
Add wheel event supportfor htmlbackend
1 parent 4024e86 commit fc38b75

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

src/fidget/dom2.nim

+7
Original file line numberDiff line numberDiff line change
@@ -1154,6 +1154,13 @@ type
11541154
screenX*, screenY*: int
11551155
x*, y*: int
11561156

1157+
WheelEvent* = ref WheelEventObj ## see `docs<https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent>`
1158+
WheelEventObj {.importc.} = object of MouseEvent
1159+
deltaX*: float64
1160+
deltaY*: float64
1161+
deltaZ*: float64
1162+
deltaMode*: uint32
1163+
11571164
DataTransferItemKind* {.pure.} = enum
11581165
File = "file",
11591166
String = "string"

src/fidget/htmlbackend.nim

+6
Original file line numberDiff line numberDiff line change
@@ -519,6 +519,12 @@ proc startFidget*(draw: proc(), load: proc() = nil, w = 0, h = 0) =
519519
## Scroll does not need to do anything special in HTML mode
520520
refresh()
521521

522+
dom.window.addEventListener "wheel", proc(event: Event) =
523+
## When wheel is used
524+
let event = cast[WheelEvent](event)
525+
mouse.wheelDelta += vec2(event.deltaX, event.deltaY)
526+
refresh()
527+
522528
dom.window.addEventListener "mousedown", proc(event: Event) =
523529
## When mouse button is pressed
524530
let event = cast[MouseEvent](event)

0 commit comments

Comments
 (0)