Merge branch 'master' into TimePath/scrollpanel
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / item.qh
1 #pragma once
2
3 // convenience
4 #include "skin.qh"
5 #include "draw.qh"
6 #include "menu.qh"
7
8 CLASS(Item, Object)
9         METHOD(Item, draw, void(Item));
10         METHOD(Item, keyDown, float(Item, float, float, float));
11         METHOD(Item, keyUp, float(Item, float, float, float));
12         METHOD(Item, mouseMove, float(Item, vector));
13         METHOD(Item, mousePress, bool(Item this, vector pos));
14         METHOD(Item, mouseDrag, float(Item, vector));
15         METHOD(Item, mouseRelease, float(Item, vector));
16         METHOD(Item, focusEnter, void(Item));
17         METHOD(Item, focusLeave, void(Item));
18         METHOD(Item, resizeNotify, void(Item, vector, vector, vector, vector));
19         METHOD(Item, relinquishFocus, void(Item));
20         METHOD(Item, showNotify, void(Item));
21         METHOD(Item, hideNotify, void(Item));
22         METHOD(Item, toString, string(Item));
23         METHOD(Item, destroy, void(Item));
24         ATTRIB(Item, focused, float, 0);
25         ATTRIB(Item, focusable, float, 0);
26         ATTRIB(Item, allowFocusSound, float, 0);
27         ATTRIB(Item, parent, entity);
28         ATTRIB(Item, preferredFocusPriority, float, 0);
29         ATTRIB(Item, origin, vector, '0 0 0');
30         ATTRIB(Item, size, vector, '0 0 0');
31         ATTRIB(Item, tooltip, string);
32 ENDCLASS(Item)