- more direct native stuff, this is a week old but was almost forgotten.
This commit is contained in:
parent
e01306d403
commit
aef882c137
4 changed files with 62 additions and 30 deletions
|
|
@ -83,13 +83,22 @@ CVAR(Color, dimcolor, 0xffd700, CVAR_ARCHIVE)
|
|||
|
||||
|
||||
|
||||
DEFINE_ACTION_FUNCTION(DMenu, GetCurrentMenu)
|
||||
static DMenu *GetCurrentMenu()
|
||||
{
|
||||
return CurrentMenu;
|
||||
}
|
||||
|
||||
DEFINE_ACTION_FUNCTION_NATIVE(DMenu, GetCurrentMenu, GetCurrentMenu)
|
||||
{
|
||||
ACTION_RETURN_OBJECT(CurrentMenu);
|
||||
}
|
||||
|
||||
static int GetMenuTime()
|
||||
{
|
||||
return MenuTime;
|
||||
}
|
||||
|
||||
DEFINE_ACTION_FUNCTION(DMenu, MenuTime)
|
||||
DEFINE_ACTION_FUNCTION_NATIVE(DMenu, MenuTime, GetMenuTime)
|
||||
{
|
||||
ACTION_RETURN_INT(MenuTime);
|
||||
}
|
||||
|
|
@ -123,13 +132,17 @@ IMPLEMENT_CLASS(DMenuDescriptor, false, false)
|
|||
IMPLEMENT_CLASS(DListMenuDescriptor, false, false)
|
||||
IMPLEMENT_CLASS(DOptionMenuDescriptor, false, false)
|
||||
|
||||
DEFINE_ACTION_FUNCTION(DMenuDescriptor, GetDescriptor)
|
||||
DMenuDescriptor *GetMenuDescriptor(int name)
|
||||
{
|
||||
DMenuDescriptor **desc = MenuDescriptors.CheckKey(ENamedName(name));
|
||||
return desc ? *desc : nullptr;
|
||||
}
|
||||
|
||||
DEFINE_ACTION_FUNCTION_NATIVE(DMenuDescriptor, GetDescriptor, GetMenuDescriptor)
|
||||
{
|
||||
PARAM_PROLOGUE;
|
||||
PARAM_NAME(name);
|
||||
DMenuDescriptor **desc = MenuDescriptors.CheckKey(name);
|
||||
auto retn = desc ? *desc : nullptr;
|
||||
ACTION_RETURN_OBJECT(retn);
|
||||
ACTION_RETURN_OBJECT(GetMenuDescriptor(name));
|
||||
}
|
||||
|
||||
size_t DListMenuDescriptor::PropagateMark()
|
||||
|
|
@ -240,12 +253,16 @@ bool DMenu::CallMenuEvent(int mkey, bool fromcontroller)
|
|||
//
|
||||
//=============================================================================
|
||||
|
||||
DEFINE_ACTION_FUNCTION(DMenu, SetMouseCapture)
|
||||
static void SetMouseCapture(bool on)
|
||||
{
|
||||
if (on) I_SetMouseCapture();
|
||||
else I_ReleaseMouseCapture();
|
||||
}
|
||||
DEFINE_ACTION_FUNCTION_NATIVE(DMenu, SetMouseCapture, SetMouseCapture)
|
||||
{
|
||||
PARAM_PROLOGUE;
|
||||
PARAM_BOOL(on);
|
||||
if (on) I_SetMouseCapture();
|
||||
else I_ReleaseMouseCapture();
|
||||
SetMouseCapture(on);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -271,7 +288,13 @@ void DMenu::Close ()
|
|||
}
|
||||
}
|
||||
|
||||
DEFINE_ACTION_FUNCTION(DMenu, Close)
|
||||
|
||||
static void Close(DMenu *menu)
|
||||
{
|
||||
menu->Close();
|
||||
}
|
||||
|
||||
DEFINE_ACTION_FUNCTION_NATIVE(DMenu, Close, Close)
|
||||
{
|
||||
PARAM_SELF_PROLOGUE(DMenu);
|
||||
self->Close();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue