summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--control.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/control.go b/control.go
index 0762542..03cf181 100644
--- a/control.go
+++ b/control.go
@@ -18,6 +18,11 @@ var controls = make(map[*C.uiControl]Control)
// The preferred way to create new Controls is to use
// ControlBase; see ControlBase below.
type Control interface {
+ // LibuiControl returns the uiControl pointer for the Control.
+ // This is intended for use when adding a control to a
+ // container.
+ LibuiControl() uintptr
+
// Destroy destroys the Control.
Destroy()
@@ -82,6 +87,10 @@ func NewControlBase(iface Control, c uintptr) ControlBase {
return b
}
+func (c *ControlBase) LibuiControl() uintptr {
+ return uintptr(unsafe.Pointer(c.c))
+}
+
func (c *ControlBase) Destroy() {
delete(controls, c.c)
C.uiControlDestroy(c.c)