(name string, rect *sdl.FRect, closeMethod int)
| 171 | } |
| 172 | |
| 173 | func NewMenu(name string, rect *sdl.FRect, closeMethod int) *Menu { |
| 174 | |
| 175 | menu := &Menu{ |
| 176 | Name: name, |
| 177 | Rect: &sdl.FRect{rect.X, rect.Y, 0, 0}, |
| 178 | MinSize: Vector{32, 32}, |
| 179 | Pages: map[string]*Container{}, |
| 180 | CloseMethod: closeMethod, |
| 181 | ResizeShape: NewShape(8), |
| 182 | Spacing: MenuSpacingNone, |
| 183 | Draggable: false, |
| 184 | } |
| 185 | |
| 186 | if menu.Name == "" { |
| 187 | menu.Name = strconv.Itoa(int(rand.Int31())) |
| 188 | } |
| 189 | |
| 190 | menu.closeButtonButton = NewIconButton(0, 0, &sdl.FRect{176, 0, 32, 32}, globals.GUITexture, false, func() { menu.Close() }) |
| 191 | menu.BackButton = NewIconButton(0, 0, &sdl.FRect{208, 0, 32, 32}, globals.GUITexture, false, func() { menu.SetPrevPage() }) |
| 192 | |
| 193 | menu.AddPage("root") |
| 194 | menu.SetPage("root") |
| 195 | |
| 196 | menu.Recreate(rect.W, rect.H) |
| 197 | |
| 198 | return menu |
| 199 | |
| 200 | } |
| 201 | |
| 202 | func (menu *Menu) Update() { |
| 203 |
no test coverage detected