onCursor process subscribed cursor events
(evname string, ev interface{})
| 187 | |
| 188 | // onCursor process subscribed cursor events |
| 189 | func (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 |
| 225 | func (s *Slider) onScroll(evname string, ev interface{}) { |
nothing calls this directly
no test coverage detected