MCPcopy
hub / github.com/g3n/engine / onCursor

Method onCursor

gui/slider.go:189–222  ·  view source on GitHub ↗

onCursor process subscribed cursor events

(evname string, ev interface{})

Source from the content-addressed store, hash-verified

187
188// onCursor process subscribed cursor events
189func (s *Slider) onCursor(evname string, ev interface{}) {
190
191 if evname == OnCursorEnter {
192 s.cursorOver = true
193 if s.horiz {
194 window.Get().SetCursor(window.HResizeCursor)
195 } else {
196 window.Get().SetCursor(window.VResizeCursor)
197 }
198 s.update()
199 } else if evname == OnCursorLeave {
200 s.cursorOver = false
201 window.Get().SetCursor(window.ArrowCursor)
202 s.update()
203 } else if evname == OnCursor {
204 if !s.pressed {
205 return
206 }
207 cev := ev.(*window.CursorEvent)
208 var pos float32
209 if s.horiz {
210 delta := cev.Xpos - s.posLast
211 s.posLast = cev.Xpos
212 newpos := s.slider.Width() + delta
213 pos = newpos / s.Panel.ContentWidth()
214 } else {
215 delta := cev.Ypos - s.posLast
216 s.posLast = cev.Ypos
217 newpos := s.slider.Height() - delta
218 pos = newpos / s.Panel.ContentHeight()
219 }
220 s.setPos(pos)
221 }
222}
223
224// onScroll process subscribed scroll events
225func (s *Slider) onScroll(evname string, ev interface{}) {

Callers

nothing calls this directly

Calls 8

updateMethod · 0.95
setPosMethod · 0.95
GetFunction · 0.92
ContentWidthMethod · 0.80
ContentHeightMethod · 0.80
SetCursorMethod · 0.65
WidthMethod · 0.65
HeightMethod · 0.65

Tested by

no test coverage detected