refactor menu callbacks and row/column adding

This commit is contained in:
Stephen Birarda 2013-04-10 16:07:46 -07:00
parent 88c2e9510d
commit b152d43f77
7 changed files with 16 additions and 19 deletions

View file

@ -111,7 +111,6 @@ void Menu::render(int screenWidth, int screenHeight) {
int mono = 0;
glColor3f(0.9, 0.9, 0.9);
int width = screenWidth;
int height = screenHeight;
glBegin(GL_QUADS); {
glVertex2f(0, 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;
pColumn = new MenuColumn(columnName);
columns.push_back(*pColumn);

View file

@ -15,7 +15,7 @@ public:
bool mouseOver(int x, int y);
void render(int screenwidth, int screenheight);
void renderColumn(int i);
MenuColumn* addColumn(char *columnName);
MenuColumn* addColumn(const char *columnName);
private:
std::vector<MenuColumn> columns;
int currentColumn;

View file

@ -101,7 +101,7 @@ int MenuColumn::getLeftPosition() {
return leftPosition;
}
int MenuColumn::addRow(char * rowName, PFNRowCallback callback) {
int MenuColumn::addRow(const char * rowName, MenuRowCallback callback) {
MenuRow* row;
row = new MenuRow(rowName, callback);
rows.push_back(*row);

View file

@ -16,8 +16,8 @@ public:
int getWidth();
int getLeftPosition();
void render(int yOffset, int menuHeight, int lineHeight);
void MenuColumn::renderMouseOver(int yOffset);
int addRow(char * rowName, PFNRowCallback callback);
void renderMouseOver(int yOffset);
int addRow(const char * rowName, MenuRowCallback callback);
private:
char columnName[MAX_COLUMN_NAME];
int columnWidth;

View file

@ -12,7 +12,7 @@
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));
strncpy(this->rowName, columnName, length);
memcpy(this->rowName + length, " \0", 5);

View file

@ -5,14 +5,12 @@ const int MAX_COLUMN_NAME = 50;
const int SPACE_BETWEEN_COLUMNS = 20;
const int SPACE_BEFORE_ROW_NAME = 10;
#define MenuCallBack CALLBACK
typedef int(MenuCallBack * PFNRowCallback)(int);
typedef int(*MenuRowCallback)(int);
class MenuRow {
public:
MenuRow();
MenuRow(char * rowName, PFNRowCallback);
MenuRow(const char * rowName, MenuRowCallback callback);
~MenuRow();
void call();
char * getName();
@ -21,7 +19,7 @@ public:
private:
char rowName[MAX_COLUMN_NAME];
int rowWidth;
PFNRowCallback callback;
MenuRowCallback callback;
};
#endif /* defined(__hifi__MenuRow__) */

View file

@ -855,7 +855,7 @@ void display(void)
frameCount++;
}
int MenuCallBack setValue(int state, int *value) {
int setValue(int state, int *value) {
if (state == -2) {
*value = !(*value);
} else if (state == -1) {
@ -866,15 +866,15 @@ int MenuCallBack setValue(int state, int *value) {
return *value;
}
int MenuCallBack setHead(int state) {
int setHead(int state) {
return setValue(state, &displayHead);
}
int MenuCallBack setField(int state) {
int setField(int state) {
return setValue(state, &displayField);
}
int MenuCallBack setNoise(int state) {
int setNoise(int state) {
int iRet = setValue(state, &noiseOn);
if (noiseOn) {
myAvatar.setNoise(noise);
@ -884,15 +884,15 @@ int MenuCallBack setNoise(int state) {
return iRet;
}
int MenuCallBack setStats(int state) {
int setStats(int state) {
return setValue(state, &statsOn);
}
int MenuCallBack setMenu(int state) {
int setMenu(int state) {
return setValue(state, &::menuOn);
}
int MenuCallBack setMirror(int state) {
int setMirror(int state) {
return setValue(state, &headMirror);
}