ofxGuiObject* ofxGuiPanel::addImage( int id, string name, int width, int height ) { int offset = (mObjects.size() == 0 && mParamName == "" ) ? 0 : mSpacing; ofxGuiImage* image = new ofxGuiImage(); image->init( id, name, mBorder, mObjHeight - mBorder + offset, width, height ); mObjects.push_back( image ); adjustToNewContent( image->mObjWidth, image->mObjHeight + offset ); return image; }
ofxGuiObject* ofxGuiPanel::addArrow( int id, string name, int width, int height, int direction, int arrowOffset ) { int offset = (mObjects.size() == 0 && mParamName == "" ) ? 0 : mSpacing; ofxGuiArrow* arrow = new ofxGuiArrow(); arrow->init( id, name, mBorder, mObjHeight - mBorder + offset, width, height, direction, arrowOffset ); mObjects.push_back( arrow ); adjustToNewContent( arrow->mObjWidth, arrow->mObjHeight + offset ); return arrow; }
ofxGuiObject* ofxGuiPanel::addGrid( int id, string name, int width, int height, int xGrid, int yGrid, int border, int spacing, int mode ) { int offset = (mObjects.size() == 0 && mParamName == "" ) ? 0 : mSpacing; ofxGuiGrid* grid = new ofxGuiGrid(); grid->init( id, name, mBorder, mObjHeight - mBorder + offset, width, height, xGrid, yGrid, border, spacing, mode ); mObjects.push_back( grid ); adjustToNewContent( grid->mObjWidth, grid->mObjHeight + offset ); return grid; }
ofxGuiObject* ofxGuiPanel::addLabel( int id, string name, int width, int height, string text, ofTrueTypeFont* font, ofRGBA color ) { int offset = (mObjects.size() == 0 && mParamName == "" ) ? 0 : mSpacing; ofxGuiLabel* label = new ofxGuiLabel(); label->init( id, name, mBorder, mObjHeight - mBorder + offset, width, height, text, font, color ); mObjects.push_back( label ); adjustToNewContent( label->mObjWidth, label->mObjHeight + offset ); return label; }
ofxGuiKnob* ofxGuiPanel::addKnob(int id, string name, int width, int height, float min, float max, float value, int display, int steps) { int offset = (mObjects.size() == 0 && mParamName == "") ? 0 : mSpacing; ofxGuiKnob* knob = new ofxGuiKnob(); knob->init(id, name, mBorder, mObjHeight - mBorder + offset, width, height, min, max, value, display, steps); mObjects.push_back(knob); adjustToNewContent(knob->mObjWidth, knob->mObjHeight + offset); return knob; }
ofxGuiMatrix* ofxGuiPanel::addMatrix(int id, string name, int width, int height, int xGrid, int yGrid, int value, int mode, int spacing) { int offset = (mObjects.size() == 0 && mParamName == "") ? 0 : mSpacing; ofxGuiMatrix* matrix = new ofxGuiMatrix(); matrix->init(id, name, mBorder, mObjHeight - mBorder + offset, width, height, xGrid, yGrid, value, mode, spacing); mObjects.push_back(matrix); adjustToNewContent(matrix->mObjWidth, matrix->mObjHeight + offset); return matrix; }
ofxGuiColor* ofxGuiPanel::addColor(int id, string name, int width, int height, ofRGBA value, int mode) { int offset = (mObjects.size() == 0 && mParamName == "") ? 0 : mSpacing; ofxGuiColor* color = new ofxGuiColor(); color->init(id, name, mBorder, mObjHeight - mBorder + offset, width, height, value, mode); mObjects.push_back(color); adjustToNewContent(color->mObjWidth, color->mObjHeight + offset); return color; }
ofxGuiFiles* ofxGuiPanel::addFiles(int id, string name, int width, int height, string value, string subPath, string suffix) { int offset = (mObjects.size() == 0 && mParamName == "") ? 0 : mSpacing; ofxGuiFiles* files = new ofxGuiFiles(); files->init(id, name, mBorder, mObjHeight - mBorder + offset, width, height, value, subPath, suffix); mObjects.push_back(files); adjustToNewContent(files->mObjWidth, files->mObjHeight + offset); return files; }
ofxGuiButton* ofxGuiPanel::addButton(int id, string name, int width, int height, bool value, int mode, string image = "") { int offset = (mObjects.size() == 0 && mParamName == "") ? 0 : mSpacing; ofxGuiButton* button = new ofxGuiButton(); button->init(id, name, mBorder, mObjHeight - mBorder + offset, width, height, value, mode, image); mObjects.push_back(button); adjustToNewContent(button->mObjWidth, button->mObjHeight + offset); return button; }
ofxGuiPoints* ofxGuiPanel::addPoints(int id, string name, int width, int height, ofxPoint2f min, ofxPoint2f max, ofxPoint2f value, int display, int steps) { int offset = (mObjects.size() == 0 && mParamName == "") ? 0 : mSpacing; ofxGuiPoints* points = new ofxGuiPoints(); points->init(id, name, mBorder, mObjHeight - mBorder + offset, width, height, min, max, value, display, steps); mObjects.push_back(points); adjustToNewContent(points->mObjWidth, points->mObjHeight + offset); return points; }
ofxGuiXYPad* ofxGuiPanel::addXYPad(int id, string name, int width, int height, ofxPoint2f min, ofxPoint2f max, ofxPoint2f value, int display, int steps) { int offset = (mObjects.size() == 0 && mParamName == "") ? 0 : mSpacing; ofxGuiXYPad* xypad = new ofxGuiXYPad(); xypad->init(id, name, mBorder, mObjHeight - mBorder + offset, width, height, min, max, value, display, steps); mObjects.push_back(xypad); adjustToNewContent(xypad->mObjWidth, xypad->mObjHeight + offset); return xypad; }
ofxGuiSlider* ofxGuiPanel::addSlider(int id, string name, int width, int height, float min, float max, float value, int display, int steps) { int offset = (mObjects.size() == 0 && mParamName == "") ? 0 : mSpacing; ofxGuiSlider* slider = new ofxGuiSlider(); slider->init(id, name, mBorder, mObjHeight - mBorder + offset, width, height, min, max, value, display, steps); mObjects.push_back(slider); adjustToNewContent(slider->mObjWidth, slider->mObjHeight + offset); return slider; }
ofxGuiScope* ofxGuiPanel::addScope(int id, string name, int width, int height, int length, ofxPoint2f value, int mode) { int offset = (mObjects.size() == 0 && mParamName == "") ? 0 : mSpacing; ofxGuiScope* scope = new ofxGuiScope(); scope->init(id, name, mBorder, mObjHeight - mBorder + offset, width, height, length, value, mode); mObjects.push_back(scope); adjustToNewContent(scope->mObjWidth, scope->mObjHeight + offset); return scope; }
ofxGuiObject* ofxGuiPanel::addSwitch(int id, string name, int width, int height, int min, int max, int value, const string* paramStrings, bool alignToRight) { int offset = (mObjects.size() == 0 && mParamName == "") ? 0 : mSpacing; ofxGuiSwitch* swtch = new ofxGuiSwitch(); swtch->init(id, name, mBorder, mObjHeight - mBorder + offset, width, height, min, max, value, paramStrings, alignToRight); mObjects.push_back(swtch); adjustToNewContent(swtch->mObjWidth, swtch->mObjHeight + offset); return swtch; }
void ofxGuiPanel::init(int id, string name, int x, int y, int border, int spacing) { int textHeight = (name == "") ? 2 * border : 2 * border +mGlobals->mHeadFontHeight; mParamId = id; mParamName = name; mObjX = x; mObjY = y; mBorder = border; mSpacing = spacing; adjustToNewContent(roundInt(mGlobals->mHeadFont.stringWidth(name)), textHeight); }