And readded some helper code for the containers.

This commit is contained in:
Pietro Gagliardi 2018-08-11 22:04:13 -04:00
parent c05fc0d645
commit acdea005c0
1 changed files with 9 additions and 0 deletions

View File

@ -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)