-#ifdef INTERFACE
-CLASS(XonoticCharmap) EXTENDS(XonoticPicker)
- METHOD(XonoticCharmap, configureXonoticCharmap, void(entity, entity))
- METHOD(XonoticCharmap, focusLeave, void(entity))
- METHOD(XonoticCharmap, resizeNotify, void(entity, vector, vector, vector, vector))
- METHOD(XonoticCharmap, keyDown, float(entity, float, float, float))
+#include "charmap.qh"
+#ifndef CHARMAP_H
+#define CHARMAP_H
+#include "picker.qc"
+CLASS(XonoticCharmap, XonoticPicker)
+ METHOD(XonoticCharmap, configureXonoticCharmap, void(entity, entity));
+ METHOD(XonoticCharmap, focusLeave, void(entity));
+ METHOD(XonoticCharmap, resizeNotify, void(entity, vector, vector, vector, vector));
+ METHOD(XonoticCharmap, keyDown, float(entity, float, float, float));
ATTRIB(XonoticCharmap, inputBox, entity, NULL)
ATTRIB(XonoticCharmap, realFontSize, vector, '0 0 0')
ATTRIB(XonoticCharmap, rows, float, 10)
ATTRIB(XonoticCharmap, columns, float, 14)
- METHOD(XonoticCharmap, cellSelect, void(entity))
- METHOD(XonoticCharmap, cellIsValid, bool(entity, vector))
- METHOD(XonoticCharmap, cellDraw, void(entity, vector, vector, float))
- METHOD(XonoticCharmap, charOffset, vector)
+ METHOD(XonoticCharmap, cellSelect, void(entity, vector));
+ METHOD(XonoticCharmap, cellIsValid, bool(entity, vector));
+ METHOD(XonoticCharmap, cellDraw, void(entity, vector, vector));
+ ATTRIB(XonoticCharmap, charOffset, vector, '0 0 0')
ENDCLASS(XonoticCharmap)
entity makeXonoticCharmap(entity controlledInputBox);
#endif
entity makeXonoticCharmap(entity controlledInputBox)
{
entity me;
- me = spawnXonoticCharmap();
+ me = NEW(XonoticCharmap);
me.configureXonoticCharmap(me, controlledInputBox);
return me;
}
return me.inputBox.keyDown(me.inputBox, key, ascii, shift);
}
-void XonoticCharmap_cellSelect(entity me)
+void XonoticCharmap_cellSelect(entity me, vector cell)
{
- string character = charmap_cellToChar(me, me.focusedCell);
+ string character = charmap_cellToChar(me, cell);
if(character != "")
+ {
me.inputBox.enterText(me.inputBox, character);
+ if(me.inputBox.applyButton)
+ me.inputBox.applyButton.disabled = false;
+ }
}
bool XonoticCharmap_cellIsValid(entity me, vector cell)
return true;
}
-void XonoticCharmap_cellDraw(entity me, vector cell, vector cellPos, float highlightedTime)
+void XonoticCharmap_cellDraw(entity me, vector cell, vector cellPos)
{
draw_CenterText(cellPos + me.charOffset, charmap_cellToChar(me, cell), me.realFontSize, SKINCOLOR_CHARMAP_CHAR, SKINALPHA_CHARMAP_CHAR, 0);
}