gzdoom/wadsrc/static/zscript/menu/menuitembase.txt
2017-02-11 16:11:48 +01:00

42 lines
1.5 KiB
Text

//=============================================================================
//
// base class for menu items
//
//=============================================================================
class MenuItemBase : Object native
{
protected native int mXpos, mYpos;
protected native Name mAction;
native bool mEnabled;
void Init(int xpos = 0, int ypos = 0, Name actionname = 'None')
{
mXpos = xpos;
mYpos = ypos;
mAction = actionname;
mEnabled = true;
}
virtual bool CheckCoordinate(int x, int y) { return false; }
virtual void Ticker() {}
virtual void Drawer(bool selected) {}
virtual bool Selectable() {return false; }
virtual bool Activate() { return false; }
virtual Name, int GetAction() { return mAction, 0; }
virtual bool SetString(int i, String s) { return false; }
virtual bool, String GetString(int i) { return false, ""; }
virtual bool SetValue(int i, int value) { return false; }
virtual bool, int GetValue(int i) { return false, 0; }
virtual void Enable(bool on) { mEnabled = on; }
// this can only be made scripted once all items are converted, because it is called from the colorpicker menu.
native virtual bool MenuEvent (int mkey, bool fromcontroller);// { return false; }
virtual bool MouseEvent(int type, int x, int y) { return false; }
virtual bool CheckHotkey(int c) { return false; }
virtual int GetWidth() { return 0; }
virtual void OffsetPositionY(int ydelta) { mYpos += ydelta; }
virtual int GetY() { return mYpos; }
virtual int GetX() { return mXpos; }
virtual void SetX(int x) { mXpos = x; }
}