void Camera::updateFPS(float timeDelta) { FPS++; if (getMilliSec() - lastTimeMS >= 1000) { lastTimeMS = getMilliSec(); lastFPS = FPS; FPS = 0; } }
void UIButton::update(float timeDelta) { float _alpha = mAlpha; float _height = mHeight; float _width = mWidth; mTimeAccu += timeDelta; if (isAnimation) { long curTimeMs = getMilliSec(); float factor = (float)(curTimeMs - timeMsAniStart) / timeMsTotalForAni; if (aniStatus == UI_ANIM_IN) { _alpha = mAlpha * factor; _height = mHeight * sin(factor * 90 * PI / 180); _width = mWidth * sin(factor * 90 * PI / 180); if (curTimeMs - timeMsAniStart >= timeMsTotalForAni) { isAnimation = false; } } if (aniStatus == UI_ANIM_OUT) { factor = 1.0f - factor; _alpha = mAlpha * factor; _height = mHeight * sin(factor * 90 * PI / 180); _width = mWidth * sin(factor * 90 * PI / 180); if (curTimeMs - timeMsAniStart >= timeMsTotalForAni) { isAnimation = false; mIsVisible = false; } } } else if (nodeStatus == NODE_HOVER) { _height = mHeight * (0.96f + 0.04f * cos(mTimeAccu / 90.0f)); _width = mWidth * (0.96f + 0.04f * cos(mTimeAccu / 90.0f)); } uint32_t textureID = -1; if (nodeStatus == UINode::NODE_IDLE) textureID = textureID_idle; else if (nodeStatus == UINode::NODE_HOVER) textureID = textureID_hover; else if (nodeStatus == UINode::NODE_PRESS) textureID = textureID_press; float offset_x = (mWidth - _width) / 2.0f; float offset_y = (mHeight - _height) / 2.0f; vertices[0].x = mPosX + offset_x; vertices[0].y = mPosY + offset_y; vertices[1].x = mPosX + offset_x + _width; vertices[1].y = mPosY + offset_y; vertices[2].x = mPosX + offset_x + _width; vertices[2].y = mPosY + offset_y + _height; vertices[3].x = mPosX + offset_x; vertices[3].y = mPosY + offset_y + _height; if (nodeStatus == NODE_HOVER && mTimeAccu >= 600) { strcpy(UI::uiHintText, mText); UI::hintTextPosX = UI::getMouseX(); UI::hintTextPosY = UI::getMouseY(); } }
/* get time in string format * default format is: * "hh:mm::ss'ddd", * where: * hh - hour, * mm - minures, * ss - seconds, * ddd - miliseconds. */ rfc::String rfc::Time::getTimeString() const { /* if (isInfinity) return QString("infinity"); */ return String::toString(getHours()) + QString(":") + String::toString(getMinutes()) + QString(":") + String::toString(getSeconds()) + QString("'") + String::toString(getMilliSec()); } /* end of 'Time::getTimeString' function */
Camera::Camera() { anim = false; distance = 10.0f; distanceTo = distance; distanceDelta = 0.0f; rotate = Quaternion::fromEuler(0, 0, 0); camCenter = Vector3(0, 0, 0); lastTimeMS = getMilliSec(); FPS = 0; lastFPS = 0; ANIM_TIME_MS = 300.0; animTime = 0.0f; rotChange = false; centerChange = false; distChange = false; std::cout << "Camera Camera()" << std::endl; }
void UINode::appearIn(float timeMs) { isAnimation = true; timeMsAniStart = getMilliSec(); timeMsTotalForAni = timeMs; aniStatus = UI_ANIM_IN; mIsVisible = true; if(mChildNodes.size()>0) { for(mChildIter Child = mChildNodes.begin(); Child != mChildNodes.end(); Child++) { (*Child)->isAnimation = isAnimation; (*Child)->timeMsAniStart = timeMsAniStart; (*Child)->timeMsTotalForAni = timeMsTotalForAni; (*Child)->aniStatus = aniStatus; (*Child)->mIsVisible = mIsVisible; } } }
void UINode::appearOut(float timeMs) { isAnimation = true; timeMsAniStart = getMilliSec(); timeMsTotalForAni = timeMs; aniStatus = UI_ANIM_OUT; nodeStatus = NODE_IDLE; std::cout<<"UINode::appearOut "<<mChildNodes.size()<<std::endl; if(mChildNodes.size()>0) { for(mChildIter Child = mChildNodes.begin(); Child != mChildNodes.end(); Child++) { (*Child)->isAnimation = isAnimation; (*Child)->timeMsAniStart = timeMsAniStart; (*Child)->timeMsTotalForAni = timeMsTotalForAni; (*Child)->aniStatus = aniStatus; (*Child)->nodeStatus = NODE_IDLE; } } }