From b152d43f774c2022c5ed52960f4aa876dee9ca34 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Wed, 10 Apr 2013 16:07:46 -0700 Subject: [PATCH] refactor menu callbacks and row/column adding --- interface/src/Menu.cpp | 3 +-- interface/src/Menu.h | 2 +- interface/src/MenuColumn.cpp | 2 +- interface/src/MenuColumn.h | 4 ++-- interface/src/MenuRow.cpp | 2 +- interface/src/MenuRow.h | 8 +++----- interface/src/main.cpp | 14 +++++++------- 7 files changed, 16 insertions(+), 19 deletions(-) diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index efbea9beab..a8c324ca79 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -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); diff --git a/interface/src/Menu.h b/interface/src/Menu.h index 4c12913c07..7b63b00fe4 100644 --- a/interface/src/Menu.h +++ b/interface/src/Menu.h @@ -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 columns; int currentColumn; diff --git a/interface/src/MenuColumn.cpp b/interface/src/MenuColumn.cpp index afc9e99570..6c66aefc06 100644 --- a/interface/src/MenuColumn.cpp +++ b/interface/src/MenuColumn.cpp @@ -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); diff --git a/interface/src/MenuColumn.h b/interface/src/MenuColumn.h index 4f55bbd14e..f7ce2853e5 100644 --- a/interface/src/MenuColumn.h +++ b/interface/src/MenuColumn.h @@ -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; diff --git a/interface/src/MenuRow.cpp b/interface/src/MenuRow.cpp index 7c1f75b847..121b17316a 100644 --- a/interface/src/MenuRow.cpp +++ b/interface/src/MenuRow.cpp @@ -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); diff --git a/interface/src/MenuRow.h b/interface/src/MenuRow.h index c477c856de..2d52295927 100644 --- a/interface/src/MenuRow.h +++ b/interface/src/MenuRow.h @@ -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__) */ diff --git a/interface/src/main.cpp b/interface/src/main.cpp index 9b744ce0f5..35c52b6e95 100644 --- a/interface/src/main.cpp +++ b/interface/src/main.cpp @@ -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); }