mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-05-19 08:51:56 +02:00
refactor menu callbacks and row/column adding
This commit is contained in:
parent
88c2e9510d
commit
b152d43f77
7 changed files with 16 additions and 19 deletions
|
@ -111,7 +111,6 @@ void Menu::render(int screenWidth, int screenHeight) {
|
||||||
int mono = 0;
|
int mono = 0;
|
||||||
glColor3f(0.9, 0.9, 0.9);
|
glColor3f(0.9, 0.9, 0.9);
|
||||||
int width = screenWidth;
|
int width = screenWidth;
|
||||||
int height = screenHeight;
|
|
||||||
glBegin(GL_QUADS); {
|
glBegin(GL_QUADS); {
|
||||||
glVertex2f(0, MENU_Y_OFFSET);
|
glVertex2f(0, MENU_Y_OFFSET);
|
||||||
glVertex2f(width, MENU_Y_OFFSET);
|
glVertex2f(width, MENU_Y_OFFSET);
|
||||||
|
@ -135,7 +134,7 @@ void Menu::render(int screenWidth, int screenHeight) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
MenuColumn* Menu::addColumn(char *columnName) {
|
MenuColumn* Menu::addColumn(const char *columnName) {
|
||||||
MenuColumn* pColumn;
|
MenuColumn* pColumn;
|
||||||
pColumn = new MenuColumn(columnName);
|
pColumn = new MenuColumn(columnName);
|
||||||
columns.push_back(*pColumn);
|
columns.push_back(*pColumn);
|
||||||
|
|
|
@ -15,7 +15,7 @@ public:
|
||||||
bool mouseOver(int x, int y);
|
bool mouseOver(int x, int y);
|
||||||
void render(int screenwidth, int screenheight);
|
void render(int screenwidth, int screenheight);
|
||||||
void renderColumn(int i);
|
void renderColumn(int i);
|
||||||
MenuColumn* addColumn(char *columnName);
|
MenuColumn* addColumn(const char *columnName);
|
||||||
private:
|
private:
|
||||||
std::vector<MenuColumn> columns;
|
std::vector<MenuColumn> columns;
|
||||||
int currentColumn;
|
int currentColumn;
|
||||||
|
|
|
@ -101,7 +101,7 @@ int MenuColumn::getLeftPosition() {
|
||||||
return leftPosition;
|
return leftPosition;
|
||||||
}
|
}
|
||||||
|
|
||||||
int MenuColumn::addRow(char * rowName, PFNRowCallback callback) {
|
int MenuColumn::addRow(const char * rowName, MenuRowCallback callback) {
|
||||||
MenuRow* row;
|
MenuRow* row;
|
||||||
row = new MenuRow(rowName, callback);
|
row = new MenuRow(rowName, callback);
|
||||||
rows.push_back(*row);
|
rows.push_back(*row);
|
||||||
|
|
|
@ -16,8 +16,8 @@ public:
|
||||||
int getWidth();
|
int getWidth();
|
||||||
int getLeftPosition();
|
int getLeftPosition();
|
||||||
void render(int yOffset, int menuHeight, int lineHeight);
|
void render(int yOffset, int menuHeight, int lineHeight);
|
||||||
void MenuColumn::renderMouseOver(int yOffset);
|
void renderMouseOver(int yOffset);
|
||||||
int addRow(char * rowName, PFNRowCallback callback);
|
int addRow(const char * rowName, MenuRowCallback callback);
|
||||||
private:
|
private:
|
||||||
char columnName[MAX_COLUMN_NAME];
|
char columnName[MAX_COLUMN_NAME];
|
||||||
int columnWidth;
|
int columnWidth;
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
MenuRow::MenuRow() {
|
MenuRow::MenuRow() {
|
||||||
}
|
}
|
||||||
|
|
||||||
MenuRow::MenuRow(char * columnName, PFNRowCallback callback) {
|
MenuRow::MenuRow(const char * columnName, MenuRowCallback callback) {
|
||||||
int length = std::min(MAX_COLUMN_NAME - 5,(int) strlen(columnName));
|
int length = std::min(MAX_COLUMN_NAME - 5,(int) strlen(columnName));
|
||||||
strncpy(this->rowName, columnName, length);
|
strncpy(this->rowName, columnName, length);
|
||||||
memcpy(this->rowName + length, " \0", 5);
|
memcpy(this->rowName + length, " \0", 5);
|
||||||
|
|
|
@ -5,14 +5,12 @@ const int MAX_COLUMN_NAME = 50;
|
||||||
const int SPACE_BETWEEN_COLUMNS = 20;
|
const int SPACE_BETWEEN_COLUMNS = 20;
|
||||||
const int SPACE_BEFORE_ROW_NAME = 10;
|
const int SPACE_BEFORE_ROW_NAME = 10;
|
||||||
|
|
||||||
#define MenuCallBack CALLBACK
|
typedef int(*MenuRowCallback)(int);
|
||||||
|
|
||||||
typedef int(MenuCallBack * PFNRowCallback)(int);
|
|
||||||
|
|
||||||
class MenuRow {
|
class MenuRow {
|
||||||
public:
|
public:
|
||||||
MenuRow();
|
MenuRow();
|
||||||
MenuRow(char * rowName, PFNRowCallback);
|
MenuRow(const char * rowName, MenuRowCallback callback);
|
||||||
~MenuRow();
|
~MenuRow();
|
||||||
void call();
|
void call();
|
||||||
char * getName();
|
char * getName();
|
||||||
|
@ -21,7 +19,7 @@ public:
|
||||||
private:
|
private:
|
||||||
char rowName[MAX_COLUMN_NAME];
|
char rowName[MAX_COLUMN_NAME];
|
||||||
int rowWidth;
|
int rowWidth;
|
||||||
PFNRowCallback callback;
|
MenuRowCallback callback;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* defined(__hifi__MenuRow__) */
|
#endif /* defined(__hifi__MenuRow__) */
|
||||||
|
|
|
@ -855,7 +855,7 @@ void display(void)
|
||||||
frameCount++;
|
frameCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
int MenuCallBack setValue(int state, int *value) {
|
int setValue(int state, int *value) {
|
||||||
if (state == -2) {
|
if (state == -2) {
|
||||||
*value = !(*value);
|
*value = !(*value);
|
||||||
} else if (state == -1) {
|
} else if (state == -1) {
|
||||||
|
@ -866,15 +866,15 @@ int MenuCallBack setValue(int state, int *value) {
|
||||||
return *value;
|
return *value;
|
||||||
}
|
}
|
||||||
|
|
||||||
int MenuCallBack setHead(int state) {
|
int setHead(int state) {
|
||||||
return setValue(state, &displayHead);
|
return setValue(state, &displayHead);
|
||||||
}
|
}
|
||||||
|
|
||||||
int MenuCallBack setField(int state) {
|
int setField(int state) {
|
||||||
return setValue(state, &displayField);
|
return setValue(state, &displayField);
|
||||||
}
|
}
|
||||||
|
|
||||||
int MenuCallBack setNoise(int state) {
|
int setNoise(int state) {
|
||||||
int iRet = setValue(state, &noiseOn);
|
int iRet = setValue(state, &noiseOn);
|
||||||
if (noiseOn) {
|
if (noiseOn) {
|
||||||
myAvatar.setNoise(noise);
|
myAvatar.setNoise(noise);
|
||||||
|
@ -884,15 +884,15 @@ int MenuCallBack setNoise(int state) {
|
||||||
return iRet;
|
return iRet;
|
||||||
}
|
}
|
||||||
|
|
||||||
int MenuCallBack setStats(int state) {
|
int setStats(int state) {
|
||||||
return setValue(state, &statsOn);
|
return setValue(state, &statsOn);
|
||||||
}
|
}
|
||||||
|
|
||||||
int MenuCallBack setMenu(int state) {
|
int setMenu(int state) {
|
||||||
return setValue(state, &::menuOn);
|
return setValue(state, &::menuOn);
|
||||||
}
|
}
|
||||||
|
|
||||||
int MenuCallBack setMirror(int state) {
|
int setMirror(int state) {
|
||||||
return setValue(state, &headMirror);
|
return setValue(state, &headMirror);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue