summaryrefslogtreecommitdiff
path: root/slider.go
diff options
context:
space:
mode:
authorPietro Gagliardi <[email protected]>2018-08-26 09:55:07 -0400
committerPietro Gagliardi <[email protected]>2018-08-26 09:55:07 -0400
commit62ac2527732a01dfa6bd2c9523215c0ba3816641 (patch)
tree84244a69e048f79e4d9f134c121f4cf581200986 /slider.go
parenta5a00c644c08a6e0f52740c3f2a280977929a285 (diff)
Moved all the Go files out of the way again, this time so we can migrate them to more proper cgo usage.
Diffstat (limited to 'slider.go')
-rw-r--r--slider.go58
1 files changed, 0 insertions, 58 deletions
diff --git a/slider.go b/slider.go
deleted file mode 100644
index 91656cf..0000000
--- a/slider.go
+++ /dev/null
@@ -1,58 +0,0 @@
-// 12 december 2015
-
-package ui
-
-import (
- "unsafe"
-)
-
-// #include "ui.h"
-// extern void doSliderOnChanged(uiSlider *, void *);
-// // see golang/go#19835
-// typedef void (*sliderCallback)(uiSlider *, void *);
-import "C"
-
-// Slider is a Control that represents a horizontal bar that represents
-// a range of integers. The user can drag a pointer on the bar to
-// select an integer.
-type Slider struct {
- ControlBase
- s *C.uiSlider
- onChanged func(*Slider)
-}
-
-// NewSlider creates a new Slider. If min >= max, they are swapped.
-func NewSlider(min int, max int) *Slider {
- s := new(Slider)
-
- s.s = C.uiNewSlider(C.int(min), C.int(max))
-
- C.uiSliderOnChanged(s.s, C.sliderCallback(C.doSliderOnChanged), nil)
-
- s.ControlBase = NewControlBase(s, uintptr(unsafe.Pointer(s.s)))
- return s
-}
-
-// Value returns the Slider's current value.
-func (s *Slider) Value() int {
- return int(C.uiSliderValue(s.s))
-}
-
-// SetValue sets the Slider's current value to value.
-func (s *Slider) SetValue(value int) {
- C.uiSliderSetValue(s.s, C.int(value))
-}
-
-// OnChanged registers f to be run when the user changes the value
-// of the Slider. Only one function can be registered at a time.
-func (s *Slider) OnChanged(f func(*Slider)) {
- s.onChanged = f
-}
-
-//export doSliderOnChanged
-func doSliderOnChanged(ss *C.uiSlider, data unsafe.Pointer) {
- s := ControlFromLibui(uintptr(unsafe.Pointer(ss))).(*Slider)
- if s.onChanged != nil {
- s.onChanged(s)
- }
-}