- switched the menu code over to the data types of the event system.

Note that this will require adjustment of all menu code which overrides the Responder method!
This commit is contained in:
Christoph Oelckers 2017-03-06 22:27:51 +01:00
commit 9d6b5f7015
16 changed files with 389 additions and 541 deletions

View file

@ -56,6 +56,7 @@
#include "menu/menu.h"
#include "textures/textures.h"
#include "virtual.h"
#include "events.h"
//
// Todo: Move these elsewhere
@ -173,15 +174,31 @@ DMenu::DMenu(DMenu *parent)
bool DMenu::CallResponder(event_t *ev)
{
IFVIRTUAL(DMenu, Responder)
if (ev->type == EV_GUI_Event)
{
VMValue params[] = { (DObject*)this, ev};
int retval;
VMReturn ret(&retval);
GlobalVMStack.Call(func, params, 2, &ret, 1, nullptr);
return !!retval;
IFVIRTUAL(DMenu, OnUIEvent)
{
FUiEvent e = ev;
VMValue params[] = { (DObject*)this, &e };
int retval;
VMReturn ret(&retval);
GlobalVMStack.Call(func, params, 2, &ret, 1, nullptr);
return !!retval;
}
}
else return false;
else
{
IFVIRTUAL(DMenu, OnInputEvent)
{
FInputEvent e = ev;
VMValue params[] = { (DObject*)this, &e };
int retval;
VMReturn ret(&retval);
GlobalVMStack.Call(func, params, 2, &ret, 1, nullptr);
return !!retval;
}
}
return false;
}
//=============================================================================