Xonotic
charmap.qc File Reference
#include "charmap.qh"
#include "inputbox.qh"
+ Include dependency graph for charmap.qc:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

string charmap_cellToChar (entity me, vector cell)
 
entity makeXonoticCharmap (entity controlledInputBox)
 
void XonoticCharmap_cellDraw (entity me, vector cell, vector cellPos)
 
bool XonoticCharmap_cellIsValid (entity me, vector cell)
 
void XonoticCharmap_cellSelect (entity me, vector cell)
 
void XonoticCharmap_configureXonoticCharmap (entity me, entity controlledInputBox)
 
void XonoticCharmap_focusLeave (entity me)
 
float XonoticCharmap_keyDown (entity me, float key, float ascii, float shift)
 
void XonoticCharmap_resizeNotify (entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
 

Variables

string CHARMAP
 

Function Documentation

◆ charmap_cellToChar()

string charmap_cellToChar ( entity  me,
vector  cell 
)

Definition at line 22 of file charmap.qc.

References CHARMAP, and substring().

Referenced by XonoticCharmap_cellDraw(), XonoticCharmap_cellIsValid(), and XonoticCharmap_cellSelect().

23 {
24  string character = substring(CHARMAP, cell.y * me.columns + cell.x, 1);
25 
26  if(character != " ")
27  return character;
28  else
29  return "";
30 }
string CHARMAP
Definition: charmap.qc:5
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ makeXonoticCharmap()

entity makeXonoticCharmap ( entity  controlledInputBox)

Definition at line 32 of file charmap.qc.

References entity(), and NEW.

33 {
34  entity me;
35  me = NEW(XonoticCharmap);
36  me.configureXonoticCharmap(me, controlledInputBox);
37  return me;
38 }
#define NEW(cname,...)
Definition: oo.qh:105
entity() spawn
+ Here is the call graph for this function:

◆ XonoticCharmap_cellDraw()

void XonoticCharmap_cellDraw ( entity  me,
vector  cell,
vector  cellPos 
)

Definition at line 95 of file charmap.qc.

References charmap_cellToChar(), and draw_CenterText().

96 {
97  draw_CenterText(cellPos + me.charOffset, charmap_cellToChar(me, cell), me.realFontSize, SKINCOLOR_CHARMAP_CHAR, SKINALPHA_CHARMAP_CHAR, 0);
98 }
string charmap_cellToChar(entity me, vector cell)
Definition: charmap.qc:22
+ Here is the call graph for this function:

◆ XonoticCharmap_cellIsValid()

bool XonoticCharmap_cellIsValid ( entity  me,
vector  cell 
)

Definition at line 88 of file charmap.qc.

References charmap_cellToChar().

89 {
90  if(charmap_cellToChar(me, cell) == "")
91  return false;
92  return true;
93 }
string charmap_cellToChar(entity me, vector cell)
Definition: charmap.qc:22
+ Here is the call graph for this function:

◆ XonoticCharmap_cellSelect()

void XonoticCharmap_cellSelect ( entity  me,
vector  cell 
)

Definition at line 77 of file charmap.qc.

References charmap_cellToChar().

78 {
79  string character = charmap_cellToChar(me, cell);
80  if(character != "")
81  {
82  me.inputBox.enterText(me.inputBox, character);
83  if(me.inputBox.applyButton)
84  me.inputBox.applyButton.disabled = false;
85  }
86 }
string charmap_cellToChar(entity me, vector cell)
Definition: charmap.qc:22
+ Here is the call graph for this function:

◆ XonoticCharmap_configureXonoticCharmap()

void XonoticCharmap_configureXonoticCharmap ( entity  me,
entity  controlledInputBox 
)

Definition at line 40 of file charmap.qc.

41 {
42  me.inputBox = controlledInputBox;
43  me.configureXonoticPicker(me);
44 }

◆ XonoticCharmap_focusLeave()

void XonoticCharmap_focusLeave ( entity  me)

Definition at line 100 of file charmap.qc.

101 {
102  me.inputBox.saveCvars(me.inputBox);
103 }

◆ XonoticCharmap_keyDown()

float XonoticCharmap_keyDown ( entity  me,
float  key,
float  ascii,
float  shift 
)

Definition at line 70 of file charmap.qc.

References SUPER.

71 {
72  if(SUPER(XonoticCharmap).keyDown(me, key, ascii, shift))
73  return 1;
74  return me.inputBox.keyDown(me.inputBox, key, ascii, shift);
75 }
#define SUPER(cname)
Definition: oo.qh:219

◆ XonoticCharmap_resizeNotify()

void XonoticCharmap_resizeNotify ( entity  me,
vector  relOrigin,
vector  relSize,
vector  absOrigin,
vector  absSize 
)

Definition at line 46 of file charmap.qc.

References eX, eY, and SUPER.

47 {
48  SUPER(XonoticCharmap).resizeNotify(me, relOrigin, relSize, absOrigin, absSize);
49 
50  float maxFontWidth = SKINFONTSIZE_NORMAL / absSize.x;
51  float maxFontHeight = SKINFONTSIZE_NORMAL / absSize.y;
52 
53  if((me.realCellSize.x * absSize.x) > (me.realCellSize.y * absSize.y))
54  {
55  me.realFontSize_x = me.realCellSize.y * absSize.y / absSize.x;
56  me.realFontSize_y = me.realCellSize.y;
57  }
58  else
59  {
60  me.realFontSize_x = me.realCellSize.x;
61  me.realFontSize_y = me.realCellSize.x * absSize.x / absSize.y;
62  }
63 
64  if(me.realFontSize.x > maxFontWidth || me.realFontSize.y > maxFontHeight)
65  me.realFontSize = eX * maxFontWidth + eY * maxFontHeight;
66 
67  me.charOffset = eX * me.realCellSize.x / 2 + eY * ((me.realCellSize.y - me.realFontSize.y) / 2);
68 }
const vector eY
Definition: vector.qh:45
#define SUPER(cname)
Definition: oo.qh:219
const vector eX
Definition: vector.qh:44

Variable Documentation

◆ CHARMAP

string CHARMAP
Initial value:
=
"★◆■▮▰▬◣◤◥◢◀▲▶▼"
"🌍🌎🌏🚀🌌👽🔫⌖❇❈←↑→↓"
"☠☣☢⚛⚡⚙🔥❌⚠⛔❰❱❲❳"
"😃😊😁😄😆😎😈😇😉😛😝😘❤ "
"😐😒😕😮😲😞😟😠😣😭😵😴 "
"\xEE\x83\xA1\xEE\x83\xA2\xEE\x83\xA3\xEE\x83\xA4\xEE\x83\xA5\xEE\x83\xA6\xEE\x83\xA7"
"\xEE\x83\xA8\xEE\x83\xA9\xEE\x83\xAA\xEE\x83\xAB\xEE\x83\xAC\xEE\x83\xAD\xEE\x83\xAE"
"\xEE\x83\xAF\xEE\x83\xB0\xEE\x83\xB1\xEE\x83\xB2\xEE\x83\xB3\xEE\x83\xB4\xEE\x83\xB5"
"\xEE\x83\xB6\xEE\x83\xB7\xEE\x83\xB8\xEE\x83\xB9\xEE\x83\xBA\xEE\x80\x90\xEE\x80\x91"
"\xEE\x82\xB0\xEE\x82\xB1\xEE\x82\xB2\xEE\x82\xB3\xEE\x82\xB4\xEE\x82\xB5\xEE\x82\xB6"
"\xEE\x82\xB7\xEE\x82\xB8\xEE\x82\xB9\xEE\x82\xA1\xEE\x82\xBF\xEE\x82\xA6\xEE\x82\xA5"
"\xEE\x83\x81\xEE\x83\x82\xEE\x83\x83\xEE\x83\x84\xEE\x83\x85\xEE\x83\x86\xEE\x83\x87"
"\xEE\x83\x88\xEE\x83\x89\xEE\x83\x8A\xEE\x83\x8B\xEE\x83\x8C\xEE\x83\x8D\xEE\x83\x8E"
"\xEE\x83\x8F\xEE\x83\x90\xEE\x83\x91\xEE\x83\x92\xEE\x83\x93\xEE\x83\x94\xEE\x83\x95"
"\xEE\x83\x96\xEE\x83\x97\xEE\x83\x98\xEE\x83\x99\xEE\x83\x9A\xEE\x81\x9B\xEE\x81\x9D"

Definition at line 5 of file charmap.qc.

Referenced by charmap_cellToChar().