]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/xonotic/listbox.c
Merge branch 'master' into terencehill/music_player
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / listbox.c
1 #ifdef INTERFACE
2 CLASS(XonoticListBox) EXTENDS(ListBox)
3         METHOD(XonoticListBox, configureXonoticListBox, void(entity))
4         ATTRIB(XonoticListBox, fontSize, float, SKINFONTSIZE_NORMAL)
5         ATTRIB(XonoticListBox, scrollbarWidth, float, SKINWIDTH_SCROLLBAR)
6         ATTRIB(XonoticListBox, src, string, SKINGFX_SCROLLBAR)
7         ATTRIB(XonoticListBox, tolerance, vector, SKINTOLERANCE_SLIDER)
8         ATTRIB(XonoticListBox, rowsPerItem, float, 1)
9         METHOD(XonoticListBox, resizeNotify, void(entity, vector, vector, vector, vector))
10         ATTRIB(XonoticListBox, color, vector, SKINCOLOR_SCROLLBAR_N)
11         ATTRIB(XonoticListBox, colorF, vector, SKINCOLOR_SCROLLBAR_F)
12         ATTRIB(XonoticListBox, color2, vector, SKINCOLOR_SCROLLBAR_S)
13         ATTRIB(XonoticListBox, colorC, vector, SKINCOLOR_SCROLLBAR_C)
14         ATTRIB(XonoticListBox, colorBG, vector, SKINCOLOR_LISTBOX_BACKGROUND)
15         ATTRIB(XonoticListBox, alphaBG, float, SKINALPHA_LISTBOX_BACKGROUND)
16 ENDCLASS(XonoticListBox)
17 entity makeXonoticListBox();
18 #endif
19
20 #ifdef IMPLEMENTATION
21 entity makeXonoticListBox()
22 {
23         entity me;
24         me = spawnXonoticListBox();
25         me.configureXonoticListBox(me);
26         return me;
27 }
28 void XonoticListBox_configureXonoticListBox(entity me)
29 {
30         me.configureListBox(me, me.scrollbarWidth, 1); // item height gets set up later
31 }
32 void XonoticListBox_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
33 {
34         me.itemHeight = me.rowsPerItem * me.fontSize / absSize_y;
35         SUPER(XonoticListBox).resizeNotify(me, relOrigin, relSize, absOrigin, absSize);
36 }
37 #endif