void ofxGuiFiles::draw() { glPushMatrix(); glTranslatef(mObjX, mObjY, 0.0f); if(mParamName != "") drawParamString(0.0, 0.0, mParamName + ": " + ofToString(mNumberOfFiles, 0) + "/" + ofToString(mSelected + 1, 0), false); ofFill(); // background glColor4f(mGlobals->mCoverColor.r, mGlobals->mCoverColor.g, mGlobals->mCoverColor.b, mGlobals->mCoverColor.a); ofRect(mCtrX, mCtrY, mCtrWidth, mCtrHeight); if(mValue != "") drawParamString(mCtrX + mGlobals->mFilesXText, mCtrY + mGlobals->mFilesYText, mValue, false); ofNoFill(); // frame glColor4f(mGlobals->mFrameColor.r, mGlobals->mFrameColor.g, mGlobals->mFrameColor.b, mGlobals->mFrameColor.a); ofRect(mCtrX, mCtrY, mCtrWidth, mCtrHeight); glPopMatrix(); }
void ofxGuiSlider::draw() { glPushMatrix(); glTranslatef(mObjX, mObjY, 0.0); if(mParamName != "") drawParamString(0.0, 0.0, mParamName + ": " + floatToString(mValue, mDisplay), false); float x = (mCtrWidth * valueToFraction(mValue)); ofFill(); // background glColor4f(mGlobals->mCoverColor.r, mGlobals->mCoverColor.g, mGlobals->mCoverColor.b, mGlobals->mCoverColor.a); ofRect(mCtrX, mCtrY, mCtrWidth, mCtrHeight); // action glColor4f(mGlobals->mSliderColor.r, mGlobals->mSliderColor.g, mGlobals->mSliderColor.b, mGlobals->mSliderColor.a); ofRect(mCtrX, mCtrY, x, mCtrHeight); // handle glColor4f(mGlobals->mHandleColor.r, mGlobals->mHandleColor.g, mGlobals->mHandleColor.b, mGlobals->mHandleColor.a); ofRect(x, mCtrY, 1.0, mCtrHeight); ofNoFill(); // frame glColor4f(mGlobals->mFrameColor.r, mGlobals->mFrameColor.g, mGlobals->mFrameColor.b, mGlobals->mFrameColor.a); ofRect(mCtrX, mCtrY, mCtrWidth, mCtrHeight); glPopMatrix(); }
void ofxGuiButton::draw() { glPushMatrix(); glTranslatef(mObjX, mObjY, 0.0f); if(mParamName != "") drawParamString(mCtrWidth + mGlobals->mButtonXText, mGlobals->mButtonYText, mParamName, false); ofFill(); // background glColor4f(mGlobals->mCoverColor.r, mGlobals->mCoverColor.g, mGlobals->mCoverColor.b, mGlobals->mCoverColor.a); ofRect(mCtrX, mCtrY, mCtrWidth, mCtrHeight); if(mValue == 1) { // handle glColor4f(mGlobals->mButtonColor.r, mGlobals->mButtonColor.g, mGlobals->mButtonColor.b, mGlobals->mButtonColor.a); ofRect(mCtrX , mCtrY, mCtrWidth, mCtrHeight); } ofNoFill(); // frame glColor4f(mGlobals->mFrameColor.r, mGlobals->mFrameColor.g, mGlobals->mFrameColor.b, mGlobals->mFrameColor.a); ofRect(mCtrX, mCtrY, mCtrWidth, mCtrHeight); glPopMatrix(); }
void ofxGuiGrid::draw() { selectedColor(); glPushMatrix(); glTranslatef( mObjX, mObjY, 0.0f ); if ( bDblClickMode ) { this->dblClickImage->draw(); } else { if ( mParamName != "" ) { drawParamString( 0.0, 0.0, mParamName, false ); } ofFill(); //! Background //glColor4f( mGlobals->mCoverColor.r, mGlobals->mCoverColor.g, mGlobals->mCoverColor.b, mGlobals->mCoverColor.a ); ofNoFill(); //! Grids for ( int j = 0; j < mYGrid; j++ ) { for ( int i = 0; i < mXGrid; i++ ) { int index = i + j * mXGrid; ofNoFill(); if ( mSelectedId == index ) { drawSelectedRect( getGridX(i), getGridY(j), getGridWidth(), getGridHeight() ); } else { glColor4f( mGlobals->mFrameColor.r, mGlobals->mFrameColor.g, mGlobals->mFrameColor.b, mGlobals->mFrameColor.a ); //ofRect( mCtrX + mBorder + i * mSpacing + i * mGridWidth, // mCtrY + mBorder + j * mSpacing + j * mGridHeight, // mGridWidth, mGridHeight ); ofRect( getGridX(i), getGridY(j), getGridWidth(), getGridHeight() ); } if ( gridImages[index] != NULL ) { gridImages[index]->draw(); } } } } ofNoFill(); //! Frame glColor4f( mGlobals->mFrameColor.r, mGlobals->mFrameColor.g, mGlobals->mFrameColor.b, mGlobals->mFrameColor.a ); ofRect( mCtrX, mCtrY, mCtrWidth, mCtrHeight ); glPopMatrix(); if ( !bDblClickMode ) { for ( int i = 0; i < mObjects.size(); ++i ) { mObjects[i]->draw(); } } }
void ofxGuiFiles::draw() { glPushMatrix(); glTranslatef(mObjX, mObjY, 0.0f); if(mParamName != "") { char buf[256]; sprintf(buf, "%s: %f/%f", mParamName, mNumberOfFiles, mSelected+1); drawParamString(0.0, 0.0, buf, false); } ofFill(); // background //if( mSelected ) // glColor4f(mGlobals->mButtonColor.r, mGlobals->mButtonColor.g, mGlobals->mButtonColor.b, mGlobals->mButtonColor.a); //else // glColor4f(mGlobals->mCoverColor.r, mGlobals->mCoverColor.g, mGlobals->mCoverColor.b, mGlobals->mCoverColor.a); if(mState == 0) glColor4f(mGlobals->mCoverColor.r, mGlobals->mCoverColor.g, mGlobals->mCoverColor.b, mGlobals->mCoverColor.a); else if(mState == 1) glColor4f(0, 255, 0, 255); else if(mState == 2) glColor4f(255, 0, 0, 255); ofRect(mCtrX, mCtrY, mCtrWidth, mCtrHeight); if(mValue != "") drawParamString(mCtrX + mGlobals->mFilesXText, mCtrY + mGlobals->mFilesYText, mValue, false); ofNoFill(); // frame glColor4f(mGlobals->mFrameColor.r, mGlobals->mFrameColor.g, mGlobals->mFrameColor.b, mGlobals->mFrameColor.a); ofRect(mCtrX, mCtrY, mCtrWidth, mCtrHeight); glPopMatrix(); }
void ofxGuiColor::draw() { glPushMatrix(); glTranslatef(mObjX, mObjY, 0.0f); // color glColor4f(1, 1, 1, 1); ofRect(mCtrX, mCtrY-17, mCtrWidth, 17); ofFill(); glColor4f(0, 0, 0, 1); ofRect(mCtrX+1, mCtrY-16, mCtrWidth-2, 16); glColor4f(mValue.r, mValue.g, mValue.b, mValue.a); ofRect(mCtrX, mCtrY-16, mCtrWidth-1, 16); if(mParamName != ""){ if((mValue.a) < 0.4){ glColor4f(1, 1, 1, 1); mGlobals->mParamFont.drawString(mParamName + ": " + rgbaToString(mValue, mMode), 2+mGlobals->mParamFontXOffset, mGlobals->mParamFontYOffset); } else if((mValue.r+mValue.g+mValue.b+mValue.a) > 3.0){ glColor4f(0, 0, 0, 1); mGlobals->mParamFont.drawString(mParamName + ": " + rgbaToString(mValue, mMode), 2+mGlobals->mParamFontXOffset, mGlobals->mParamFontYOffset); } else drawParamString(2.0, 0.0, mParamName + ": " + rgbaToString(mValue, mMode), false); } glColor4f(1, 1, 1, 1); // background glColor4f(mGlobals->mCoverColor.r, mGlobals->mCoverColor.g, mGlobals->mCoverColor.b, mGlobals->mCoverColor.a); ofRect(mCtrX, mCtrY, mCtrWidth, mCtrHeight); float height = (mCtrHeight - 2.0 - mSize) / (float)mSize; float posY = mCtrY + 2.0; float posX = mCtrWidth * mValue.r; // r glColor4f(1.0, 0.0, 0.0, 0.8); ofRect(mCtrX, posY, posX, height); glColor4f(mGlobals->mHandleColor.r, mGlobals->mHandleColor.g, mGlobals->mHandleColor.b, mGlobals->mHandleColor.a); ofRect(posX, posY, 1.0, height); posY += 1.0 + height; posX = mCtrWidth * mValue.g; // g glColor4f(0.0, 1.0, 0.0, 0.8); ofRect(mCtrX, posY, posX, height); glColor4f(mGlobals->mHandleColor.r, mGlobals->mHandleColor.g, mGlobals->mHandleColor.b, mGlobals->mHandleColor.a); ofRect(posX, posY, 1.0, height); posY += 1.0 + height; posX = mCtrWidth * mValue.b; // b glColor4f(0.0, 0.0, 1.0, 0.8); ofRect(mCtrX, posY, posX, height); glColor4f(mGlobals->mHandleColor.r, mGlobals->mHandleColor.g, mGlobals->mHandleColor.b, mGlobals->mHandleColor.a); ofRect(posX, posY, 1.0, height); if(mMode == kofxGui_Color_RGBA) { posY += 1.0 + height; posX = mCtrWidth * mValue.a; // a glColor4f(1.0, 1.0, 1.0, 0.4); ofRect(mCtrX, posY, posX, height); glColor4f(mGlobals->mHandleColor.r, mGlobals->mHandleColor.g, mGlobals->mHandleColor.b, mGlobals->mHandleColor.a); ofRect(posX, posY, 1.0, height); } ofNoFill(); // frame glColor4f(mGlobals->mFrameColor.r, mGlobals->mFrameColor.g, mGlobals->mFrameColor.b, mGlobals->mFrameColor.a); ofRect(mCtrX, mCtrY, mCtrWidth, mCtrHeight); glPopMatrix(); }
void ofxGuiColor::draw() { glPushMatrix(); glTranslatef(mObjX, mObjY, 0.0f); if(mParamName != "") drawParamString(0.0, 0.0, mParamName + ": " + mValue.toString(mDisplay), false); ofFill(); // background glColor4f(mGlobals->mCoverColor.r, mGlobals->mCoverColor.g, mGlobals->mCoverColor.b, mGlobals->mCoverColor.a); ofRect(mCtrX, mCtrY, mCtrWidth, mCtrHeight); float height = (mCtrHeight - 2.0 - mSize) / (float)mSize; float posY = mCtrY + 2.0; float posX = mCtrWidth * mValue.r; // r glColor4f(1.0, 0.0, 0.0, 0.8); ofRect(mCtrX, posY, posX, height); glColor4f(mGlobals->mHandleColor.r, mGlobals->mHandleColor.g, mGlobals->mHandleColor.b, mGlobals->mHandleColor.a); ofRect(posX, posY, 1.0, height); posY += 1.0 + height; posX = mCtrWidth * mValue.g; // g glColor4f(0.0, 1.0, 0.0, 0.8); ofRect(mCtrX, posY, posX, height); glColor4f(mGlobals->mHandleColor.r, mGlobals->mHandleColor.g, mGlobals->mHandleColor.b, mGlobals->mHandleColor.a); ofRect(posX, posY, 1.0, height); posY += 1.0 + height; posX = mCtrWidth * mValue.b; // b glColor4f(0.0, 0.0, 1.0, 0.8); ofRect(mCtrX, posY, posX, height); glColor4f(mGlobals->mHandleColor.r, mGlobals->mHandleColor.g, mGlobals->mHandleColor.b, mGlobals->mHandleColor.a); ofRect(posX, posY, 1.0, height); if(mDisplay == kofxGui_Color_RGBA) { posY += 1.0 + height; posX = mCtrWidth * mValue.a; // a glColor4f(1.0, 1.0, 1.0, 0.4); ofRect(mCtrX, posY, posX, height); glColor4f(mGlobals->mHandleColor.r, mGlobals->mHandleColor.g, mGlobals->mHandleColor.b, mGlobals->mHandleColor.a); ofRect(posX, posY, 1.0, height); } ofNoFill(); // frame glColor4f(mGlobals->mFrameColor.r, mGlobals->mFrameColor.g, mGlobals->mFrameColor.b, mGlobals->mFrameColor.a); ofRect(mCtrX, mCtrY, mCtrWidth, mCtrHeight); glPopMatrix(); }
void ofxGuiMatrix::draw() { glPushMatrix(); glTranslatef(mObjX, mObjY, 0.0f); if(mParamName != "") drawParamString(0.0, 0.0, mParamName + ": " + ofToString(mValue), false); ofFill(); // background glColor4f(mGlobals->mCoverColor.r, mGlobals->mCoverColor.g, mGlobals->mCoverColor.b, mGlobals->mCoverColor.a); ofRect(mCtrX, mCtrY, mCtrWidth, mCtrHeight); ofNoFill(); // pads glColor4f(mGlobals->mFrameColor.r, mGlobals->mFrameColor.g, mGlobals->mFrameColor.b, mGlobals->mFrameColor.a); int s = mSpacing / 2; float x = mCtrX + s; float y = mCtrY + s; float w = (mCtrWidth - mSpacing) / mXGrid; float h = (mCtrHeight - mSpacing) / mYGrid; for(int i = 0; i < mYGrid; i++) { for(int j = 0; j < mXGrid; j++) { int index = j + (i * mXGrid); if((mBuffer[index] & kofxGui_Matrix_Set) == kofxGui_Matrix_Set) { ofFill(); glColor4f(mGlobals->mButtonColor.r, mGlobals->mButtonColor.g, mGlobals->mButtonColor.b, mGlobals->mButtonColor.a); ofRect(x + s, y + s, w - mSpacing, h - mSpacing); } if((mBuffer[index] & kofxGui_Matrix_Selected) == kofxGui_Matrix_Selected) { ofNoFill(); glColor4f(mGlobals->mMatrixColor.r, mGlobals->mMatrixColor.g, mGlobals->mMatrixColor.b, mGlobals->mMatrixColor.a); ofRect(x + s, y + s, w - mSpacing, h - mSpacing); } else if(mValue == index) { ofNoFill(); glColor4f(mGlobals->mAxisColor.r, mGlobals->mAxisColor.g, mGlobals->mAxisColor.b, mGlobals->mAxisColor.a); ofRect(x + s, y + s, w - mSpacing, h - mSpacing); } else { ofNoFill(); glColor4f(mGlobals->mFrameColor.r, mGlobals->mFrameColor.g, mGlobals->mFrameColor.b, mGlobals->mFrameColor.a); ofRect(x + s, y + s, w - mSpacing, h - mSpacing); } x += w; } y += h; x = mCtrX + s; } // frame glColor4f(mGlobals->mFrameColor.r, mGlobals->mFrameColor.g, mGlobals->mFrameColor.b, mGlobals->mFrameColor.a); ofRect(mCtrX, mCtrY, mCtrWidth, mCtrHeight); glPopMatrix(); }
void ofxGuiPoints::draw() { glPushMatrix(); glTranslatef(mObjX, mObjY, 0.0f); if(mParamName != "") drawParamString(0.0, 0.0, mParamName + ": " + pointToString(mList.activePoint != -1 ? mOutVal : mValue, mDisplay), false); ofxPoint2f p = fractionToLocal(valueToFraction(mValue)); float x = mCtrWidth * p.x; float y = mCtrHeight * p.y; float d = mGlobals->mPointSize; float r = d / 2.0; ofFill(); // background glColor4f(mGlobals->mCoverColor.r, mGlobals->mCoverColor.g, mGlobals->mCoverColor.b, mGlobals->mCoverColor.a); ofRect(mCtrX, mCtrY, mCtrWidth, mCtrHeight); ofNoFill(); // lines glColor4f(mGlobals->mCurveColor.r, mGlobals->mCurveColor.g, mGlobals->mCurveColor.b, mGlobals->mCurveColor.a); /* ofBeginShape(); for(int i = 0; i < mList.points.size(); i++) { ofxPoint2f p = fractionToLocal(valueToFraction(mList.points.at(i))); ofVertex(p.x, p.y); } ofEndShape(false); */ GLfloat* verts = new GLfloat[(int)mMaxVal.x*2]; for (int i = 0; i < mMaxVal.x; i++) { ofxPoint2f p = fractionToLocal(valueToFraction(bezier(mList.points, mList.points.size()-1, (float) i / (float) mMaxVal.x))); verts[i*2 ] = p.x; verts[i*2+1] = p.y; } glEnableClientState(GL_VERTEX_ARRAY); glVertexPointer(2, GL_FLOAT, 0, verts ); glDrawArrays( GL_LINE_STRIP, 0, mMaxVal.x); glDisableClientState(GL_VERTEX_ARRAY); // x-bar glColor4f(mGlobals->mAxisColor.r, mGlobals->mAxisColor.g, mGlobals->mAxisColor.b, mGlobals->mAxisColor.a); ofLine(p.x + 0.5, mCtrY, p.x + 0.5, mCtrBottom); if(mList.activePoint != -1) { // y-bar glColor4f(mGlobals->mAxisColor.r, mGlobals->mAxisColor.g, mGlobals->mAxisColor.b,mGlobals->mAxisColor.a); ofLine(mCtrX, p.y + 0.5, mCtrRight, p.y + 0.5); } // handles for(int i = 0; i < mList.points.size(); i++) { glColor4f(mGlobals->mHandleColor.r, mGlobals->mHandleColor.g, mGlobals->mHandleColor.b, mGlobals->mHandleColor.a); ofxPoint2f p = fractionToLocal(valueToFraction(mList.points.at(i))); ofRect(p.x - r, p.y - r, d, d); } // frame glColor4f(mGlobals->mFrameColor.r, mGlobals->mFrameColor.g, mGlobals->mFrameColor.b, mGlobals->mFrameColor.a); ofRect(mCtrX, mCtrY, mCtrWidth, mCtrHeight); glPopMatrix(); }
void ofxGuiKnob::draw() { glPushMatrix(); glTranslatef(mObjX, mObjY, 0.0); float w = mCtrWidth / 2; float h = mCtrHeight / 2; float x = mCtrX + w; float y = mCtrY + h; float v1 = 130.0f; float v2 = 280.0f; int resolution = 22; float angle, step, cosine, sine, xpos, ypos; if(mParamName != "") drawParamString(x, 0.0, mParamName, true); ofFill(); // background glColor4f(mGlobals->mCoverColor.r, mGlobals->mCoverColor.g, mGlobals->mCoverColor.b, mGlobals->mCoverColor.a); ofEllipse(x, y, w, h); // action glColor4f(mGlobals->mSliderColor.r, mGlobals->mSliderColor.g, mGlobals->mSliderColor.b, mGlobals->mSliderColor.a); step = (DEG_TO_RAD * valueToFraction(mValue) * v2) / (resolution - 1); angle = DEG_TO_RAD * v1; glBegin(GL_TRIANGLE_STRIP); for(int i = 0; i < resolution; i++) { cosine = cos(angle); sine = sin(angle); xpos = cosine * w; ypos = sine * h; glVertex2f(x + xpos, y + ypos); xpos = cosine * (w - mGlobals->mKnobSize); ypos = sine * (h - mGlobals->mKnobSize); glVertex2f(x + xpos, y + ypos); angle += step; } glEnd(); ofNoFill(); // handle glColor4f(mGlobals->mHandleColor.r, mGlobals->mHandleColor.g, mGlobals->mHandleColor.b, mGlobals->mHandleColor.a); angle = DEG_TO_RAD * v1; cosine = cos(angle); sine = sin(angle); ofLine(x + cosine * w, y + sine * h, x + cosine * (w - mGlobals->mKnobSize), y + sine * (h - mGlobals->mKnobSize)); angle = DEG_TO_RAD * (v1 + valueToFraction(mValue) * v2); cosine = cos(angle); sine = sin(angle); ofLine(x + cosine * w, y + sine * h, x + cosine * (w - mGlobals->mKnobSize), y + sine * (h - mGlobals->mKnobSize)); step = (DEG_TO_RAD * valueToFraction(mValue) * v2) / (resolution - 1); angle = DEG_TO_RAD * v1; glPushMatrix(); glTranslatef(x, y, 0.0); ofBeginShape(); for(int i = 0; i < resolution; i++) { xpos = cos(angle) * (w - mGlobals->mKnobSize); ypos = sin(angle) * (h - mGlobals->mKnobSize); ofVertex(xpos, ypos); angle += step; } ofEndShape(false); glPopMatrix(); // frame glColor4f(mGlobals->mFrameColor.r, mGlobals->mFrameColor.g, mGlobals->mFrameColor.b, mGlobals->mFrameColor.a); ofEllipse(x, y, w, h); drawValueString(x, y, floatToString(mValue, mDisplay)); glPopMatrix(); }